【unix學習】重定向、管道、連結檔案
重定向
不在顯示屏列印命令的錯誤資訊,當找不到檔案的時候,遮蔽了錯誤資訊。
2和>之間不要有空格
[s14516@gdufs]$find / -name 'stdio.h' 2> /dev/null
整合檔案內容
f1和f2的檔案內容合起來儲存在一個檔案
cat f1 f2 > f
標準輸入輸出 0 1 2
0 是一個檔案描述符,表示標準輸入(stdin)
1 是一個檔案描述符,表示標準輸出(stdout)
2 是一個檔案描述符,表示標準錯誤(stderr)
1>&2 意思是把標準輸出重定向到標準錯誤.
2>&1 意思是把標準錯誤輸出重定向到標準輸出。
首先讓描述符1指向輸出目標, 然後2複製1, 當然也指向同一個輸出目標, 這樣所有的輸出都到了同一個目標
&>filename 意思是把標準輸出和標準錯誤輸出都重定向到檔案filename中Redirecting stdin and stdout in One Command
Command < input-file > out-file
Redirecting stdout and stderr in One Command
Command > out-file 2>err-file
Command > out-file 2>&1
Command >& out-file
管道
豎線 |
前面的命令結果作為後面的輸入
組合一些簡單的命令
[[email protected]
翻頁檢視
[[email protected]]$ls -l | more
統計18點前的使用者個數
[[email protected]]$who | grep '^s14' | awk '$4~/18/' | wc -l
儲存中間結果
[[email protected]]$who | grep '^s14' | tee result | awk '$4~/18/' | wc -l
連結檔案
硬連結
[[email protected]]$ln /tmp/chapter3 chapter3.hard
在檔案索引上記錄的id是指向同一個檔案的索引節點,公用一個儲存空間
缺點:
不能跨系統建立連結
也不能建立資料夾的連結
這就是硬連結
軟連結
[[email protected]]$ln -s /tmp/chapter3 chapter3.soft
建立檔案索引分配一個新的索引節點
分配一個硬碟的儲存空間,這個儲存空間儲存的是連結檔案的內容
缺點:
當原檔案刪除了之後,連結檔案就不能使用了。
但是硬連結是可以繼續使用的。
但是可以跨系統,也可以針對目錄建立連結
[s14516@gdufs]$ls -l chapter3.soft
lrwxrwxrwx 1 s14516 stu 13 2017-10-18 20:29 chapter3.soft -> /tmp/chapter3
檔案型別為l,需要單獨維護這個檔案型別,也是缺點之一。
硬連結的檔案型別是普通檔案