Linux-文本工具

CentOS01

文件查看

文件查看命令:

cat,tac,rev

cat [OPTION]… [FILE]…

-E: 顯示行結束符$

-n: 對顯示出的每一行進行編號

-A:顯示所有控制符

-b:非空行編號

-s:壓縮連續的空行成一行

tac???? 行號反轉

rev???? 同行反轉

 

抽取文本的工具

文件內容:less和 cat

文件截?。篽ead和tail

按列抽取:cut

按關鍵字抽?。篻rep

 

顯示文本前或后行內容

head [OPTION]… [FILE]…

-c #: 指定獲取前#字節

-n #: 指定獲取前#行

-#: 指定行數

tail [OPTION]… [FILE]…

-c #: 指定獲取后#字節

-n #: 指定獲取后#行

-#:

-f: 跟蹤顯示文件fd新追加的內容,常用日志監控

相當于 –follow=descriptor

-F: 跟蹤文件名,相當于—follow=name –retry

tailf 類似tail –f,當文件不增長時并不訪問文件

 

生成12位字母數字組合的字符串

[root@centos7 data]#openssl rand -base64 30 | tr -dc ‘[:alnum:]’ | head -c 12

iskr3rzbvX2Z

 

查看ifconfig ens33的第2行

ifconfig ens33 | head -n2 | tail n1

 

按列抽取文本cut和合并文件paste

cut [OPTION]… [FILE]…

-d DELIMITER: 指明分隔符,默認tab

-f FILEDS:

#: 第#個字段

#,#[,#]:離散的多個字段,例如1,3,6

#-#:連續的多個字段, 例如1-6

混合使用:1-3,7

-c 按字符切割

–output-delimiter=STRING指定輸出分隔符

 

[root@centos7 data]#cut -d: -f 1,3,5-7 /etc/passwd

root:0:root:/root:/bin/bash

bin:1:bin:/bin:/sbin/nologin

daemon:2:daemon:/sbin:/sbin/nologin

adm:3:adm:/var/adm:/sbin/nologin

 

[root@centos7 data]#who | cut -c1-9

root

 

 

[root@centos6 ~]#chkconfig iptables off

[root@centos6 ~]#service iptables stop

 

[root@centos7 data]#systemctl stop firewalld

[root@centos7 data]#systemctl disable firewalld

 

rpm -ivh /mnt/Packages/httpd-2….rpm

service httpd start

vim /var/www/html/aaa.html

tail -f /var/log/httpd/access_log

第一列就是訪問本機web的ip地址

 

cut和paste

顯示文件或STDIN數據的指定列

cut -d: -f1 /etc/passwd

cat /etc/passwd | cut -d: -f7

cut -c2-5 /usr/share/dict/words

paste 合并兩個文件同行號的列到一行

paste [OPTION]… [FILE]…

-d 分隔符:指定分隔符,默認用TAB

-s : 所有行合成一行顯示

paste f1 f2

paste -s f1 f2

 

收集文本統計數據wc

計數單詞總數、行總數、字節總數和字符總數

可以對文件或STDIN中的數據運行

wc story.txt

39 237 1901 story.txt

行數 字數 字節數

常用選項

-l 只計數行數

-w 只計數單詞總數??? -連著寫的就算一個單詞

-c 只計數字節總數

-m 只計數字符總數

-L 顯示文件中最長行的長度

 

ls | wc -l

 

文本排序sort

把整理過的文本顯示在STDOUT,不改變原始文件

sort [options] file(s)

常用選項

-r 執行反方向(由上至下)整理

-R 隨機排序

-n 執行按數字大小整理

-f 選項忽略(fold)字符串中的字符大小寫

-u 選項(獨特,unique)刪除輸出中的重復行

-t c 選項使用c做為字段界定符

-k X 選項按照使用c字符分隔的X列來整理能夠使用多次

 

linux:#netstat -nt

 

win:>tasklist

netstat -no | find pid

 

統計有多少個IP訪問

[root@centos6 html]#cut -d ” ” -f1 /var/log/httpd/access_log | sort -u | wc -l

 

抽獎

[root@centos6 html]#seq 102 | sort -R | head -n1

22

 

取出passwd里的用戶名和UID,并按UID做倒序排序

[root@centos6 html]#cat /etc/passwd | cut -d: -f1,3 | sort -t: -k2 -nr

 

uniq

uniq命令:從輸入中刪除前后相接的重復的行

uniq [OPTION]… [FILE]…

-c: 顯示每行重復出現的次數

-d: 僅顯示重復過的行

-u: 僅顯示不曾重復的行

注:連續且完全相同方為重復

常和sort 命令一起配合使用:

sort userlist.txt | uniq -c

 

統計訪問量前10的ip,并統計每個ip訪問了多少次

