1. 程式人生 > >運維常用的shell命令.md

運維常用的shell命令.md

1.後臺啟動指令碼

nohup ./start.sh > /dev/null 2>&1 &
dev/null代表linux的空裝置檔案,所有往這個檔案裡面寫入的內容都會丟失,俗稱“黑洞”
2>&1錯誤輸出2重定向到標準輸出1,意思是標準輸出和錯誤輸出都進了“黑洞”(錯誤輸出通常是程序號)
這句命令就是,後臺執行start.sh,螢幕不列印任何資訊。

2.檢視埠

netstat -anp | grep 80
windows版本:
netstat -aon | findstr “80”

3.檢視磁碟佔用

總的佔用:df -lh
某一個目錄的佔用:df -hl /dir
某一個目錄下檢視幾層的佔用:
du -lh --max-depth=2 /dir
簡單說下df和du的區別,df只會統計目錄總的使用情況,而du會統計目錄下每一個檔案的使用情況

4.壓縮解壓檔案

壓縮:tar -vzcf 2018-12-19.tar.gz target/
解壓:tar -vzxf 2018-12-19.tar.gz

一類非常好用的命令–將上一個命令的輸出作為下一個命令的輸入

前一個命令和後一個命令用“|”隔開,“|”就是管道。
最常見的是grep,如 ls -l | grep a,顯示帶有字元”a“的所有結果。以grep為基礎可以衍生很多命令

5.匹配首行以某個字串開頭的

ls -l | grep ^drw

6.統計顯示結果有多少行

ls -l | wc -l

7.使用awk顯示某一列的值

簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。如awk ‘{print $2}’ 匹配以空格隔開的第2個項.
ls -l | awk ‘{print $2}’ 只顯示輸出結果第2列的值
可以配合grep使用進一步篩選:
ls -l | grep ^drw | awk ‘{print $3}’

8.xargs 將上個命令的結果當下個命令的操作引數

上面的幾個命令只是將上個命令的結果當下個命令的引數,篩選顯示,xargs 命令可以直接執行
xargs 是一個強有力的命令,它能夠捕獲一個命令的輸出,然後傳遞給另外一個命令
ls | grep .sh | xargs chmod 755 將資料夾中帶有“.sh”的檔案,賦予許可權755