硬鏈接:相當於一個文件取幾個名字。(硬鏈接實際上指同一個文件,不能鏈接目錄,且在同一個分區內。連接數=文件名的個數)。
創建一個新的硬鏈接:
#ln 已存在的 新建的
軟連接(又稱符號鏈接):相當於指針。(指針指向另一個文件)
創建一個新的軟鏈接:
#ln -s 已存在的文件(路徑) 鏈接文件名稱
軟硬鏈接的區別:
軟鏈接可以跨分區,而硬連接不可以。
硬鏈接共用一個節點,且同一個文件可以有幾個文件名,軟連接不使用節點作爲文件 指針,而是使用路徑名作爲指針。
軟連接可以連接目錄。
file命令用法:
-b:列出文件類型不顯現文件名稱。
-c:詳細顯示指令執行過程。
-f:批量處理。(把所要處理的文件的名稱寫入一個文件中纔能有)
-F:使用指定分隔符替換輸出文件後默認的“:”.
file -F "---" -f 文件名
-i :輸出編碼機制
-l :查看軟鏈接所指文件的類型。
程序有指令加數據組成。
輸入的數據流:標準輸入 (stdin)鍵盤 0
輸出的數據流:標準輸出 (stdout)顯示器 1
錯誤的數據流:錯誤輸入 (stderr)顯示器 2
輸出重定向:>
> :表示把輸出的結果輸入到某個文件中或顯示到某個終端上。
> :輸出的是正確結果(指針報錯不輸出)。
2> :輸出的是錯誤結果(執行結果報錯是輸出)。
&> : 表示兩者都。
>> :把執行的結果追加到文件中。(執行正確的結果)
2>> :追加執行錯誤的信息到文件中。
*>> :表示以上兩者都。
set -c :禁止文件覆蓋:
set +c : 可以覆蓋
(都只對當前的終端有效)
輸入重定向 < :指不使用系統提供的標準輸入,從其他的文件輸入。
(無論輸入輸出重定向都是以 < 開口方向爲輸入方,箭頭所指的爲輸出方)
tr :轉換
#tr "abc" "ABC" < /testdir/aa 把/testdir目錄下aa文件中的小寫的abc轉換成大寫
-d :刪除所有字符集的的字符。
-s :把連續重複的支付合成一個支付。
-c :把 “$”的補集替換成“*”。
-t : 字符集1中的字符一一對應字符集2中的字符
管道 | :
管道實現將前一個命令的輸出直接定向到後一個命令的輸入。
命令1 | 命令2 | 命令3
tee :命令
# 命令1 | tee 文件名 | 命令2
可以保存一份數據流,還可以在重定向或管道中再傳輸一份數據流,把數據一分爲二保 存不同階段的輸出