close

點擊,查看本書教學大綱

作為一名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

安裝之後,可以用**<TAB>的格式來完成大部分補齊:

vim **<TAB> # select files from current dir and editvim ../**<TAB> # select files from parent dir and editkill -9 <TAB> # auto complete process to killexport **<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 gitE: 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?$ fucksudo apt install git [enter/↑/↓/ctrl+c]Reading package lists... DoneBuilding dependency tree

▌4.top => htop

htop命令十分出名,這裡就不再贅述了。可以完全替換top命令。

$ 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

掃描,優惠購書

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()