which
javascript
&&
就是用來實現選擇性執行的,它表示若是前面的命令執行結果(不是表示終端輸出的內容,而是表示命令執行狀態的結果)返回0則執行後面的,不然不執行java
在這裏就是與
&&
相反的控制效果,當上一條命令執行結果爲≠0($?≠0)時則執行它後面的命令linux
which cowsay>/dev/null && cowsay -f head-in ohch~
ruby
which cowsay>/dev/null && echo "exist" || echo "not exist"
bash
管道是什麼,管道是一種通訊機制,一般用於進程間的通訊(也可經過socket進行網絡通訊),它表現出來的形式就是將前面每個進程的輸出(stdout)直接做爲下一個進程的輸入(stdin)。網絡
管道又分爲匿名管道和具名管道,咱們在使用一些過濾程序時常常會用到的就是匿名管道,在命令行中由|
分隔符表示,|
在前面的內容中咱們已經屢次使用到了。具名管道簡單的說就是有名字的管道,一般只會在源程序中用到具名管道。socket
-d :後面接分隔字符。與 -f 一塊兒使用; -f :依據 -d 的分隔字符將一段信息分割成爲數段,用 -f 取出第幾段的意思; -c :以字符 (characters) 的單位取出固定字符區間;
$ cut /etc/passwd -d ':' -f 1,6 (打印/etc/passwd
文件中以:
爲分隔符的第1個字段和第6個字段分別表示用戶名和其家目錄)/etc/passwd:# 前五個(包含第五個) $ cut /etc/passwd -c -5 # 前五個以後的(包含第五個) $ cut /etc/passwd -c 5- # 第五個 $ cut /etc/passwd -c 5 # 2到5之間的(包含第五個) $ cut /etc/passwd -c 2-5
-r
參數表示遞歸搜索子目錄中的文件工具
-n
表示打印匹配項行號ui
-I
表示忽略二進制文件spa
用於統計並輸出一個文件中行、單詞和字節的數目
# 行數 $ wc -l /etc/passwd # 單詞數 $ wc -w /etc/passwd # 字節數 $ wc -c /etc/passwd # 字符數 $ wc -m /etc/passwd # 最長行字節數 $ wc -L /etc/passwd
默認爲字典排序:
$ cat /etc/passswd | sort
反轉排序:
$ cat /etc/passwd | sort -r
按特定字段排序:
面的參數用於指定字段的分隔符,這裏是以":"做爲分隔符;用於指定對哪個字段進行排序。這裏文件的第三個字段爲數字,默認狀況下是以字典序排序的,若是要按照數字排序就要加上參數$ cat /etc/passwd | sort -t':' -k 3 -t-k 字段號/etc/passwd-n
uniq
命令能夠用於過濾或者輸出重複行。
uniq
命令只能去連續重複的行,不是全文去重
輸出重複過的行(重複的只輸出一個)及重複次數 $ history | cut -c 8- | cut -d ' ' -f 1 | sort | uniq -dc -c統計次數 -d顯示重複出現的行 # 輸出全部重複的行 $ history | cut -c 8- | cut -d ' ' -f 1 | sort | uniq -D