最常用的Linux十大命令的升級(jí)替代品
作為一名Web開發(fā)者,Linux命令行是每天必用的工具。我整理了一些能夠提高日常生產(chǎn)力的小工具。一些工具可以作為系統(tǒng)自帶命令的替代品,另一些則提供操作系統(tǒng)沒(méi)有的功能。希望能對(duì)大家有幫助。
所有命令均在Ubuntu 18.04上測(cè)試過(guò)。
1.grep => ack, ag
ack和ag是兩個(gè)文本搜索工具,比自帶的grep要好用得多。在指定目錄下搜索文本時(shí),它們不需要像grep那樣指定各種命令行選項(xiàng),輸出結(jié)果也會(huì)包含文件名和行號(hào),并且會(huì)高亮顯示搜索關(guān)鍵字。
兩者的基本功能很相似,所以可以任選一個(gè)安裝。在Ubuntu 18.04上可以使用以下命令安裝:
- # Install ack
- $ sudo apt install ack
- # Install ag
- $ sudo apt install silversearcher-ag
在Ubuntu 16.04上,ack的包名是ack-grep,所以你需要使用 sudo apt install ack-grep來(lái)安裝。
2.fzf: 模糊查找
fzf是個(gè)模糊查找工具,主要用于命令行自動(dòng)補(bǔ)齊,它可以查找文件名、進(jìn)程名甚至環(huán)境變量。與系統(tǒng)自帶的自動(dòng)補(bǔ)齊相比,fzf能用列表的方式顯示備選項(xiàng),并且會(huì)即時(shí)根據(jù)輸入內(nèi)容進(jìn)行過(guò)濾,不用像自帶的自動(dòng)補(bǔ)齊那樣反復(fù)按tab鍵并在密密麻麻的結(jié)果中找了。
fzf不在Ubuntu的包里,所以需要從源代碼來(lái)安裝:
- git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
- ~/.fzf/install
安裝之后,可以用**的格式來(lái)完成大部分補(bǔ)齊:
- vim **<TAB> # select files from current dir and edit
- vim ../**<TAB> # select files from parent dir and edit
- kill -9 <TAB> # auto complete process to kill
- export **<TAB> # auto complete env var to export
- <C-R> # search command line history
更多用法請(qǐng)參見(jiàn)項(xiàng)目主頁(yè):https://github.com/junegunn/fzf。
3.TheFuck:命令行拼寫更正
輸入命令時(shí)最讓人頭疼的就是輸入了很長(zhǎng)的命令之后發(fā)現(xiàn)開頭打錯(cuò)了一個(gè)字母,或者忘了寫sudo。TheFuck就是用來(lái)解決這個(gè)問(wèn)題的。
用以下命令安裝:
- $ sudo apt install thefuck
然后需要將下面的命令加入到~/.bashrc中:
- eval $(thefuck --alias)
重新登錄(或者通過(guò) source ~/.bashrc重新加載)后,試試下面的操作:
- $ apt install git
- E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
- E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
- $ fuck
- sudo apt install git [enter/↑/↓/ctrl+c]
- Reading package lists... Done
- Building dependency tree
4.top => htop
htop命令十分出名,這里就不再贅述了。可以完全替換top命令。
- $ sudo apt install htop
- $ htop
5.traceroute => mtr
在查找網(wǎng)絡(luò)問(wèn)題時(shí),mtr命令更好用,而且比系統(tǒng)自帶的traceroute命令更快。
- $ sudo apt install mtr
跟蹤路由只需要輸入:
- $ mtr 8.8.8.8
該命令將啟動(dòng)一個(gè)GUI,顯示路由跟蹤的過(guò)程和結(jié)果。如果你喜歡文本界面,可以加入-t參數(shù):
- $ mtr -t 8.8.8.8
6.df => pydf
pydf可以用更簡(jiǎn)潔的方式顯示磁盤使用狀態(tài)。
- $ sudo apt install pydf
7.mc:文件管理器
mc的全稱是GNU Midnight Commander,是個(gè)命令行下非常好用的文件管理器。它采用左右兩個(gè)窗口的形式管理文件,并且還支持FTP和SFTP。當(dāng)你需要操作許多文件卻又無(wú)法訪問(wèn)GUI時(shí),比如在遠(yuǎn)程服務(wù)器上,那么mc是***的選擇。
提示:mc使用了F1~F10功能鍵。如果你的環(huán)境中F1~F10無(wú)法使用(比如通過(guò)終端模擬器使用mc,而功能鍵被綁定到了菜單上),那么可以使用Esc -> 0~9代替。
8.ftp => lftp
盡管現(xiàn)在FTP協(xié)議已經(jīng)不流行了,但有時(shí)候訪問(wèn)舊的資源時(shí)還是需要的。lftp是個(gè)非常優(yōu)秀的命令行FTP客戶端。與系統(tǒng)自帶的ftp相比,lftp支持mput和mget命令,可以用通配符上傳和下載文件,還有強(qiáng)大的mirror命令可以下載或上傳整個(gè)目錄。它甚至可以用torrent下載BitTorrent協(xié)議的文件!
- $ sudo apt install lftp
9.wget => aria2
aria2是個(gè)輕量級(jí)的下載工具,支持HTTP/HTTPS、FTP、SFTP、BitTorrent,而且最重要的是支持多線程下載。因此一般來(lái)說(shuō)它的下載速度比wget快得多。它還支持?jǐn)帱c(diǎn)續(xù)傳。使用示例請(qǐng)參見(jiàn)aria2的主頁(yè)(https://aria2.github.io/)。
- $ sudo apt install aria2
- $ aria2c https://example.com/ubuntu.iso
10.nnn:文件分析工具
磁盤空間緊張時(shí)我經(jīng)常會(huì)用du -sh *命令找出占用空間很大的文件和目錄并刪除它們。nnn可以做得更好。只需執(zhí)行nnn然后按大寫的S,即可看到所有目錄和文件的大小。
- $ sudo apt install nnn