常用Linux命令匯總_新消息

2023-06-25 10:07:16 來源:Android編程精選

作為后端開發,這些常用命令不得不會,掌握這些命令,工作上會事半功倍,提供工作效率。

一.文件和目錄


(資料圖片僅供參考)

cd命令,用于切換當前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。

cd/home進入"/home"目錄cd..返回上一級目錄cd../..返回上兩級目錄cd進入個人的主目錄cd~user1進入個人的主目錄cd-返回上次所在的目錄

pwd命令,顯示工作路徑

[root@mailvip~]#pwd/root

ls命令,查看文件與目錄的命令,list之意

ls查看目錄中的文件ls-l顯示文件和目錄的詳細資料ls-a列出全部文件,包含隱藏文件ls-R連同子目錄的內容一起列出(遞歸列出),等于該目錄下的所有文件都會顯示出來ls[0-9]顯示包含數字的文件名和目錄名

cp命令,用于復制文件,copy之意,它還可以把多個文件一次性地復制到一個目錄下

-a :將文件的特性一起復制-p :連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用于備份-i :若目標文件已經存在時,在覆蓋時會先詢問操作的進行-r :遞歸持續復制,用于目錄的復制行為//經常使用遞歸復制-u :目標文件與源文件有差異時才會復制

mv命令,用于移動文件、目錄或更名,move之意

-f :force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋-i :若目標文件已經存在,就會詢問是否覆蓋-u :若目標文件已經存在,且比目標文件新,才會更新

rm命令,用于刪除文件或目錄,remove之意

-f :就是force的意思,忽略不存在的文件,不會出現警告消息-i :互動模式,在刪除前會詢問用戶是否操作-r :遞歸刪除,最常用于目錄刪除,它是一個非常危險的參數

二、查看文件內容

cat命令,用于查看文本文件的內容,后接要查看的文件名,通常可用管道與more和less一起使用

catfile1從第一個字節開始正向查看文件的內容tacfile1從最后一行開始反向查看一個文件的內容cat -n file1 標示文件的行數morefile1查看一個長文件的內容head-n2file1查看一個文件的前兩行tail-n2file1查看一個文件的最后兩行tail-n+1000file1從1000行開始顯示,顯示1000行以后的catfilename|head-n3000|tail-n+1000顯示1000行到3000行catfilename|tail-n+3000|head-n1000從第3000行開始,顯示1000(即顯示3000~3999行)

三.文件搜索

find命令,用來查找系統的

find/-namefile1從"/"開始進入根文件系統搜索文件和目錄find/-useruser1搜索屬于用戶"user1"的文件和目錄find/usr/bin-typef-atime+100搜索在過去100天內未被使用過的執行文件find/usr/bin-typef-mtime-10搜索在10天內被創建或者修改過的文件whereishalt顯示一個二進制文件、源碼或man的位置whichhalt顯示一個二進制文件或可執行文件的完整路徑

刪除大于50M的文件:

find/var/mail/-size+50M-execrm{}\;

四.文件的權限 - 使用 "+" 設置權限,使用 "-" 用于取消

chmod命令,改變文件/文件夾權限

ls-lh顯示權限chmodugo+rwxdirectory1設置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r,4)、寫(w,2)和執行(x,1)的權限chmodgo-rwxdirectory1刪除群組(g)與其他人(o)對目錄的讀寫執行權限

chown命令,改變文件的所有者

chownuser1file1改變一個文件的所有人屬性chown -R user1 directory1 改變一個目錄的所有人屬性并同時改變改該目錄下所有文件的屬性chownuser1:group1file1改變一個文件的所有人和群組屬性

11.chgrp命令,改變文件所屬用戶組

chgrpgroup1file1改變文件的群組

五.文本處理

grep命令,分析一行的信息,若當中有我們所需要的信息,就將該行顯示出來,該命令通常與管道命令一起使用,用于對一些命令的輸出進行篩選加工等等

grepAug/var/log/messages在文件"/var/log/messages"中查找關鍵詞"Aug"grep^Aug/var/log/messages在文件"/var/log/messages"中查找以"Aug"開始的詞匯grep[0-9]/var/log/messages選擇"/var/log/messages"文件中所有包含數字的行grepAug-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合并兩個文件或兩欄的內容paste-d"+"file1file2合并兩個文件或兩欄的內容,中間用"+"區分

sort命令

sortfile1file2排序兩個文件的內容sortfile1file2|uniq取出兩個文件的并集(重復的行只保留一份)sortfile1file2|uniq-u刪除交集,留下其他的行sortfile1file2|uniq-d取出兩個文件的交集(只留下同時存在于兩個文件中的文件)

comm命令

comm-1file1file2比較兩個文件的內容只刪除"file1"所包含的內容comm-2file1file2比較兩個文件的內容只刪除"file2"所包含的內容comm-3file1file2比較兩個文件的內容只刪除兩個文件共有的部分

六、打包和壓縮文件

tar命令,對文件進行打包,默認情況并不會壓縮,如果指定了相應的參數,它還會調用相應的壓縮程序(如gzip和bzip等)進行壓縮和解壓

-c :新建打包文件-t :查看打包文件的內容含有哪些文件名-x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現在同一條命令中-j :通過bzip2的支持進行壓縮/解壓縮-z :通過gzip的支持進行壓縮/解壓縮-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解壓一個叫做"file1.bz2"的文件bzip2file1壓縮一個叫做"file1"的文件gunzipfile1.gz解壓一個叫做"file1.gz"的文件gzipfile1壓縮一個叫做"file1"的文件gzip-9file1最大程度壓縮rarafile1.rartest_file創建一個叫做"file1.rar"的包rarafile1.rarfile1file2dir1同時壓縮"file1","file2"以及目錄"dir1"rarxfile1.rar解壓rar包zipfile1.zipfile1創建一個zip格式的壓縮包unzipfile1.zip解壓一個zip格式壓縮包zip-rfile1.zipfile1file2dir1將幾個文件和目錄同時壓縮成一個zip格式的壓縮包

七.系統和關機(關機、重啟和登出)

shutdown-hnow關閉系統(1)init0關閉系統(2)telinit0關閉系統(3)shutdown-hhours:minutes&按預定時間關閉系統shutdown-c取消按預定時間關閉系統shutdown-rnow重啟(1)reboot重啟(2)logout注銷time測算一個命令(即程序)的執行時間

八、進程相關的命令

jps命令,顯示當前系統的java進程情況,及其id號

jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java進程pid的命令,簡單實用,非常適合在linux/unix平臺上簡單察看當前java進程的一些簡單情況。

ps命令,用于將某個時間點的進程運行情況選取下來并輸出,process之意

-A :所有的進程均顯示出來-a :不與terminal有關的所有進程-u :有效用戶的相關進程-x :一般與a參數一起使用,可列出較完整的信息-l :較長,較詳細地將PID的信息列出psaux#查看系統所有的進程數據psax#查看不與terminal有關的所有進程ps-lA#查看系統所有的進程數據psaxjf#查看連同一部分進程樹狀態

kill命令,用于向某個工作(%jobnumber)或者是某個PID(數字)傳送一個信號,它通常與ps和jobs命令一起使用

命令格式 : kill[命令參數][進程id]

命令參數:

-l信號,若果不加信號的編號參數,則使用“-l”參數會列出全部的信號名稱-a當處理當前進程時,不限制命令名和進程號的對應關系-p指定kill命令只打印相關進程的進程號,而不發送任何信號-s指定發送信號-u指定用戶

實例1:列出所有信號名稱 命令: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種信號(SIGKILL)才可以無條件終止進程,其他信號進程都有權利忽略。 下面是常用的信號:

HUP1終端斷線INT2中斷(同Ctrl+C)QUIT3退出(同Ctrl+)TERM15終止KILL9強制終止CONT18繼續(與STOP相反,fg/bg命令)STOP19暫停(同Ctrl+Z)

實例2:得到指定信號的數值

[root@localhosttest6]#kill-lKILL[root@localhosttest6]#kill-lSIGKILL[root@localhosttest6]#kill-lTERM[root@localhosttest6]#kill-lSIGTERM[root@localhosttest6]#

實例3:先用ps查找進程,然后用kill殺掉

命令:kill3268[root@localhosttest6]#ps-ef|grepvimroot32682884016:21pts/10000viminstall.logroot33702822016:21pts/00000grepvim[root@localhosttest6]#kill3268

實例4:徹底殺死進程

命令:kill–93268//-9強制殺掉進程

killall命令,向一個命令啟動的進程發送一個信號,用于殺死指定名字的進程

命令格式 : killall[命令參數][進程名]

命令參數:-Z只殺死擁有scontext的進程-e要求匹配進程名稱-I忽略小寫-g殺死進程組而不是進程-i交互模式,殺死進程前先詢問用戶-l列出所有的已知信號名稱-q不輸出警告信息-s發送指定的信號-v報告信號是否成功發送-w等待進程死亡--help顯示幫助信息--version顯示版本顯示

示例

1:殺死所有同名進程killallnginxkillall-9bash2.向進程發送指定信號killall-TERMngixn或者killall-KILLnginx

top命令,是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似于Windows的任務管理器。

如何殺死進程:

(1)圖形化界面的方式(2)kill-9pid(-9表示強制關閉)(3)killall-9程序的名字(4)pkill程序的名字

查看進程端口號:

netstat-tunlp|grep端口號

審核編輯:湯梓紅

標簽:

上一篇:ROM、RAM、FLASH、DDR、EMMC的簡單解釋 天天熱頭條
下一篇:最后一頁