shell 常用命令

2021-09-26 18:50:49 字數 3249 閱讀 4126

diff:用來比較兩個檔案或者目錄的不同

常用引數:

-b 不檢查空格字元

-b 不檢查空行

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

-i 檢查大小寫不同

-q 僅僅顯示有無差異,不顯示詳細資訊

-r 比較子目錄中的檔案

-u 以合併的方式來顯示檔案內容的不同

diff在比較檔案過程中結果讀取方式:

a 新增

c 更改

d 刪除

例:

vim file1

vim file2

diff file1 file2

diff file2 file1

vim file2

diff file1 file2

vim file2

diff -b file1 file2 #不檢測空格字元

vim file2

diff -b file1 file2 #不檢測空行

diff -c file1 file2 #顯示所有內容並,標出不同之處

mkdir westos1 westos2

mkdir /westos1/westos3

diff -r westos1 westos2

diff -u file1 file2

diff -u file1 file2 > file.path

patch : 用於檔案不同檔案打補丁

-bcat file.path

patch -b file1 file.path #加上-b不會刪除原始檔,並且會生成file1.orig檔案

cat file1 file2

cut   #用於字元擷取

常用引數:

-d 指定分割符

-f 擷取的列

-c 擷取字元的位置

例:

擷取 172.25.254.251

ifconfig eth0

ifconfig eth0 | cut -d " " -f 10 | head -n 2 | tail -n 1

ifconfig eth0 | awk '/inet\>/' #擷取ifconfig eth0資訊中 172.25.254.251

sort  #用於字元排序

常用引數:

-n 純數字排序

-r 倒序

-u 去掉重複數字

-o 輸出到指定檔案中

-t 指定分割符

-k 指定排序的列

cp /etc/*.conf  /mnt

ls -l | sort -t " " -k 5 -nr | head -n 5 | cut -c 43-

ls -s | head -n 5 #按第5列排序並且輸出最大的檔名稱

uniq   #對重複的字元作相應處理

常用引數:

-u 顯示唯一的行

-d 顯示重複的行

-c 每行顯示一次並統計重複次數

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

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

vim ping.sh||}

sh ping.sh 172.25.254.111 #拔掉網線測試

172.25.254.111 is down

sh ping.sh 172.25.254.111

172.25.254.111 is up

tr   #大小寫轉化
test和等同   使用注意內容前後必須加上空格  [空格 內容 空格]

常用引數:

-z #為空

-n #不為空

-ef #節點號是否相同

-nt #file1是否比file2建立的晚

-ot #file1是否比file2建立的早

-e #檔案存在

-f #檔案存在並且是正規檔案

-l ##軟鏈結 ln -s file westos ll westos

-s ##socket 套接字 yum install -y mariadb-server ll /var/lib/mysql/

-b ##block 塊裝置 ll /dev/sda

-d ##目錄

-c ##字元裝置 ls /dev/pts date > /dev/pts/5

= #等於

-lt #小於

-le #小於等於

-ge #大於等於

-gt #大於

a=1;b=2

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

[ "$a" -lt "$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=2;b=2

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

vim test.sh

sh test.sh 5

yessh test.sh 11

no#判斷/的記憶體使用率,當超過30%時在/var/log/messages下發出報警

vim mnt.sh

' | cut -d % -f 1` -ge "30" ]&&

}

sh mnt.sh

#判斷檔案屬性

[ -e "$1" ] ||

[ -l "$1" ] &&

[ -f "$1" ] &&

[ -d "$1" ] &&

[ -b "$1" ] &&

[ -c "$1" ] &&

}

shell 常用命令

shell 程式設計中使用到得if語句內判斷引數 b 當file存在並且是塊檔案時返回真 c 當file存在並且是字元檔案時返回真 d 當pathname存在並且是乙個目錄時返回真 e 當pathname指定的檔案或目錄存在時返回真 f 當file存在並且是正規檔案時返回真 g 當由pathname...

shell常用命令

1.echo echo 用於輸出,相當於c語言中的printf 用echo輸出變數的值,需要在變數前面加 輸出a的值 a 1echo a shell中變數不需要定義,直接賦值 要用到變數時,需要加 2.管道 命令之間的輸入。將乙個命令的輸出作為另乙個命令的輸入。管道相當於一種過濾功能。3.grep ...

Shell常用命令

shell常用命令總結 1 ls命令 列出檔案 ls la 列出當前目錄下的所有檔案和資料夾 ls a 列出當前目錄下所有以 a字母開頭的檔案 ls l txt 列出當前目錄下所有字尾名為 txt的檔案 2 cp命令 複製 cp a.txt b.txt 把檔案 a的內容複製到b檔案 cp a.txt...