開發(fā)常用的 Linux 命令匯總

牛逼!又發(fā)現(xiàn)了一款面試題庫,太全了!!
(點擊查看)
cd?/home 進入 '/ home'?目錄
cd?.. 返回上一級目錄
cd?../.. 返回上兩級目錄
cd???????????????進入個人的主目錄
cd?~user1 進入個人的主目錄
cd?- 返回上次所在的目錄[root@mailvip ~]# pwd
/rootls?查看目錄中的文件
ls?-l?顯示文件和目錄的詳細資料
ls?-a?列出全部文件,包含隱藏文件
ls?-R 連同子目錄的內(nèi)容一起列出(遞歸列出),等于該目錄下的所有文件都會顯示出來
ls?[0-9] 顯示包含數(shù)字的文件名和目錄名-a?:將文件的特性一起復制
-p?:連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用于備份
-i?:若目標文件已經(jīng)存在時,在覆蓋時會先詢問操作的進行
-r :遞歸持續(xù)復制,用于目錄的復制行為 //經(jīng)常使用遞歸復制
-u :目標文件與源文件有差異時才會復制-f :force強制的意思,如果目標文件已經(jīng)存在,不會詢問而直接覆蓋
-i :若目標文件已經(jīng)存在,就會詢問是否覆蓋
-u :若目標文件已經(jīng)存在,且比目標文件新,才會更新-f :就是force的意思,忽略不存在的文件,不會出現(xiàn)警告消息
-i :互動模式,在刪除前會詢問用戶是否操作
-r :遞歸刪除,最常用于目錄刪除,它是一個非常危險的參數(shù)二、查看文件內(nèi)容
cat?file1 從第一個字節(jié)開始正向查看文件的內(nèi)容
tac file1 從最后一行開始反向查看一個文件的內(nèi)容
cat?-n file1 標示文件的行數(shù)
more file1 查看一個長文件的內(nèi)容
head -n 2?file1 查看一個文件的前兩行
tail -n 2?file1 查看一個文件的最后兩行
tail -n +1000?file1 從1000行開始顯示,顯示1000行以后的
cat?filename | head -n 3000?| tail -n +1000??顯示1000行到3000行
cat?filename | tail -n +3000?| head -n 1000??從第3000行開始,顯示1000(即顯示3000~3999行)find?/ -name file1 從 '/'?開始進入根文件系統(tǒng)搜索文件和目錄
find?/ -user user1 搜索屬于用戶 'user1'?的文件和目錄
find?/usr/bin -type?f?-atime +100?搜索在過去100天內(nèi)未被使用過的執(zhí)行文件
find?/usr/bin -type?f?-mtime -10?搜索在10天內(nèi)被創(chuàng)建或者修改過的文件
whereis halt 顯示一個二進制文件、源碼或man的位置
which halt 顯示一個二進制文件或可執(zhí)行文件的完整路徑find /var/mail/ -size +50M -exec rm {} \;四.文件的權(quán)限 - 使用 "+" 設(shè)置權(quán)限,使用 "-" 用于取消
ls?-lh?顯示權(quán)限
chmod?ugo+rwx?directory1?設(shè)置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r,4?)、寫(w,2)和執(zhí)行(x,1)的權(quán)限
chmod?go-rwx?directory1??刪除群組(g)與其他人(o)對目錄的讀寫執(zhí)行權(quán)限chown?user1?file1?改變一個文件的所有人屬性
chown?-R?user1?directory1?改變一個目錄的所有人屬性并同時改變改目錄下所有文件的屬性
chown?user1:group1?file1?改變一個文件的所有人和群組屬性chgrp?group1 file1 改變文件的群組五.文本處理
grep?Aug /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ù)字的行
grep?Aug -R /var/log/* 在目錄 '/var/log'?及隨后的目錄中搜索字符串"Aug"?
sed 's/stringa1/stringa2/g'?example.txt 將example.txt文件中的 "string1"?替換成 "string2"?
sed '/^$/d'?example.txt 從example.txt文件中刪除所有空白行paste?file1 file2 合并兩個文件或兩欄的內(nèi)容
paste -d '+'?file1 file2 合并兩個文件或兩欄的內(nèi)容,中間用"+"區(qū)分sort?file1 file2 排序兩個文件的內(nèi)容
sort?file1 file2 | uniq 取出兩個文件的并集(重復的行只保留一份)
sort?file1 file2 | uniq -u?刪除交集,留下其他的行
sort?file1 file2 | uniq -d 取出兩個文件的交集(只留下同時存在于兩個文件中的文件)comm?-1?file1 file2 比較兩個文件的內(nèi)容只刪除 'file1'?所包含的內(nèi)容
comm -2?file1 file2 比較兩個文件的內(nèi)容只刪除 'file2'?所包含的內(nèi)容
comm -3?file1 file2 比較兩個文件的內(nèi)容只刪除兩個文件共有的部分六、打包和壓縮文件
-c :新建打包文件
-t :查看打包文件的內(nèi)容含有哪些文件名
-x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現(xiàn)在同一條命令中
-j :通過bzip2的支持進行壓縮/解壓縮
-z :通過gzip的支持進行壓縮/解壓縮
-v :在壓縮/解壓縮過程中,將正在處理的文件名顯示出來
-f filename :filename為要處理的文件
-C dir :指定壓縮/解壓縮的目錄dirbunzip2?file1.bz2 解壓一個叫做 'file1.bz2'的文件
bzip2 file1 壓縮一個叫做 'file1'?的文件
gunzip file1.gz 解壓一個叫做 'file1.gz'的文件
gzip file1 壓縮一個叫做 'file1'的文件
gzip -9?file1 最大程度壓縮
rar a file1.rar test_file 創(chuàng)建一個叫做 'file1.rar'?的包
rar a file1.rar file1 file2 dir1 同時壓縮 'file1', 'file2'?以及目錄 'dir1'?
rar x file1.rar 解壓rar包
zip file1.zip file1 創(chuàng)建一個zip格式的壓縮包
unzip file1.zip 解壓一個zip格式壓縮包
zip -r file1.zip file1 file2 dir1 將幾個文件和目錄同時壓縮成一個zip格式的壓縮包七.系統(tǒng)和關(guān)機(關(guān)機、重啟和登出)
shutdown?-h?now?關(guān)閉系統(tǒng)(1)
init?0?關(guān)閉系統(tǒng)(2)
telinit?0?關(guān)閉系統(tǒng)(3)
shutdown?-h?hours:minutes?&?按預(yù)定時間關(guān)閉系統(tǒng)
shutdown?-c?取消按預(yù)定時間關(guān)閉系統(tǒng)
shutdown?-r?now?重啟(1)
reboot?重啟(2)
logout?注銷
time?測算一個命令(即程序)的執(zhí)行時間八、進程相關(guān)的命令
-A :所有的進程均顯示出來
-a?:不與terminal有關(guān)的所有進程
-u?:有效用戶的相關(guān)進程
-x?:一般與a參數(shù)一起使用,可列出較完整的信息
-l?:較長,較詳細地將PID的信息列出
ps?aux # 查看系統(tǒng)所有的進程數(shù)據(jù)
ps?ax # 查看不與terminal有關(guān)的所有進程
ps?-lA # 查看系統(tǒng)所有的進程數(shù)據(jù)
ps?axjf # 查看連同一部分進程樹狀態(tài)-l 信號,若果不加信號的編號參數(shù),則使用“-l”參數(shù)會列出全部的信號名稱
-a 當處理當前進程時,不限制命令名和進程號的對應(yīng)關(guān)系
-p 指定kill?命令只打印相關(guān)進程的進程號,而不發(fā)送任何信號
-s 指定發(fā)送信號
-u 指定用戶[root@localhost test6]# kill -l
?1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
?5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
?9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN
35) SIGRTMIN+1??36) SIGRTMIN+2??37) SIGRTMIN+3??38) SIGRTMIN+4
39) SIGRTMIN+5??40) SIGRTMIN+6??41) SIGRTMIN+7??42) SIGRTMIN+8
43) SIGRTMIN+9??44) SIGRTMIN+10?45) SIGRTMIN+11?46) SIGRTMIN+12
47) SIGRTMIN+13?48) SIGRTMIN+14?49) SIGRTMIN+15?50) SIGRTMAX-14
51) SIGRTMAX-13?52) SIGRTMAX-12?53) SIGRTMAX-11?54) SIGRTMAX-10
55) SIGRTMAX-9??56) SIGRTMAX-8??57) SIGRTMAX-7??58) SIGRTMAX-6
59) SIGRTMAX-5??60) SIGRTMAX-4??61) SIGRTMAX-3??62) SIGRTMAX-2
63) SIGRTMAX-1??64) SIGRTMAXHUP 1 終端斷線
INT 2 中斷(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 終止
KILL????9????強制終止
CONT 18????繼續(xù)(與STOP相反, fg/bg命令)
STOP????19????暫停(同 Ctrl + Z)[root@localhost test6]# kill -l KILL
[root@localhost test6]# kill -l SIGKILL
[root@localhost test6]# kill -l TERM
[root@localhost test6]# kill -l SIGTERM
[root@localhost test6]#命令:kill 3268
[root@localhost test6]# ps?-ef|grep?vim?
root 3268??2884??0?16:21?pts/1????00:00:00?vim?install.log
root 3370??2822??0?16:21?pts/0????00:00:00?grep?vim
[root@localhost test6]# kill 3268命令:kill –9 3268 // -9 強制殺掉進程命令參數(shù):
-Z 只殺死擁有scontext 的進程
-e 要求匹配進程名稱
-I 忽略小寫
-g 殺死進程組而不是進程
-i 交互模式,殺死進程前先詢問用戶
-l 列出所有的已知信號名稱
-q 不輸出警告信息
-s 發(fā)送指定的信號
-v 報告信號是否成功發(fā)送
-w 等待進程死亡
--help 顯示幫助信息
--version 顯示版本顯示1:殺死所有同名進程
????killall nginx
????killall -9 bash
2.向進程發(fā)送指定信號
????killall -TERM ngixn 或者 killall -KILL?nginx(1)圖形化界面的方式
(2)kill?-9?pid (-9表示強制關(guān)閉)
(3)killall -9?程序的名字
(4)pkill 程序的名字netstat -tunlp|grep?端口號責編來源:jianshu.com/p/7c0df6fcfc71 如有文章對你有幫助,
歡迎關(guān)注??、點贊??、轉(zhuǎn)發(fā)??!
推薦,?Java面試題庫,詳情點擊: 牛逼!又發(fā)現(xiàn)了一款牛逼的Java面試題庫,史上最強! 點擊文末“閱讀原文”可直達
評論
圖片
表情


