shell--1--linux基本命令diff cut sort uniq test patch修復文件 &&和||

diff中常用的參數

-b  不檢查空格字符的不同

-B 不檢查空白行

-c 顯示全部內容,並標出不同處

-i 不檢查大小寫的不同

-p 若比較的文件爲c語言的程序碼文件是顯示差異所在的函數名稱

-q  僅顯示有無差異不顯示詳細的信息

-r 比較子目錄中的文件

目錄下建立westos/westos1  wesots1/westos1 目錄名稱相同,所以diff比較沒有區別,加上-r會遞歸比較目錄下的內容

-u 以合併的方式來顯示文件內容的不同

patch修復文件

patch指令讓用戶利用設置修補文件的方式,修改,更新原始文件。倘若一次僅修改一個文件,可直接在指令列中下達指令依序執行。如果配合修補文件的方式則能一次修補大批文件,這也是Linux系統核心的升級方法之一。

@1安裝修補軟件yum install path -y 

@2比較兩個文件的不同,生成修補,進行修補,查看是否修補成功

[root@localhost mnt]# cat file   查看的file內容
hello
[root@localhost mnt]# cat file1   查看的file1內容
hello world
[root@localhost mnt]# diff file file1  比較兩個文件
1c1
< hello
---
> hello world
[root@localhost mnt]# diff file file1 > file.path 將比較結果保存到file.path
[root@localhost mnt]# cat file.path   查看補丁包的內容
1c1
< hello
---
> hello world
[root@localhost mnt]# patch -p0 file file.path 使用補丁包升級file文件
patching file file
[root@localhost mnt]# cat file   再次查看file文件
hello world file文件被修改爲與file1一樣的內容 [Click and drag to move]
cut

cut

用於顯示每行從開頭算起 num1 到 num2 的文字。

-b :以字節爲單位進行分割。這些字節位置將忽略多字節字符邊界,除非也指定了 -n 標誌。

-c :以字符爲單位進行分割。

-d :自定義分隔符,默認爲製表符。

-f :與-d一起使用,指定顯示哪個區域。

-n :取消分割多字節字符。僅和 -b 標誌一起使用。如果字符的最後一個字節落在由 -b 標誌的 List 參數指示的
範圍之內,該字符將被寫出;否則,該字符將被排除
 

cut -d: -f 1  /etc/passwd  ##以:分割開的passwd第一列顯示
cut -c 2,3 passwd           ###截取第2,3個字符

Sort

sort命令用於將文本文件內容加以排序。

sort可針對文本文件的內容,以行爲單位來排序。

sort 多用於字符的排序

sort  file 只對第一個字符排序

sort -n  純數字排序

sort -r  倒序

sort -u 去掉重複數字

sort -o 輸出到指定的文件中

sort -t  指定分隔符

sort -k  指定要排序的列

uniq

命令用於檢查及刪除文本文件中重複出現的行列。

uniq可檢查文本文件中重複出現的行列。

sort  -rn file |uniq -c 每列旁邊顯示該行重複出現的次數

&&和||

&&用來執行條件成立後執行的命令

|| 用來執行條件不成立後執行的命令

ping -c1 -w1 172.25.254.23  &>/dev/null && echo 23 is up ||echo 23 is down      ping23主機ping通則爲開啓

test 命令

 [ "$a" = "$b" ] && echo yes || echo no              等於

 [ "$a" -le "$b" ] && echo yes || echo no            小於等於

 [ "$a" -ge "$b" ] && echo yes || echo no           大於等於

 [ "$a" -gt "$b" ] && echo yes || echo no            大於

 [ "$a" -lt "$b" ] && echo yes || echo no               小於

[ -z "$c" ] && echo yes || echo no                        是否爲空

[ -n "$c" ] && echo yes || echo no                       是否不爲空

[ "file" -ef "file1" ]&& echo yes || echo no            是否爲同一個文件  ls -i  xx 相同

[ "file" -nt "file1" ]&& echo yes || echo no              file比file1新

[ "file" -ot "file1" ]&& echo yes || echo no                      舊

[ -e  /mnt ]&& echo yes || echo no                      是否爲存在

[ -d  /mnt/file ]&& echo yes || echo no                 是否爲目錄

[ -f /mnt ]&& echo yes || echo no                           是否爲文件

[ -L /etc/system-release ]&& echo yes || echo no 是否爲鏈接

ll /etc/system-release                                                  鏈接

yum install mariadb-server -y                                     安裝數據庫會有套結字

systemctl start mariadb

[ -s /var/lib/mysql/mysql.sock ] && echo yes || echo no  是否有套結字

[ -b /dev/vdb ] && echo yes || echo no                          是否塊設備

[ -c /dev/pts/0 ] && echo yes || echo no                      是否字符設備

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章