linux 管道命令

2021-08-07 15:35:41 字數 2357 閱讀 5078

1.啥是管道命令?

答:就是可以將資料可以來取自如的控制,篩選,或者想要導向**。

2.cut和grep  針對每行進行操作

cut:將資訊分割之後取想要的那一段

-d:分隔符

-f:取第幾段

-c:區間 例如 2-3   2-   -3

例如:echo $ | cut -d ":" -f 5     解釋:以「:」分割 取第五段    段號從1 開始

export | cut -c 12-

grep:按行分析資料

模板:grep [-acinv] [--color=auto] '搜尋字串' filename

-a 將binary檔案已text 檔案的方式搜尋資料

-c 計算查詢出的次數

-i 忽略大小寫

-n 輸出行號

-v 反向輸出,輸出不符合查詢條件的

-a 後面加數字,顯示後續的幾行

-b 後面加數字,顯示前面的幾行

--color=auto 將符合條件的地方加顏色

例如:last | grep 'root'

grep 'root' /etc/gefeng.txt

3.排序命令 sort,wc,uniq

sort:將每行進行排序

模板:sort [-fbmnrtuk] [file or stdin]

-f:忽略大小寫

-b:忽略前面的空格

-m:以月份的名字排序

-n:以數字進行排序

-r:反向排序

-u:相同的僅顯示一行

-t:分隔符

-k:以這個區間排序

例如:cat /etc/passwd | sort -t ':' -k 3 -n 解釋:  以:分割取第三個  按此部分排序

uniq:去重

uniq [-ic]

-i 忽略大小寫

-c 進行計數

例如:last | cut -d ' ' -f1 | sort | uniq -c  解釋:按空格分割 取第乙個  排序之後  去掉 重複的(一定要排序之後  在去重,否則會出現 有相同的)

wc 計算輸出的行數字數字符數

模板:wc [-lwm]

-l 行數

-w 單詞數量(按空格等字元隔開計算)

-m 字元數

cat wc.txt | wc -w

4.雙向重導向 tee

模板 :tee [-a] file

-a  累加 還是重新寫入

例如:cat wc.txt | tee -a cut.txt | grep 'a'  將wc.txt輸入到 cut.txt  然後還將輸送給grep 做搜尋

5.字元轉換命令 tr,col,join,paste,expand

tr:刪除替換資訊

模板:tr [-ds] 

-d 刪除

-s 替換 字元  (重點:字元  不是字串)

例如:cat /etc/passwd | tr -d ':'  解釋:將passwd 中的:刪除 並輸出到螢幕

cat /etc/passwd | tr -s [a-z] [a-z]   小寫變大寫

col:將tab建轉成空格

col -x 

join:處理兩個檔案

模板:join [-til2] file file2

-t 查詢相同的部分  以什麼符號分割

-i 不區分大小寫

-1 第乙個檔案用那部分對比

-2 第二個檔案用那些部分對比

例如 :join -t ":" -1 4 /etc/passwd -2 3 /etc/group | head -n 3  解釋:以:分割 第一檔案找第四部分第二檔案用第三部分

paste:將兩個檔案的每行資料 接起來

模板:paste [-d] file1 file2

-d 鏈結符

-:如果file 寫成- 表示來自,standard input

例如:paste -d "=" cut.txt wc.txt 

expand:將tab換成空格

-t 後面用幾個空格換tab

expand -t 4 file

6.分割槽命令 split

模板:split [-bl] file prefix

-b 分割槽檔案大小

-l 以行數進行區分

prefix 前導符

例如:split -l 2 cut.txt gefeng

cat cut.txt | split -l 2 - gefeng

7.引數代換xargs

模板:xargs [-oepn] command

例如:cat cut.txt | xargs ls -l     取出每行 作為引數  傳給後面的 命令

linux 管道命令

linux的命令列方式有著強大的功能,對於熟練的linux系統管理員來說,往往只需要通過各種技巧,組合構成一條複雜的命令,從而完成使用者任務。那麼一條複雜的linux命令怎樣構成呢?下面來介紹幾個技巧。利用輸入 輸出重定向 在linux命令列模式中,如果命令所需的輸出不是來自鍵盤,而是來自指定的檔案...

Linux管道命令

利用輸入 輸出重定向 在linux命令列模式中,如果命令所需的輸入不是來自鍵盤,而是來自指定的檔案,這就是輸入重定向。同理,命令的輸出也可以不顯示在螢幕上,而是寫入到指定檔案中,這就是輸出重定向。接下來看看標準輸入 輸出重定向在構造一條linux命令中的實際應用。1.輸入重定向和輸出重定向 wc a...

Linux管道命令

利用輸入 輸出重定向 在linux命令列模式中,如果命令所需的輸入不是來自鍵盤,而是來自指定的檔案,這就是輸入重定向。同理,命令的輸出也可以不顯示在螢幕上,而是寫入到指定檔案中,這就是輸出重定向。接下來看看標準輸入 輸出重定向在構造一條linux命令中的實際應用。1.輸入重定向和輸出重定向 wc a...