Linux學習筆記二十一:pipe_io


         在Linux的開發有一條很經典的法則就是不要重複發明輪子,在Linux上面做東西如果說一切從頭開始是沒有必要的,因爲是開源的,所以我們完全可以運用別人創建的東西完善自己的東西。

         管道和重定向簡單的理解就是對輸出輸入的數據進行再次操作,使之最後達到再求的結果和格式,因此這就涉及到了多個命令的配合操作,多命令的協作,各個程序之間實現交互。

Linux提供的管理與重定向就是通過多命令協作實現標準的輸入輸出。

         管道重定向是爲了規定shell標準輸出的格式及輸出位置

>指定結果輸出位置(覆蓋)

>>指定結果輸出位置(追加)

2>指定標準錯誤的輸出位置

2>&1將標準錯誤和標準輸出結合在一起輸出

<重定向標準輸出 將指定文件導出顯示

| 管道,將一個命令的標準輸出作爲一個命令的標準輸入

ls -l | grep linuxcast

所有重定向到/dev/null文件的信息都會被自動丟掉

 

幾個常用的例子:

1.將指定目錄下的文件詳細信息保存到1.txt文件中:

touch 1.txt | ls –al >1.txt

2.顯示最近root用戶的登錄次數

last | grep root| wc –l

3.將 1.txt中的文件導出並查找包含了ssh的文件名稱

ls –al <1.txt|find –name *ssh*

3.按ID反向排序查看所用戶

sort

語法:[root @test /root ]# sort [-t 分隔符] [(+起始)(-結束)] [-nru]

參數說明:

-t 分隔符:使用分隔符來隔開不同區間,預設是tab

+start -end:由第 start 區間排序到 end 區間

-n :使用『純數字』排序(否則就會以文字型態來排序)

-r :反向排序

-u :相同出現的一行,只列出一次!

cat /etc/passwd | sort –t :+2 -3 –r

4.將該系統上所有用戶的名稱追加到表1.txt文件中

cut

語法:[root @test /root ]# cut -d "分隔字符" [-cf]fields

參數說明:

-d :後面接的是用來分隔的字符,預設是『空格符』

-c :後面接的是『第幾個字符』

-f :後面接的是第幾個區塊?

cat /etc/passwd |cut –d “:” –f 1>>1.txt

 

 

發佈了43 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章