1. 程式人生 > >Linux20180424五周第五次課(4月24日)

Linux20180424五周第五次課(4月24日)

shell 命令以及特殊符號

五周第五次課(4月24日)

8.10 shell特殊符號cut命令
8.11 sort_wc_uniq命令
8.12 tee_tr_split命令
8.13 shell特殊符號下
相關測驗題目:http://ask.apelearn.com/question/5437
擴展
1. source exec 區別 http://alsww.blog.51cto.com/2001924/1113112
2. Linux特殊符號大全http://ask.apelearn.com/question/7720
3. sort並未按ASCII排序 http://blog.csdn.net/zenghui08/article/details/7938975



技術分享圖片


\脫義符號,作用和之前說過的單引號差不多,都是不解析,直接輸出。

echo \$a\$b

技術分享圖片



技術分享圖片


| head -n 將管道符前面的cat的文件的前n行取出來

技術分享圖片


cut

-d "分隔符"

-f 選取第幾段

-c 選取第幾個字符


cut -d ":" -f 1-3

以:為分隔符,選取1-3行

技術分享圖片

技術分享圖片

技術分享圖片


sort 排序

技術分享圖片

可以看一下特殊符號,數字,字母的排序。

技術分享圖片

特殊符號排最前面,其次是數字,最後是字母,*會認為是0


-n參數的時候,會以數字大小去排序,但是字母和特殊符號被認為是0所以會在數字前面


技術分享圖片


-r反序排序


-t分隔符 -kn1/-kn1,n2


wc -l wc是word count 數單詞的 -l 是行的意思 所以 wc -l 是 統計多少行

技術分享圖片


wc -m 統計字符數,因為每一行會有一個換行符,所以每行會多一個字符

技術分享圖片

-w 統計詞 word

技術分享圖片 以空格或者空字符來區分的



uniq 去重,需要先排序把相同的放在一起,才使用去重。因為不排在一起無法直接uniq去重。看下圖

技術分享圖片

所以就需要先排序,再去重。先用sort 將所有的重新排序,再用管道符uniq去重。如下圖。

技術分享圖片

uniq -c 統計重復次數,如下圖

技術分享圖片

sort和uniq一般連著用比較多


sort uniq wc等都不會對文件本身的內容做出更改



tee和重定向>類似,會把結果打印到屏幕上 如果後面加上文件名會將前面的結果寫入到後面的文件中

技術分享圖片

技術分享圖片



tee -a 就是追加 類似 >>

技術分享圖片


tr替換字符, | tr "xx" "mmm" 將管道符前面的字符中的xx換成mmm。 如果想把所有的小寫換成大寫,可以寫成 tr '[a-z]' '[A-Z]' 是一一對應的

技術分享圖片


技術分享圖片



split 切割文件 -b 跟大小 默認單位是字節 -l 跟行數 b就是以大小為單位切割 l就是以行為大小切割

例如log文件日積月累,越來越大就需要給切割成若個小的文件

可以從下圖看到,切割成了很多個文件




技術分享圖片

du -sh * 查看每一個都是4k的原因是以塊顯示

技術分享圖片

du -sb * 以字節顯示,可以看到都是以字節顯示的了,按照上面切割時候的大小 1000bite

技術分享圖片

如果不指定切割的文件名,最後出來的文件都是以x開頭後面從a開始接,接到z之後再從b開始,如果不夠用就往後加長度。


技術分享圖片


不僅僅是可以用-b指定大小,還可以同時指定名字的前綴。

技術分享圖片


然後是-l 來以行為單位切割文件 可以看到6081行的文件切割成了7個文件 6個1000 1一個81


技術分享圖片



















shell特殊符號

技術分享圖片

多條命令的情況

技術分享圖片

技術分享圖片

技術分享圖片


|| 或 表示如果第一個命令不成功才執行第二個命令,當然不局限於兩個命令之間,可以一直往下進行

技術分享圖片

因為第一個執行成功了,所以第二個沒有執行

技術分享圖片

&& 與,表示但凡遇到一個不成立的,後面都不再執行了。

技術分享圖片

技術分享圖片


生活中的場景,shell腳本,想創建一個目錄,首先判斷這個目錄是否存在。

[ -d jiabin] || mkdir jiabin

jiabin是否是一個目錄,前面執行失敗,也就是沒有這個目錄的時候,後面才會進行mkdir的操作


技術分享圖片

Linux20180424五周第五次課(4月24日)