[root@centos6 data]#cat /var/log/httpd/access_log |cut -d ” ” -f1 | sort | uniq -c |sort -nr | head

 

比較文件

比較兩個文件之間的區別

diff foo.conf foo2.conf

5c5

< use_widgets = no

> use_widgets = yes

注明第5行有區別(改變)

 

復制對文件改變patch

diff 命令的輸出被保存在一種叫做“補丁”的文件中

使用 -u 選項來輸出“統一的(unified)”diff格式文件,最適用于補丁文件

patch 復制在其它文件中進行的改變(要謹慎使用)

適用 -b 選項來自動備份改變了的文件

$ diff -u foo.conf foo2.conf > foo.patch

$ patch -b foo.conf foo.patch

 

Linux文本處理三劍客

grep:文本過濾(模式:pattern)工具

grep, egrep, fgrep(不支持正則表達式搜索)

sed:stream editor,文本編輯工具

awk:Linux上的實現gawk,文本報告生成器

 

grep

grep: Global search REgular expression and Print out the line

作用:文本搜索工具,根據用戶指定的“模式”對目標文本逐行進行匹配檢查;打印匹配到的行

模式:由正則表達式字符及文本字符所編寫的過濾條件

grep [OPTIONS] PATTERN [FILE…]

grep root /etc/passwd

grep “$USER” /etc/passwd

grep ‘$USER’ /etc/passwd

grep `whoami` /etc/passwd

 

grep命令選項

–color=auto: 對匹配到的文本著色顯示

-v: 顯示不被pattern匹配到的行

-i: 忽略字符大小寫

-n:顯示匹配的行號

-c: 統計匹配的行數

-o: 僅顯示匹配到的字符串

-q: 靜默模式,不輸出任何信息? 但有輸出的話$?=0,無輸出的話$?=1(非0)

-A #: after, 后#行

-B #: before, 前#行

-C #:context, 前后各#行

-e:實現多個選項間的邏輯or關系

grep -e ‘cat ’ -e ‘dog’ file

-w:匹配整個單詞?? 字母、數字、下劃線不能分隔單詞,其它都可以

-E:使用ERE

-F:相當于fgrep,不支持正則表達式

-f:跟文件,pattern的列表? grep -f pattern.txt /etc/passwd

 

nmap -v -sP 172.20.180.0/24 掃描一個網段,看有哪些機器開機了

nmap -v -sP 172.20.108.0/24 | grep -B1 “Host is up” ???? 有IP的行沒有特殊關鍵字,搜索”Host is up”,加參數-B1取其上一行即可

nmap -v -sP 172.20.108.0/24 | grep -B1 “Host is up” | grep report | cut -d ” ” -f5?? 將up的IP過濾出來

 

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95497

(1)
qjyqjy
上一篇 2018-04-08 19:41
下一篇 2018-04-08 20:00

相關推薦

  • shell腳本——條件性執行操作符

    linux的shell腳本中條件性操作符包括:“&&“” ,“||” ?兩種。 1.&& 代表條件性的AND THEN。(短路與) 2.|| 代表條件性的OR ELSE。(短路或) 釋例1:短路與(&&) (1) ? ? ? ? ? ?cmd1 && cmd2 假設1:cmd1為true(1),…

    2018-08-05
  • linux 第三篇

    腳本,文件管理

    Linux筆記 2018-06-01
  • 用戶、組和權限

    安全3A Authentication:認證 Authorization:授權 Accouting|Audition:審計 用戶user 令牌token,identity Linux用戶:username/UID 管理員:root,0(玉璽) 普通用戶:1-65535 系統用戶:1-499,1-999(centos7)(通關文牒) 對守護進程獲取資源進行權限…

    2018-04-04
  • 圖文表述find指令參數的用法以及tar指令的批量用法

    結合圖像形象化的解釋find指令find –maxdepth -mindepth, find -size以及tar指令的批量用法

    2018-04-15
  • 一些練習(4)

    一些練習(4) 1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 復制/etc/skel目錄為/home/tuser1 改權限 2、編輯/etc/group文件,添加組hadoop。 vim直接添加hadoop組 3、手動編輯/etc/passwd文件新增一行,添加用戶ha…

    2018-07-16
  • 計算機組成及其功能

    計算機主要有兩個組成,硬件和軟件; 硬件主要分為主機和外部設備; 主機: 主板:主板是電腦中各個部件工作的一個平臺,它把電腦的各個部件緊密連接在一起,各個部件通過主板進行數據傳輸。也就是說,電腦中重要的“交通樞紐”都在主板上,它工作的穩定性影響著整機工作的穩定性。 CPU:CPU即中央處理器,是一臺計算機的運算核心和控制核心。其功能主要是解釋計算機指令以及處…

    Linux筆記 2018-05-10
欧美性久久久久