作為后端開發(fā),這些常用命令不得不會(huì),掌握這些命令,工作上會(huì)事半功倍,提供工作效率。
一.文件和目錄
(資料圖片僅供參考)
cd命令,用于切換當(dāng)前目錄,它的參數(shù)是要切換到的目錄的路徑,可以是絕對(duì)路徑,也可以是相對(duì)路徑。
cd/home進(jìn)入"/home"目錄cd..返回上一級(jí)目錄cd../..返回上兩級(jí)目錄cd進(jìn)入個(gè)人的主目錄cd~user1進(jìn)入個(gè)人的主目錄cd-返回上次所在的目錄
pwd命令,顯示工作路徑
[root@mailvip~]#pwd/root
ls命令,查看文件與目錄的命令,list之意
ls查看目錄中的文件ls-l顯示文件和目錄的詳細(xì)資料ls-a列出全部文件,包含隱藏文件ls-R連同子目錄的內(nèi)容一起列出(遞歸列出),等于該目錄下的所有文件都會(huì)顯示出來ls[0-9]顯示包含數(shù)字的文件名和目錄名
cp命令,用于復(fù)制文件,copy之意,它還可以把多個(gè)文件一次性地復(fù)制到一個(gè)目錄下
-a :將文件的特性一起復(fù)制-p :連同文件的屬性一起復(fù)制,而非使用默認(rèn)方式,與-a相似,常用于備份-i :若目標(biāo)文件已經(jīng)存在時(shí),在覆蓋時(shí)會(huì)先詢問操作的進(jìn)行-r :遞歸持續(xù)復(fù)制,用于目錄的復(fù)制行為//經(jīng)常使用遞歸復(fù)制-u :目標(biāo)文件與源文件有差異時(shí)才會(huì)復(fù)制
mv命令,用于移動(dòng)文件、目錄或更名,move之意
-f :force強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在,不會(huì)詢問而直接覆蓋-i :若目標(biāo)文件已經(jīng)存在,就會(huì)詢問是否覆蓋-u :若目標(biāo)文件已經(jīng)存在,且比目標(biāo)文件新,才會(huì)更新
rm命令,用于刪除文件或目錄,remove之意
-f :就是force的意思,忽略不存在的文件,不會(huì)出現(xiàn)警告消息-i :互動(dòng)模式,在刪除前會(huì)詢問用戶是否操作-r :遞歸刪除,最常用于目錄刪除,它是一個(gè)非常危險(xiǎn)的參數(shù)
二、查看文件內(nèi)容
cat命令,用于查看文本文件的內(nèi)容,后接要查看的文件名,通??捎霉艿琅cmore和less一起使用
catfile1從第一個(gè)字節(jié)開始正向查看文件的內(nèi)容tacfile1從最后一行開始反向查看一個(gè)文件的內(nèi)容cat -n file1 標(biāo)示文件的行數(shù)morefile1查看一個(gè)長(zhǎng)文件的內(nèi)容head-n2file1查看一個(gè)文件的前兩行tail-n2file1查看一個(gè)文件的最后兩行tail-n+1000file1從1000行開始顯示,顯示1000行以后的catfilename|head-n3000|tail-n+1000顯示1000行到3000行catfilename|tail-n+3000|head-n1000從第3000行開始,顯示1000(即顯示3000~3999行)
三.文件搜索
find命令,用來查找系統(tǒng)的
find/-namefile1從"/"開始進(jìn)入根文件系統(tǒng)搜索文件和目錄find/-useruser1搜索屬于用戶"user1"的文件和目錄find/usr/bin-typef-atime+100搜索在過去100天內(nèi)未被使用過的執(zhí)行文件find/usr/bin-typef-mtime-10搜索在10天內(nèi)被創(chuàng)建或者修改過的文件whereishalt顯示一個(gè)二進(jìn)制文件、源碼或man的位置whichhalt顯示一個(gè)二進(jìn)制文件或可執(zhí)行文件的完整路徑
刪除大于50M的文件:
find/var/mail/-size+50M-execrm{}\;
四.文件的權(quán)限 - 使用 "+" 設(shè)置權(quán)限,使用 "-" 用于取消
chmod命令,改變文件/文件夾權(quán)限
ls-lh顯示權(quán)限chmodugo+rwxdirectory1設(shè)置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r,4)、寫(w,2)和執(zhí)行(x,1)的權(quán)限chmodgo-rwxdirectory1刪除群組(g)與其他人(o)對(duì)目錄的讀寫執(zhí)行權(quán)限
chown命令,改變文件的所有者
chownuser1file1改變一個(gè)文件的所有人屬性chown -R user1 directory1 改變一個(gè)目錄的所有人屬性并同時(shí)改變改該目錄下所有文件的屬性chownuser1:group1file1改變一個(gè)文件的所有人和群組屬性
11.chgrp命令,改變文件所屬用戶組
chgrpgroup1file1改變文件的群組
五.文本處理
grep命令,分析一行的信息,若當(dāng)中有我們所需要的信息,就將該行顯示出來,該命令通常與管道命令一起使用,用于對(duì)一些命令的輸出進(jìn)行篩選加工等等
grepAug/var/log/messages在文件"/var/log/messages"中查找關(guān)鍵詞"Aug"grep^Aug/var/log/messages在文件"/var/log/messages"中查找以"Aug"開始的詞匯grep[0-9]/var/log/messages選擇"/var/log/messages"文件中所有包含數(shù)字的行g(shù)repAug-R/var/log/*在目錄"/var/log"及隨后的目錄中搜索字符串"Aug"sed"s/stringa1/stringa2/g"example.txt將example.txt文件中的"string1"替換成"string2"sed"/^$/d"example.txt從example.txt文件中刪除所有空白行
paste命令
pastefile1file2合并兩個(gè)文件或兩欄的內(nèi)容paste-d"+"file1file2合并兩個(gè)文件或兩欄的內(nèi)容,中間用"+"區(qū)分
sort命令
sortfile1file2排序兩個(gè)文件的內(nèi)容sortfile1file2|uniq取出兩個(gè)文件的并集(重復(fù)的行只保留一份)sortfile1file2|uniq-u刪除交集,留下其他的行sortfile1file2|uniq-d取出兩個(gè)文件的交集(只留下同時(shí)存在于兩個(gè)文件中的文件)
comm命令
comm-1file1file2比較兩個(gè)文件的內(nèi)容只刪除"file1"所包含的內(nèi)容comm-2file1file2比較兩個(gè)文件的內(nèi)容只刪除"file2"所包含的內(nèi)容comm-3file1file2比較兩個(gè)文件的內(nèi)容只刪除兩個(gè)文件共有的部分
六、打包和壓縮文件
tar命令,對(duì)文件進(jìn)行打包,默認(rèn)情況并不會(huì)壓縮,如果指定了相應(yīng)的參數(shù),它還會(huì)調(diào)用相應(yīng)的壓縮程序(如gzip和bzip等)進(jìn)行壓縮和解壓
-c :新建打包文件-t :查看打包文件的內(nèi)容含有哪些文件名-x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時(shí)出現(xiàn)在同一條命令中-j :通過bzip2的支持進(jìn)行壓縮/解壓縮-z :通過gzip的支持進(jìn)行壓縮/解壓縮-v :在壓縮/解壓縮過程中,將正在處理的文件名顯示出來-f filename :filename為要處理的文件-C dir :指定壓縮/解壓縮的目錄dir
壓縮:tar -jcv -f filename.tar.bz2 要被處理的文件或目錄名稱 查詢:tar -jtv -f filename.tar.bz2 解壓:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄
bunzip2file1.bz2解壓一個(gè)叫做"file1.bz2"的文件bzip2file1壓縮一個(gè)叫做"file1"的文件gunzipfile1.gz解壓一個(gè)叫做"file1.gz"的文件gzipfile1壓縮一個(gè)叫做"file1"的文件gzip-9file1最大程度壓縮rarafile1.rartest_file創(chuàng)建一個(gè)叫做"file1.rar"的包rarafile1.rarfile1file2dir1同時(shí)壓縮"file1","file2"以及目錄"dir1"rarxfile1.rar解壓rar包zipfile1.zipfile1創(chuàng)建一個(gè)zip格式的壓縮包unzipfile1.zip解壓一個(gè)zip格式壓縮包zip-rfile1.zipfile1file2dir1將幾個(gè)文件和目錄同時(shí)壓縮成一個(gè)zip格式的壓縮包
七.系統(tǒng)和關(guān)機(jī)(關(guān)機(jī)、重啟和登出)
shutdown-hnow關(guān)閉系統(tǒng)(1)init0關(guān)閉系統(tǒng)(2)telinit0關(guān)閉系統(tǒng)(3)shutdown-hhours:minutes&按預(yù)定時(shí)間關(guān)閉系統(tǒng)shutdown-c取消按預(yù)定時(shí)間關(guān)閉系統(tǒng)shutdown-rnow重啟(1)reboot重啟(2)logout注銷time測(cè)算一個(gè)命令(即程序)的執(zhí)行時(shí)間
八、進(jìn)程相關(guān)的命令
jps命令,顯示當(dāng)前系統(tǒng)的java進(jìn)程情況,及其id號(hào)
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個(gè)顯示當(dāng)前所有java進(jìn)程pid的命令,簡(jiǎn)單實(shí)用,非常適合在linux/unix平臺(tái)上簡(jiǎn)單察看當(dāng)前java進(jìn)程的一些簡(jiǎn)單情況。
ps命令,用于將某個(gè)時(shí)間點(diǎn)的進(jìn)程運(yùn)行情況選取下來并輸出,process之意
-A :所有的進(jìn)程均顯示出來-a :不與terminal有關(guān)的所有進(jìn)程-u :有效用戶的相關(guān)進(jìn)程-x :一般與a參數(shù)一起使用,可列出較完整的信息-l :較長(zhǎng),較詳細(xì)地將PID的信息列出psaux#查看系統(tǒng)所有的進(jìn)程數(shù)據(jù)psax#查看不與terminal有關(guān)的所有進(jìn)程ps-lA#查看系統(tǒng)所有的進(jìn)程數(shù)據(jù)psaxjf#查看連同一部分進(jìn)程樹狀態(tài)
kill命令,用于向某個(gè)工作(%jobnumber)或者是某個(gè)PID(數(shù)字)傳送一個(gè)信號(hào),它通常與ps和jobs命令一起使用
命令格式 : kill[命令參數(shù)][進(jìn)程id]
命令參數(shù):
-l信號(hào),若果不加信號(hào)的編號(hào)參數(shù),則使用“-l”參數(shù)會(huì)列出全部的信號(hào)名稱-a當(dāng)處理當(dāng)前進(jìn)程時(shí),不限制命令名和進(jìn)程號(hào)的對(duì)應(yīng)關(guān)系-p指定kill命令只打印相關(guān)進(jìn)程的進(jìn)程號(hào),而不發(fā)送任何信號(hào)-s指定發(fā)送信號(hào)-u指定用戶
實(shí)例1:列出所有信號(hào)名稱 命令:kill -l 輸出:
[root@localhosttest6]#kill-l1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL5)SIGTRAP6)SIGABRT7)SIGBUS8)SIGFPE9)SIGKILL10)SIGUSR111)SIGSEGV12)SIGUSR213)SIGPIPE14)SIGALRM15)SIGTERM16)SIGSTKFLT17)SIGCHLD18)SIGCONT19)SIGSTOP20)SIGTSTP21)SIGTTIN22)SIGTTOU23)SIGURG24)SIGXCPU25)SIGXFSZ26)SIGVTALRM27)SIGPROF28)SIGWINCH29)SIGIO30)SIGPWR31)SIGSYS34)SIGRTMIN35)SIGRTMIN+136)SIGRTMIN+237)SIGRTMIN+338)SIGRTMIN+439)SIGRTMIN+540)SIGRTMIN+641)SIGRTMIN+742)SIGRTMIN+843)SIGRTMIN+944)SIGRTMIN+1045)SIGRTMIN+1146)SIGRTMIN+1247)SIGRTMIN+1348)SIGRTMIN+1449)SIGRTMIN+1550)SIGRTMAX-1451)SIGRTMAX-1352)SIGRTMAX-1253)SIGRTMAX-1154)SIGRTMAX-1055)SIGRTMAX-956)SIGRTMAX-857)SIGRTMAX-758)SIGRTMAX-659)SIGRTMAX-560)SIGRTMAX-461)SIGRTMAX-362)SIGRTMAX-263)SIGRTMAX-164)SIGRTMAX
說明:
只有第9種信號(hào)(SIGKILL)才可以無條件終止進(jìn)程,其他信號(hào)進(jìn)程都有權(quán)利忽略。 下面是常用的信號(hào):
HUP1終端斷線INT2中斷(同Ctrl+C)QUIT3退出(同Ctrl+)TERM15終止KILL9強(qiáng)制終止CONT18繼續(xù)(與STOP相反,fg/bg命令)STOP19暫停(同Ctrl+Z)
實(shí)例2:得到指定信號(hào)的數(shù)值
[root@localhosttest6]#kill-lKILL[root@localhosttest6]#kill-lSIGKILL[root@localhosttest6]#kill-lTERM[root@localhosttest6]#kill-lSIGTERM[root@localhosttest6]#
實(shí)例3:先用ps查找進(jìn)程,然后用kill殺掉
命令:kill3268[root@localhosttest6]#ps-ef|grepvimroot32682884016:21pts/10000viminstall.logroot33702822016:21pts/00000grepvim[root@localhosttest6]#kill3268
實(shí)例4:徹底殺死進(jìn)程
命令:kill–93268//-9強(qiáng)制殺掉進(jìn)程
killall命令,向一個(gè)命令啟動(dòng)的進(jìn)程發(fā)送一個(gè)信號(hào),用于殺死指定名字的進(jìn)程
命令格式 : killall[命令參數(shù)][進(jìn)程名]
命令參數(shù):-Z只殺死擁有scontext的進(jìn)程-e要求匹配進(jìn)程名稱-I忽略小寫-g殺死進(jìn)程組而不是進(jìn)程-i交互模式,殺死進(jìn)程前先詢問用戶-l列出所有的已知信號(hào)名稱-q不輸出警告信息-s發(fā)送指定的信號(hào)-v報(bào)告信號(hào)是否成功發(fā)送-w等待進(jìn)程死亡--help顯示幫助信息--version顯示版本顯示
示例
1:殺死所有同名進(jìn)程killallnginxkillall-9bash2.向進(jìn)程發(fā)送指定信號(hào)killall-TERMngixn或者killall-KILLnginx
top命令,是Linux下常用的性能分析工具,能夠?qū)崟r(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況,類似于Windows的任務(wù)管理器。
如何殺死進(jìn)程:
(1)圖形化界面的方式(2)kill-9pid(-9表示強(qiáng)制關(guān)閉)(3)killall-9程序的名字(4)pkill程序的名字
查看進(jìn)程端口號(hào):
netstat-tunlp|grep端口號(hào)
審核編輯:湯梓紅
標(biāo)簽: