最常用的Linux十大命令的升級替代品
作為一名Web開發者,Linux命令行是每天必用的工具。我整理了一些能夠提高日常生產力的小工具。一些工具可以作為系統自帶命令的替代品,另一些則提供操作系統沒有的功能。希望能對大家有幫助。
所有命令均在Ubuntu 18.04上測試過。
1.grep => ack, ag
ack和ag是兩個文本搜索工具,比自帶的grep要好用得多。在指定目錄下搜索文本時,它們不需要像grep那樣指定各種命令行選項,輸出結果也會包含文件名和行號,并且會高亮顯示搜索關鍵字。
兩者的基本功能很相似,所以可以任選一個安裝。在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來安裝。
2.fzf: 模糊查找
fzf是個模糊查找工具,主要用于命令行自動補齊,它可以查找文件名、進程名甚至環境變量。與系統自帶的自動補齊相比,fzf能用列表的方式顯示備選項,并且會即時根據輸入內容進行過濾,不用像自帶的自動補齊那樣反復按tab鍵并在密密麻麻的結果中找了。
fzf不在Ubuntu的包里,所以需要從源代碼來安裝:
- git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
- ~/.fzf/install
安裝之后,可以用**的格式來完成大部分補齊:
- 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
更多用法請參見項目主頁:https://github.com/junegunn/fzf。
3.TheFuck:命令行拼寫更正
輸入命令時最讓人頭疼的就是輸入了很長的命令之后發現開頭打錯了一個字母,或者忘了寫sudo。TheFuck就是用來解決這個問題的。
用以下命令安裝:
- $ sudo apt install thefuck
然后需要將下面的命令加入到~/.bashrc中:
- eval $(thefuck --alias)
重新登錄(或者通過 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命令十分出名,這里就不再贅述了??梢酝耆鎿Qtop命令。
- $ sudo apt install htop
- $ htop
5.traceroute => mtr
在查找網絡問題時,mtr命令更好用,而且比系統自帶的traceroute命令更快。
- $ sudo apt install mtr
跟蹤路由只需要輸入:
- $ mtr 8.8.8.8
該命令將啟動一個GUI,顯示路由跟蹤的過程和結果。如果你喜歡文本界面,可以加入-t參數:
- $ mtr -t 8.8.8.8
6.df => pydf
pydf可以用更簡潔的方式顯示磁盤使用狀態。
- $ sudo apt install pydf
7.mc:文件管理器
mc的全稱是GNU Midnight Commander,是個命令行下非常好用的文件管理器。它采用左右兩個窗口的形式管理文件,并且還支持FTP和SFTP。當你需要操作許多文件卻又無法訪問GUI時,比如在遠程服務器上,那么mc是***的選擇。
提示:mc使用了F1~F10功能鍵。如果你的環境中F1~F10無法使用(比如通過終端模擬器使用mc,而功能鍵被綁定到了菜單上),那么可以使用Esc -> 0~9代替。
8.ftp => lftp
盡管現在FTP協議已經不流行了,但有時候訪問舊的資源時還是需要的。lftp是個非常優秀的命令行FTP客戶端。與系統自帶的ftp相比,lftp支持mput和mget命令,可以用通配符上傳和下載文件,還有強大的mirror命令可以下載或上傳整個目錄。它甚至可以用torrent下載BitTorrent協議的文件!
- $ sudo apt install lftp
9.wget => aria2
aria2是個輕量級的下載工具,支持HTTP/HTTPS、FTP、SFTP、BitTorrent,而且最重要的是支持多線程下載。因此一般來說它的下載速度比wget快得多。它還支持斷點續傳。使用示例請參見aria2的主頁(https://aria2.github.io/)。
- $ sudo apt install aria2
- $ aria2c https://example.com/ubuntu.iso
10.nnn:文件分析工具
磁盤空間緊張時我經常會用du -sh *命令找出占用空間很大的文件和目錄并刪除它們。nnn可以做得更好。只需執行nnn然后按大寫的S,即可看到所有目錄和文件的大小。
- $ sudo apt install nnn