1,輸出當前系統中佔用內存最多的5條命令: #1) 經過ps命令列出當前主機正在運行的全部進程。 #2) 按照第五個字段基於數值的形式進行正常排序(由小到大)。 #3) 僅顯示最後5條輸出。 /> ps aux | sort -k 5n | tail -5 2, 找出cpu利用率高的10個進程: #1) 經過ps命令輸出全部進程的數據,-o選項後面的字段列表列出告終果中須要包含的數據列。 #2) 將ps輸出的Title行去掉,grep -v PID表示不包含PID的行。 #3) 基於第一個域字段排序,即pcpu。n表示以數值的形式排序。 #4) 輸出按cpu使用率排序後的最後10行,即佔用率最高的10行。 /> ps -e -o pcpu,pid,user,sgi_p,cmd | grep -v PID | sort -k 1n | tail -10 3,獲取當前系統物理內存的總大小: #1) 以兆(MB)爲單位輸出系統當前的內存使用情況。 #2) 經過grep定位到Mem行,該行是以操做系統爲視角統計數據的。 #3) 經過awk打印出該行的第二列,即total列。 /> free -m | grep "Mem" | awk '{print $2, "MB"}' 4,獲取當前或指定目錄下子目錄所佔用的磁盤空間,並將結果按照從大到小的順序輸出: #1) 輸出/usr的子目錄所佔用的磁盤空間。 #2) 以數值的方式倒排後輸出。 /> du -s /usr/* | sort -nr 5,統計當前目錄下文件和目錄的數量: #1) ls -l命令列出文件和目錄的詳細信息。 #2) ls -l輸出的詳細列表中的第一個域字段是文件或目錄的權限屬性部分,若是權限屬性部分的第一個字符爲d, # 該文件爲目錄,若是是-,該文件爲普通文件。 #3) 經過wc計算grep過濾後的行數。 /> ls -l | grep "^-" | wc -l /> ls -l | grep "^d" | wc -l 6,殺掉指定終端的全部進程: #1) 經過ps命令輸出終端爲pts/1的全部進程。 #2) 將ps的輸出傳給grep,grep將過濾掉ps輸出的Title部分,-v PID表示不包含PID的行。 #3) awk打印輸出grep查找結果的第一個字段,即pid字段。 #4) 上面的三個組合命令是在反引號內被執行的,並將執行的結果賦值給數組變量${K}。 #5) kill方法將殺掉數組${K}包含的pid。 /> kill -9 ${K}=`ps -t pts/1 | grep -v PID | awk '{print $1}'` 7,將查找到的文件打包並copy到指定目錄: #1) 經過find找到當前目錄下(包含全部子目錄)的全部*.txt文件。 #2) tar命令將find找到的結果壓縮成test.tar壓縮包文件。 #3) 若是&&左側括號內的命令正常完成,則能夠執行&&右側的shell命令了。 #4) 將生成後的test.tar文件copy到/home/.目錄下。 /> (find . -name "*.txt" | xargs tar -cvf test.tar) && cp -f test.tar /home/.