實用Shell命令

2021-06-14 10:37:28 字數 1926 閱讀 4342

檢視暫用cpu最大的10個程序:ps au | awk 'nr>1 '| sort -nrk +3 | awk '' | head -10;其中sort中的k引數表示按照第幾列來排序,有個t引數,表示按照\t分割內容,形成列

在某個時間點執行命令:echo "ls -l" | at midnight

顯示某個目錄下面最大的10個檔案或資料夾:du -sh * | sort -nr | head -10,其中s表示統計檔案或資料夾容量總和,如果命令為du -ah *,表示統計當前目錄檔案和所有子目錄的檔案資訊;與之相對的df命令用來統計硬碟容量資訊。

檢視指定網路埠服務是否開啟:netstat -natp | grep servicename,其中n代表數位化,a代表所有,t代表tcp,p代表程式名;另乙個檢視網路服務的命令是lsof,列出系統已開啟的檔案,lsof -i | grep servicename,其中i表示檢視所有網路服務開啟的連線

awk主要對檔案內容進行統計操作,而sed與vim中命令列操作類似,主要用來對檔案進行處理(p選項+正則也可以完成強大的文字內容搜尋),如可以進行文字替換,如:sed 's/localhost/127.0.0.1/g' mysql_virtual_*.cf ;而在vim命令列中可以直接:%s/localhost/

127.0.0.1/g(%代表對文字中每一行都進行處理)

輸出最常用的10個命令:history|awk ''|awk 'begin '|sort|uniq -c|sort -rn|head -10;其中history歷史輸入命令,uniq命令會從1列(元素)變成2列(個數,元素)

對指定資料夾中符合條件的檔案進行操作,如複製:ls image/* | awk 'nr < 10 ',複製10個檔案;find image/ -name "1*" -exec cp {} uploadimage \,對以「1」開頭的檔案進行複製;ls image/* | head -10 | xargs -i cp {} uploadimage,其中-i選項告訴 xargs 用每項的名稱替換 {}

不登陸遠端機器而進行遠端操作:ssh user@server bash < /path/to/local/script.sh,在遠端機器上執行本地指令碼;ssh user@host cat /path/to/remotefile | diff /path/to/localfile -,比較本地和遠端機器上面的兩個檔案

檢視機器資訊:dmidecode | grep "product name"      檢視機器型號

getconf long_bit     檢視機器版本號(64位的系統中int型別還是4位元組的,但是long已變成了8位元組)

cat /proc/cpuinfo     檢視cpu資訊,其中grep "core id"表示檢視cpu核心id, grep "physical id"表示檢視物理cpu的id,grep 「processor」表示檢視邏輯處理器。多核技術和多執行緒技術和區別為:前者表示有多少能力,後者表示使用該能力的能力

cat /proc/meminfo     檢視記憶體資訊

以列為單位抽取檔案內容,利用cut命令可以對檔案按照位元組、字段、字元進行抽取:cat /etc/passwd | cut -f1,3 -d":",表示獲取第一列和第三列,sed命令中1,3表示1至3列,而在cut中需要1-3來表示。awk命令也可以完成相同的內容,更複雜、更靈活; 

檔案內容的查詢與檔名的查詢:檔名查詢可以用經典的find命令,檔案內容的查詢則用grep。統計檔案中出現某個字串的個數:grep -o str filename | wc -l(-o表示顯示匹配的單詞,而不是單詞所在的行數:grep str filename);統計出現某個字串的檔名:grep -l str filenames。

在當前目錄及其子目錄

所有的.cpp檔案中查詢

字串"example", 不區分大小寫:

grep -i -r --include="*.cpp" 'example' .

實用shell指令碼命令記錄

q 如何去掉字串中的空格?a 1.刪除行首空格 echo hello world sed s t g 2.刪除行尾空格 echo hello world sed s t g 3.刪除全部空格 echo hello world sed s space g q 如何提取指定字元後面的字元?a echo ...

shell簡單實用的幾條命令

最簡單運算的方法,此命令可以以運算的方式直接定義變數y,後面可以是變數,不用加 空格 和各種括號.非常方便,最接近我們平常數學的書寫格式。特別對余初學者來說,在也不用擔心各種格式不對的問題了。for i 1 i 10 i 2 最簡單的for迴圈語句,變數池可以自己定義。最簡單的判斷語句,中括弧內的是...

Shell快速入門及實用命令

1.重定向 標準輸出和錯誤輸出重定向到all result find home name lost all result 2 1 標準輸出和錯誤輸出追加到all result find home name lost all result 2 1 不輸出錯誤日誌 find home name lost...