Linux下面命令多套像,功能強(qiáng)大,平時(shí)重在積累终息,用時(shí)事半功倍夺巩。舉例幾個(gè)實(shí)用的Linux命令
1、關(guān)閉進(jìn)程
比較冗長(zhǎng)的一個(gè)命令:先用ps命令獲得進(jìn)程信息周崭,然后用grep的-v選項(xiàng)過濾掉查看本身柳譬,再用awk將獲得該進(jìn)程號(hào),然后交給kill命令刪除续镇。
ps ef | grep XXX | grep -v grep | awk '{print $2}' | xargs? kill -9
獲取進(jìn)程的pid值可以簡(jiǎn)單的使用pidof或者pgrep等命令美澳,明顯簡(jiǎn)單了很多。
pidof XXX | xargs kill -9
pgrep XXX | xargs kill -9
另一種思路通過專門通過名稱作為參數(shù)來執(zhí)行關(guān)閉的命令,比如pkill或者killalll制跟。
pkill -9? 進(jìn)程名稱
2舅桩、查找
find非常強(qiáng)大的命令。能夠按照多種查找條件來尋找文件系統(tǒng)中的文件雨膨。
查找某個(gè)路徑下的某個(gè)名稱的文件
find? `pwd` -name "xxxxxx"
在根文件系統(tǒng)下擂涛,查找大小大于XXX MB的文件,常用來查找過大的文件聊记,可以為后續(xù)清理釋放空間撒妈。
find? / -size +XXXM
找出某個(gè)路徑的空文件
find /path?-empty
除此之外還可以根據(jù)時(shí)間、uid排监、gid狰右、文件類型(字符設(shè)備、塊設(shè)備社露、目錄挟阻、常規(guī)文件等)等條件進(jìn)行搜索。功能非常強(qiáng)大峭弟。
3附鸽、管道
在1關(guān)閉進(jìn)程中已經(jīng)展示了一個(gè)命令xargs。xargs是linux中一個(gè)強(qiáng)大瞒瘸,卻容易被忽視的命令坷备。
xargs將管道或者標(biāo)準(zhǔn)輸出作為參數(shù)傳遞給可執(zhí)行的命令。
<first command> | xargs <second command>
#for example
find / -size +XXX | xargs rm? ? ?
xargs提供-p參數(shù)用來確認(rèn)xargs所執(zhí)行的命令是否正確情臭,用戶可以鍵入“y”來確認(rèn)繼續(xù)執(zhí)行命令省撑。如在ceph源碼中執(zhí)行如下命令,則出現(xiàn)是否刪除的選擇俯在。
ls | xargs -p rm
rm AuthMonitor.cc AuthMonitor.h CMakeLists.txt?
也提供-t參數(shù)竟秫,它的行為是讓執(zhí)行的命令先打印,但是和“-p”不同的是它不用確認(rèn)直接執(zhí)行下去跷乐。
還有一個(gè)好用的是-I肥败,可以用-I 指定替換字符串一般使用{},比如將本目錄下的文件拷貝到/root目錄下愕提。
ls | xargs -I {} cp {} /root
有些命令遇到比較長(zhǎng)的參數(shù)會(huì)報(bào)錯(cuò)“Argument list too long"馒稍,遇到這種情況則可以用-0選項(xiàng),即以“\0”為斷開符號(hào)執(zhí)行命令浅侨。
4纽谒、監(jiān)控
如果想簡(jiǎn)單的觀察每次命令執(zhí)行時(shí)輸出的變化。一個(gè)常用的命令是watch如输。
watch -n 1 <command>
-n 代表interval即時(shí)間間隔鼓黔,常用的選項(xiàng)還有-d(difference)即輸出時(shí)間間隔內(nèi)變化的部分央勒。
5、輸出合并
shell當(dāng)中可以用“>”或者“>>”追加的方式將輸出重定向到某個(gè)地方请祖。還有一個(gè)容易被忽視的用法是將輸出合并 n&>m订歪。比如讓某個(gè)命令的標(biāo)準(zhǔn)輸出(1)和錯(cuò)誤輸出(2)到文件中。
command? >? file 2&>1? ?