天天看點

建構自動化運維典型環境(下)重定向:

grep/egrep:基于文本内容查找

grep -E=egrep

排除隐藏去掉取消不顯示注釋行井号行和空行

egrep -v "^$|#" /usr/....../httpd.conf

注:^代表開頭,$代表結尾。^$代表空行。

查找某個目錄下10天前修改過的檔案:

find[目錄] -mtime +10   m=motify

3天内修改過的檔案:

find [目錄] -mtime -3

查找目錄下的所有檔案中是否包含指定字元串:

find . | xargs grep -ri  "IBM"

查找目錄下的所有檔案中是否包含有某個字元串,并且隻列印出檔案名

find . | xargs grep -ril  "IBM"

cut:文本/屏顯的切割指令:能接收管道,也能直接操作文本按行處理

預設以制表符作為分隔符

-b 按位元組切割(byte)

-c 按字元切割(character)

-f 按字段切割(field)

-d 指定分隔符(輸入、輸出)

範圍的表示方法

N 隻有第N項
N- 從第N項一直到行尾
N-M 從第N項到第M項(包括M)
-M 從一行的開始到第M項
- 從一行的開始到結束的所有項

cut和awk的一些差別:

             ——cut預設不會忽略空格和制表符(全是field字段)

            ——awk預設把空格、制表符全看作輸入分隔符(非field字段)

cut如何輸入制表符:先按ctrl+v,再按tab

重定向:

标準輸入0 标準輸出1 标準錯誤2

1、标準輸出 重定向

     >:把标準輸出 重定向到新檔案

           标準錯誤不适用,會覆寫已有檔案

   >>:追加符,不覆寫原有檔案

 tee:類似大于号,但隻從管道接收資料

tee -a:類似追加符>>

tee和tee -a都會屏顯,大于号、追加符不屏顯

總結:tee類似>(輸出重定向符)

tee -a類似>>

     a意為append——附加、增補

tee和>的差別:重定向時會屏顯;從管道接收資料

tee可以同時重定向到多個檔案

指令1|tee file.txt|指令2:将指令1的結果既儲存到file.txt中,也傳遞給指令2,并屏顯指令2的結果。

2、标準輸入重定向:<   <<     tr

< 指定輸入檔案

<<等待使用者輸入,需指定一個結束符,常用為EOF或EOD

結合cat使用:cat > file <<END

tr:轉換或删除字元

隻處理字元,而非單行單列

隻顯示處理結果,不修改原檔案

隻從管道接收資料(同tee)

替換字元并顯示

重定向中等價的幾個指令:

指令 > /dev/null 2>&1

指令 >& /dev/null

指令 &> /dev/null

sort:預設ASCII碼排列,從左到右讀取字元

          -r:倒序排列

         -n:按數字排列

         -t:指定分隔符,如-t:指定分隔符為冒号

        -k:指定列,如-k3 -n代表第3列按數字排序

uniq:去重複行,壓縮成一行

          -c count:去重複行并統計重複行的數量

wc -l:統計行數

錨定符:與正則的差別:前後不能有其它字元,正則可以

      \<字元串\>

      \b字元串\b

補充:正規表達式:/正則比對/

eg:/abc/    /abcc/都符合條件,但/abbc/就不是。

----------------------------------------

head:前幾行

head -5表示前5行

tail:最後幾行

tail -5表示最後5行

tail -f表示一直重新整理最後的

繼續閱讀