2018 年最常用的 linux 命令 top10

2018 年最常用的 linux 命令 top10
ofollow,noindex">2018 年最常用的 linux 命令 top10 ,這裡列出最常用的 linux 命令 top10,資訊收集整理與網路,並不代表所有有人認同,該內容僅供大家參考。
也許你登入 linux系統 ,開啟終端第一個 linux 命令就是 cd,也能你第一個命令時 ls,也許,有很多也許。。。
1. cd
Linux cd命令用於切換當前工作目錄至 dirName(目錄引數)。
其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home 目錄 (也就是剛 login 時所在的目錄)。
另外,"~" 也表示為 home 目錄 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。
語法
cd [dirName]
dirName:要切換的目標目錄。
例項
跳到 /usr/bin/ :
cd /usr/bin
跳到自己的 home 目錄 :
cd ~
跳到目前目錄的上上兩層 :
cd ../..
2. ls
ls 命令會列出當前該目錄下所有的內容(檔案及資料夾),加 -l 會列出檔案的詳細資訊,類似於命令ll。
語法
ls [-alrtAFR] [name...]
引數 :
- -a 顯示所有檔案及目錄 (ls內定將檔名或目錄名稱開頭為"."的視為隱藏檔,不會列出)
- -l 除檔名稱外,亦將檔案型態、許可權、擁有者、檔案大小等資訊詳細列出
- -r 將檔案以相反次序顯示(原定依英文字母次序)
- -t 將檔案依建立時間之先後次序列出
- -A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
- -F 在列出的檔名稱後加一符號;例如可執行檔則加 "*", 目錄則加 "/"
- -R 若目錄下有檔案,則以下之檔案亦皆依序列出
例項
列出根目錄()下的所有目錄:
# ls / bindevlibmedianetrootsrvuploadwww bootetclib64miscoptsbinsysusr homelost+foundmntprocselinuxtmpvar
列出目前工作目錄下所有名稱是 s 開頭的檔案,越新的排越後面 :
ls -ltr s*
將 /bin 目錄以下所有目錄及檔案詳細資料列出 :
ls -lR /bin
列出目前工作目錄下所有檔案及目錄;目錄於名稱後加 "/", 可執行檔於名稱後加 "*" :
ls -AF
3. ps
ps命令用於顯示正在執行中的程序的資訊。
語法
ps [options] [--help]
引數:
ps 的引數非常多, 在此僅列出幾個常用的引數並大略介紹含義
- -A 列出所有的行程
- -w 顯示加寬可以顯示較多的資訊
- -au 顯示較詳細的資訊
- -aux 顯示所有包含其他使用者的行程
au(x) 輸出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- USER: 行程擁有者
- PID: pid
- %CPU: 佔用的 CPU 使用率
- %MEM: 佔用的記憶體使用率
- VSZ: 佔用的虛擬記憶體大小
- RSS: 佔用的記憶體大小
- TTY: 終端的次要裝置號碼 (minor device number of tty)
- STAT: 該行程的狀態:
- D: 不可中斷的靜止 (通悸□□縝b進行 I/O 動作)
- R: 正在執行中
- S: 靜止狀態
- T: 暫停執行
- Z: 不存在但暫時無法消除
- W: 沒有足夠的記憶體分頁可分配
- <: 高優先序的行程
- N: 低優先序的行程
- L: 有記憶體分頁分配並鎖在記憶體內 (實時系統或捱A I/O)
- START: 行程開始時間
- TIME: 執行的時間
- COMMAND:所執行的指令
例項
# ps -A 顯示程序資訊 PID TTYTIME CMD 1 ?00:00:02 init 2 ?00:00:00 kthreadd 3 ?00:00:00 migration/0 4 ?00:00:00 ksoftirqd/0 5 ?00:00:00 watchdog/0 6 ?00:00:00 events/0 7 ?00:00:00 cpuset 8 ?00:00:00 khelper 9 ?00:00:00 netns 10 ?00:00:00 async/mgr 11 ?00:00:00 pm 12 ?00:00:00 sync_supers 13 ?00:00:00 bdi-default 14 ?00:00:00 kintegrityd/0 15 ?00:00:02 kblockd/0 16 ?00:00:00 kacpid 17 ?00:00:00 kacpi_notify 18 ?00:00:00 kacpi_hotplug 19 ?00:00:27 ata/0 ……省略部分結果 30749 pts/000:00:15 gedit 30886 ?00:01:10 qtcreator.bin 30894 ?00:00:00 qtcreator.bin 31160 ?00:00:00 dhclient 31211 ?00:00:00 aptd 31302 ?00:00:00 sshd 31374 pts/200:00:00 bash 31396 pts/200:00:00 ps
顯示指定使用者資訊
# ps -u root //顯示root程序使用者資訊 PID TTYTIME CMD 1 ?00:00:02 init 2 ?00:00:00 kthreadd 3 ?00:00:00 migration/0 4 ?00:00:00 ksoftirqd/0 5 ?00:00:00 watchdog/0 6 ?00:00:00 events/0 7 ?00:00:00 cpuset 8 ?00:00:00 khelper 9 ?00:00:00 netns 10 ?00:00:00 async/mgr 11 ?00:00:00 pm 12 ?00:00:00 sync_supers 13 ?00:00:00 bdi-default 14 ?00:00:00 kintegrityd/0 15 ?00:00:02 kblockd/0 16 ?00:00:00 kacpid ……省略部分結果 30487 ?00:00:06 gnome-terminal 30488 ?00:00:00 gnome-pty-helpe 30489 pts/000:00:00 bash 30670 ?00:00:00 debconf-communi 30749 pts/000:00:15 gedit 30886 ?00:01:10 qtcreator.bin 30894 ?00:00:00 qtcreator.bin 31160 ?00:00:00 dhclient 31211 ?00:00:00 aptd 31302 ?00:00:00 sshd 31374 pts/200:00:00 bash 31397 pts/200:00:00 ps
顯示所有程序資訊,連同命令列
# ps -ef //顯示所有命令,連帶命令列 UIDPID PPID C STIME TTYTIME CMD root10 0 10:22 ?00:00:02 /sbin/init root20 0 10:22 ?00:00:00 [kthreadd] root32 0 10:22 ?00:00:00 [migration/0] root42 0 10:22 ?00:00:00 [ksoftirqd/0] root52 0 10:22 ?00:00:00 [watchdog/0] root62 0 10:22 ?/usr/lib/NetworkManager ……省略部分結果 root31302 2095 0 17:42 ?00:00:00 sshd: root@pts/2 root31374 31302 0 17:42 pts/200:00:00 -bash root314001 0 17:46 ?00:00:00 /usr/bin/python /usr/sbin/aptd root31407 31374 0 17:48 pts/200:00:00 ps -ef
4. pwd
Linux pwd命令用於顯示工作目錄。
執行pwd指令可立刻得知您目前所在的工作目錄的絕對路徑名稱。
語法
pwd [--help][--version]
引數說明:
- --help 線上幫助。
- --version 顯示版本資訊。
例項
檢視當前所在目錄:
# pwd /root/test#輸出結果
5. clear
Linux clear命令用於清除螢幕。當螢幕已經輸出一堆東西時候,你想清空迴歸乾淨的螢幕,避免干擾,那麼執行clear使最好的選擇。
語法
clear
例項
清屏
#clear
6. cat
cat 檢視檔案內容命令,命令用於連線檔案並列印到標準輸出裝置上。
語法格式
cat [-AbeEnstTuv] [--help] [--version] fileName
引數說明:
- -n 或 --number:由 1 開始對所有輸出的行數編號。
- -b 或 --number-nonblank:和 -n 相似,只不過對於空白行不編號。
- -s 或 --squeeze-blank:當遇到有連續兩行以上的空白行,就代換為一行的空白行。
- -v 或 --show-nonprinting:使用 ^ 和 M- 符號,除了 LFD 和 TAB 之外。
- -E 或 --show-ends : 在每行結束處顯示 $。
- -T 或 --show-tabs: 將 TAB 字元顯示為 ^I。
- -A, --show-all:等價於 -vET。
- -e:等價於"-vE"選項;
- -t:等價於"-vT"選項;
例項:
把 textfile1 的文件內容加上行號後輸入 textfile2 這個文件裡:
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文件內容加上行號(空白行不加)之後將內容附加到 textfile3 文件裡:
cat -b textfile1 textfile2 >> textfile3
清空 /etc/test.txt 文件內容:
cat /dev/null > /etc/test.txt
cat 也可以用來製作映象檔案。例如要製作軟盤的映象檔案,將軟盤放好後輸入:
cat /dev/fd0 > OUTFILE
相反的,如果想把 image file 寫到軟盤,輸入:
cat IMG_FILE > /dev/fd0
注:
- 1. OUTFILE 指輸出的映象檔名。
- 2. IMG_FILE 指映象檔案。
- 3. 若從映象檔案寫回 device 時,device 容量需與相當。
- 4. 通常用製作開機磁片。
7. rm
Linux rm命令用於刪除一個檔案或者目錄。
語法
rm [options] name...
引數:
- -i 刪除前逐一詢問確認。
- -f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。
- -r 將目錄及以下之檔案亦逐一刪除。
例項
刪除檔案可以直接使用 rm 命令,若刪除目錄則必須配合選項"-r",(這是一條頻繁使用但也可能讓你“跑路”的命令,它有那個能力!!!!) 例如:
# rmtest.txt
rm:是否刪除 一般檔案 "test.txt"? y
# rmhomework
rm: 無法刪除目錄"homework": 是一個目錄
# rm-rhomework
rm:是否刪除 目錄 "homework"? y
刪除當前目錄下的所有檔案及目錄,命令列為:
rm-r*
檔案一旦通過rm命令刪除,則無法恢復,所以必須格外小心地使用該命令。
8. find
find
命令用來在指定目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,不設定任何引數,則 find 命令將在當前目錄下查詢子目錄與檔案。並且將查詢到的子目錄和檔案全部進行顯示。
語法
findpath-option[-print ][ -exec-okcommand ]{} \;
引數說明 :
find 根據下列規則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之後的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression。
expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。
-
-mount, -xdev : 只檢查和指定目錄在同一個檔案系統下的檔案,避免列出其它檔案系統中的檔案
-
-amin n : 在過去 n 分鐘內被讀取過
-
-anewer file : 比檔案 file 更晚被讀取過的檔案
-
-atime n : 在過去n天內被讀取過的檔案
-
-cmin n : 在過去 n 分鐘內被修改過
-
-cnewer file :比檔案 file 更新的檔案
-
-ctime n : 在過去n天內被修改過的檔案
-
-empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱是 name
-
-ipath p, -path p : 路徑名稱符合 p 的檔案,ipath 會忽略大小寫
-
-name name, -iname name : 檔名稱符合 name 的檔案。iname 會忽略大小寫
-
-size n : 檔案大小 是 n 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。-type c : 檔案型別是 c 的檔案。
-
d: 目錄
-
c: 字型裝置檔案
-
b: 區塊裝置檔案
-
p: 具名貯列
-
f: 一般檔案
-
l: 符號連結
-
s: socket
-
-pid n : process id 是 n 的檔案
你可以使用 ( ) 將運算式分隔,並使用下列運算。
exp1 -and exp2 ! expr -not expr exp1 -or exp2 exp1, exp2
例項
將目前目錄及其子目錄下所有延伸檔名是 c 的檔案列出來。
# find . -name "*.c"
將目前目錄其其下子目錄中所有一般檔案列出
# find . -type f
將目前目錄及其子目錄下所有最近 20 天內更新過的檔案列出
# find . -ctime -20
查詢/var/log目錄中更改時間在7日以前的普通檔案,並在刪除之前詢問它們:
# find /var/log -type f -mtime +7 -ok rm {} \;
查詢前目錄中檔案屬主具有讀、寫許可權,並且檔案所屬組的使用者和其他使用者具有讀許可權的檔案:
# find . -type f -perm 644 -exec ls -l {} \;
為了查詢系統中所有檔案長度為0的普通檔案,並列出它們的完整路徑:
# find / -type f -size 0 -exec ls -l {} \;
9.kill
kill 命令用於刪除執行中的程式或工作。
kill 可將指定的資訊送至程式。預設的資訊為SIGTERM(15),可將指定程式終止。若仍無法終止該程式,可使用SIGKILL(9)資訊嘗試強制刪除程式。程式或工作的編號可利用 ps 指令或 jobs 指令檢視。
語法
kill [-s <資訊名稱或編號>][程式]或kill [-l <資訊編號>]
引數說明:/h4> -l <資訊編號> 若不加<資訊編號>選項,則-l引數會列出全部的資訊名稱。 -s <資訊名稱或編號> 指定要送出的資訊。
[程式] [程式]可以是程式的PID或是PGID,也可以是工作編號。
例項/h4>
殺死程序
# kill 12345
強制殺死程序
# kill -KILL 123456
傳送SIGHUP訊號,可以使用一下訊號
# kill -HUP pid
徹底殺死程序
# kill -9 123456
顯示訊號
# kill -l 1) SIGHUP2) SIGINT3) SIGQUIT4) SIGILL5) SIGTRAP 6) SIGABRT7) SIGBUS8) SIGFPE9) SIGKILL10) SIGUSR1 11) SIGSEGV12) SIGUSR213) SIGPIPE14) SIGALRM15) SIGTERM 16) SIGSTKFLT17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP 21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU25) SIGXFSZ 26) SIGVTALRM27) SIGPROF28) SIGWINCH29) SIGIO30) SIGPWR 31) SIGSYS34) SIGRTMIN35) SIGRTMIN+136) SIGRTMIN+237) SIGRTMIN+3 38) SIGRTMIN+439) SIGRTMIN+540) SIGRTMIN+641) SIGRTMIN+742) SIGRTMIN+8 43) SIGRTMIN+944) SIGRTMIN+1045) SIGRTMIN+1146) SIGRTMIN+1247) SIGRTMIN+13 48) SIGRTMIN+1449) SIGRTMIN+1550) SIGRTMAX-1451) SIGRTMAX-1352) SIGRTMAX-12 53) SIGRTMAX-1154) SIGRTMAX-1055) SIGRTMAX-956) SIGRTMAX-857) SIGRTMAX-7 58) SIGRTMAX-659) SIGRTMAX-560) SIGRTMAX-461) SIGRTMAX-362) SIGRTMAX-2 63) SIGRTMAX-164) SIGRTMAX
殺死指定使用者所有程序
#kill -9 $(ps -ef | grep hnlinux) //方法一 過濾出hnlinux使用者程序 #kill -u hnlinux //方法二
10. man
顯示某個命令的 man 頁面,最佳學習命令,如果不理解linux的某一個命令那麼你只需要通過man就可快速檢視改命令的詳細介紹。
不論是新手老手,man 命令都是你檢視命令詳細介紹時的常用命令。
man 命令
總結
如果看到這裡,相比你已經大致瀏覽過這篇 2018 年最常用的 linux 命令 top10,這裡不是權威,不是絕對,僅僅是一份供您參考的舉例。
在您的心裡也許有更常用的 linux 命令,如果你有不通已經歡迎留言,說出你心中最常用的 linux 命令。