剛好看到一個系列的博文,講的就是那些平時很少被人用到但是很實用的命令,選一些覺得自己應該比較常用到的出來寫個筆記。
這些命令有些不是系統命令,需要自行下載安裝。Debian下安裝:sudo apt-get install XXXX。RHEL下安裝:yum install XXXX。
1、mtr,同時兼具ping和traceroute命令的功能:比如追蹤發到www.baidu.com的數據包走向,在可視化界面下會彈出一個對話框:
mtr www.baidu.com

可見,顯示的數據很完全,包括丟包率神馬的,最后一跳是115.239.209.10,這個地址是正確的。
2、Ctrl+x+e在終端開啟的情況下按ctrl+x+e會馬上進入文本模式,輸入玩文本之后按ctrl+x退出,保存(均有選項提示),最后輸入保存路徑和文件名即可,默認保存在/tmp文件夾下:

ss意為socket statistics,這個命令跟netstat命令相似,顯示的為TCP連接信息等:

last命令顯示的是用戶登入和登出的歷史記錄,該歷史記錄來源于/var/log/wtmp文件。



history命令可以查看輸入過的命令歷史,似乎是以常量字符串形式保存的,所以相同的只會存一條:

該命令能夠詳細列出一個文件的信息,比如大小、權限、最后一次訪問時間、最后一次修改時間等等,也是一個比較實用的命令。

在電影里黑客敲代碼的時候覺得特別帶感是么,代碼慢慢地打印出來,pv命令即可做到,雖然實在是沒啥實際用途,先用apt-get或yum安裝,然后輸入如下命令測試
10、mount | column -t命令組合,顯示當前的掛載列表:echo "這只是一個簡單的測試,終端里會逐個打印出文本內容" | pv -qL 20
該命令組合可以顯示當前掛載的文件系統的列表:

我們當然也可以用clear命令清空終端顯示內容,但是ctrl+l明顯要方便許多。
12、file命令,獲悉文件類型:file命令同時會告訴你文件的編碼方式:
![]()
有種不明覺厲的感覺,這個命令列舉出詳細的id信息,不過暫時不知道這些id信息拿來做什么用:

該命令與cron命令類似,在指定時間執行用戶命令,比如:
echo "ls -l > /dev/pts/0" | at 14:12 或者 echo "ls -l > /dev/pts/0" | at 2:12 PM
意思是在指定時間下午2:12將文件夾內詳細信息寫入/dev/pts/0文件中,“>”符號可以加輸出內容沖刷到指定文件。
15、du -h --max-depth=n命令:該命令將當前目錄下的子文件夾(n指定最多遞歸幾層)大小以帶單位的形式輸出終端,比如(對比ls -l):

如果你對自己輸入的英文單詞不確定是不是這么拼,最直接地可以百度、google,當然Linux自帶了模糊檢查工具,比如我想拼difficult,但是不知道對不對,模糊輸入look diffi,它會給出答案給你:


很有才,cat倒過來就是tac,完了這個命令的功能還真是逆序輸出文本內容:

一般我們開個終端執行某個命令,關掉終端的話這個進程就結束了,但是如果使用disown -a && exit命令,則能讓該進程在終端關閉后,仍然能在后臺運行,格式為:
20、convert命令,輸出終端結果為指定文件類型:$ 要運行的命令 ; disown -a && exit
比如我希望把指定文件夾的結構樹圖輸出為png圖像:
tree | convert label:@- /home/nerohwang/Desktop/tree.png

問號顯示的是中文字符,沒辦法識別,亂碼。
21、host和dig命令,查找指定主機的可用ip地址:比如查找谷歌的DNS對應的IP,host命令:

dig命令則更加詳細:

該命令動態地更新顯示系統信息,可以從對應的進程ID判斷資源的使用情況:

命令使用方法是:
nc -zv 主機名或地址 端口號
比如我想知道www.baidu.com的80端口開放情況:
![]()
如果查看本地端口情況的話把地址換成localhost或者127.0.0.1即可。
24、pdftk命令,合并多個pdf:命令使用方式為:
25、ps -LF -u user_name命令,顯示指定用戶執行的進程信息:pdftk 1.pdf 2.pdf 3.pdf …. 10.pdf cat output merged.pdf

新聞熱點
疑難解答