Linux 高階命令進階(一)
Linux 高階命令進階
(一)輸出重定向
1、 > :覆蓋輸出,會覆蓋掉原先的文件內容
# vim test
# cat test
this is ken
# echo “this is oscar” > test
# cat test
this is oscar
2、 >> :追加輸出,不會覆蓋原始文件內容,會在原始內容末尾繼續添加
# echo “this is ken” >> test
# cat test
this is oscar
this is ken
3、 2> :錯誤輸出,會覆蓋掉原先的文件內容
2>> :錯誤追加輸出,會覆蓋掉原始文件內容,會在原始內容末尾繼續添加
4、 &> :將標準輸出與錯誤輸出共同寫入到文件中。覆蓋原有內容
&>> :將標準輸出與錯誤輸出共同寫入到文件中(追加到原有內容的後面)
(二)輸入重定向
# wc -l < /etc/passwd
(三)管道符 “|” :作用是把前一個命令原本要輸出到屏幕的標準正常數據當作是後一個命令的標準輸入。把前一個命令的執行結果交給“|”再運行一次。
# cat /etc/passwd | grep "root" | wc -l
(四)通配符:
通配符就是通用的匹配信息的符號,比如
1、 星號(*)代表匹配零個或多個字符(可以為0個)
# ls /dev/sd* :查看dev 目錄下以 sd 開頭的所有文件。
2、 問號(?)代表匹配單個字符(單個字符必須存在)
# ls /dev/sd? :查看dev 目錄下以 sd 開頭,後面有一個字符的所有文件。
# ls /dev/sd?? :查看dev 目錄下以 sd 開頭,後面有兩個字符的所有文件。
3、 中括號內加上數字[0-9]代表匹配0~9之間的單個數字的字符,
# ls /dev/sd [12] :查看dev 目錄下以 sd 開頭,後面分別有一個字符和兩個 字符的所有文件。
4、 中括號內加上字母[abc]則是代表匹配a、b、c三個字符中的任意一個字符。
# ls /dev/sda[a-z] :查看dev下以sda開頭,後面跟上字母的文件
(五)三種引號的作用
1、 單引號(‘‘):轉義其中所有的變量為單純的字符串。
2、 雙引號(""):保留其中的變量屬性,不進行轉義處理。
3、 反引號(``):把其中的命令執行後返回結果。
單引號中的特殊符號失去其特殊作用。雙引號中的部分失去作用,如# $ 依舊生效。
反引號中的:# echo `ls` 引號中的先執行再輸出。
(六)軟連接和硬連接
【軟鏈接相當於快捷方式,硬鏈接相當於復制粘貼】
創建完成後,源文件、軟鏈接和硬鏈接均可以查看到文件內容。
編輯源文件,軟、硬鏈接跟著動。
刪除源文件,軟鏈接失效,硬鏈接無影響。再重新建一個與源文件同名的文件,軟鏈接就直接鏈接到新的文件,而硬鏈接不變。因為軟鏈接是按著名稱進行鏈接。
1、 軟連接:
ln - s 原路徑 目標路徑
特點:
1、就是相當於win中的快捷方式
2、刪除鏈接文件,源文件無影響
3、刪除源文件,鏈接文件失效
4、修改源文件\鏈接文件,內容都發生改變
2、 硬鏈接:ln 源文件 目標文件
總結:
1、刪除鏈接文件,源文件無影響
2、刪除源文件,鏈接文件無影響
3、修改源文件\鏈接文件,內容都發生改變
(七)一切從“/”開始:
在Linux系統中並不存在C/D/E/F等盤符,Linux系統中的一切文件都是從“根(/)”目錄開始的,並按照文件系統 層次化標準(FHS)采用樹形結構來存放文件,以及定義了常見目錄的用途。
另外,Linux系統中的文件和目錄名稱是嚴格區分大小寫的。
# grep root /etc/passwd
;順序執行
Mkdir cjk && cd cjk : 邏輯執行,,前者執行成功後者執行,,前者失敗後者不執行。
ls || echo 1 :前者不執行則後者執行,前者執行後者不執行。
單引號中的特殊符號失去其特殊作用。雙引號中的部分失去作用,如# $ 依舊生效。
反引號中的:# echo `ls` 引號中的先執行再輸出。
Linux 高階命令進階(一)