Web 開發者需要知道的 12 個終端命令
終端是開發人員的軍火庫中最重要的生產力工具之一。把它掌握好了可以對你的工作產生非常積極的影響,比如許多的日常任務就可以簡化到只需要編寫簡單的命令然後按一下 Enter 就可以了。
本文我們會為你奉上一系列的 Unix 命令,它們可以幫助你充分地利用好終端。它們其中的一些是內置的,而其它的則是一些免費的工具,它們都經過了時間的考驗,而且安裝操作也可以在不到一分鐘的時間內完成。
Curl:https://curl.haxx.se/
Curl 是一個命令行工具,用來通過 HTTP(s),FTP 等其它幾十種你可能尚未聽說過的協議來發起網路請求。它可以下載文件,檢查響應消息頭以及方便地訪問遠程數據。
在 Web 開發中, Curl 經常被用來測試連接,還有調用 REST 風格的 API。
Curl 的用法還可以比這更複雜。它有許多選項可以用來控制消息頭,Cookie,身份驗證等等這些要素。你可以通過 Everything curl 這本優秀的電子書來了解更多。
Tree:https://www.computerhope.com/unix/tree.htm
Tree 是一個小巧的命令行工具程序,它可以用可視化的效果向你展示一個目錄下的文件。它的運行是遞歸的,會以樹的形式遍歷每個級別的嵌套關係,並顯示出每一級目錄。 如此你就可以快速地進行瀏覽並找到自己想要的文件。
它還擁有使用一種類正則表達式的模式來對結果集進行過濾的選項。
Tmux:https://tmux.github.io/
根據維基的描述,Tmux 是一個終端復用器,說人話就是,它是一個可以將多個終端連接到單個終端會話的工具。
一個 Tmux 終端帶有三個分屏的效果
它讓你可以在一個終端中進行程序之間的切換,添加分屏窗格,還有就是將多個終端連接到同一個會話,使它們保持同步。 當你在遠程伺服器上工作時,Tmux 特別有用,因為它可以讓你創建新的選項卡,然後在選項卡之間切換,而無需反反覆復的退出然後登錄。
Disk usage - du:https://www.computerhope.com/unix/udu.htm
運行 du 命令會生成相關文件和有關目錄的空間使用情況的報告。它很容易使用,也可以遞歸地運行,會遍歷每個子目錄並且返回每個文件的單個大小。
du 通常在你發現某個驅動器的空間不足,但不知道是因為什麼造成的時候使用。使用此命令可以快速查看每個文件夾所佔用的存儲空間,從而把耗費存儲的大戶給找出來。
還有一個用途類似的命令 df(Disk Free),它會返回關於可用磁碟空間的各種信息(與 du 正好相反)。
Git:https://git-scm.com/
Git 是迄今為止最流行的版本控制系統。它是現代 Web 開發的指定工具之一,我們根本沒辦法把它從列表中給刪掉。
儘管有很多的第三方應用和工具可用,但是大多數人還是喜歡通過終端對 git 來進行本地訪問。git CLI 真的很強大,可以用來處理那些盤根錯節的項目歷史。
如果想了解更多的關於 git 的信息,建議你看看我們的教程「30 分鐘學會用 Git」。
Tar:https://www.computerhope.com/unix/utar.htm
Tar 是用來處理文件壓縮的默認 Unix 工具。它能讓你快速的將多個文件打成一個包,這樣在後續就更加容易存儲和移動它們了。
使用 -x 選項可以對現有的 .tar 壓縮包進行解壓縮操作。
注意大多數其它的格式,像 .zip 和 .rar 這些,都不能使用 tar 來打開,而是需要用其它的像 unzip 這樣的工具來進行操作。
如今許多的 Unix 系統都運行著一個 tar 的擴展版本 (GNU tar) ,它也還可以執行限定文件大小的壓縮操作。
如果你的操作系統並不支持該版本的 tar,還可以使用 gzip, zcat 或者 compress 來限制文件壓縮包的大小。
md5sum:https://en.wikipedia.org/wiki/Md5sum
Unix 內置了一些像 md5sum、sha1sum 這樣的命令行工具,它們在編程中有各自的作用,但最重要的是它們可以用來檢查文件的完整性。
譬如,如果你從不受信的網路下載了一個 .iso 文件,這個文件中存在惡意腳本的風險。為了確認這個 .iso 是安全的,你可以生成它的 md5 或者其它摘要信息。
然後將生成的字元串與原作者提供的(比如 UbuntuHashes)進行比較。
Htop:http://hisham.hm/htop/
Htop 是個比內置的 top 任務管理更強大的工具。它提供了帶有諸多選項的高級介面用於監控系統進程。
運行中的 htop 任務管理器
雖然 htop 在終端中運行,但它對滑鼠操作支持良好。所以使用 htop 的菜單導航、選擇進程,以及通過排序和過濾來管理任務都很容易。
Ln:https://www.computerhope.com/unix/uln.htm
Unix 裡面的鏈接同 Windows 中的快捷方式類似,允許你快速地訪問到一個特定的文件。鏈接可以通過 ln 命令創建出來,而且可以有兩種類型 : 硬的(hard) 或者符號的(symbolic)。每種類型都有不同的屬性而且各有其用途 (了解更多)。
這裡有一個示例,展示了使用鏈接的最常見方式。假如說我們在桌面上有一個目錄叫做 Scripts,裡面整齊的擺放著我們最常用的 bash 腳本。每次我們想要調用其中的一個腳本的時候,我們會這樣做:
顯然,這樣做並不方便,每次我們都得寫絕對路徑。其實我們可以創建一個 symlink,將 Scripts 文件夾鏈接到 /usr/local/bin,這樣就能讓腳本在所有的目錄下面都可以執行。
有了這個創建好的 symlink,我們現在就可以簡單地通過其名稱在任意一個打開的終端中執行腳本了。
SSH:https://www.ssh.com/ssh/command/
使用 ssh 命令,用戶可以快速地連接到一個遠程主機,然後登錄進入其 Unix shell。這就使得通過自己本地機器的終端在伺服器上提交指令成為了可能。
要定位一個連接,你只需要指定正確的 IP 地址或者 url 就行了。在你第一次連接到一台新的伺服器的時候,會需要某種形式的認證。
如果你需要快速地在伺服器上面執行一條命令,但又不想登錄,在 url 之後加上一條命令就可以了。命令將會在伺服器上執行,而執行結果也會從它那裡返回。
你還可以用 SHH 做更多事情,像創建代理或者隧道,用私鑰來保護你的連接,傳輸文件等。在這裡的一個指南中你可以了解到更多信息。
Grep:https://www.computerhope.com/unix/ugrep.htm
Grep 是一個用來在文本中查找字元串的標準 Unix 工具。它可以從一個文件或者直接就是流的形式獲取到輸入, 通過一個正則表達式來分析內容,然後返回匹配的行。
該命令在需要對大型文件進行內容過濾的時候非常趁手。下面我們利用 grep 結合 date 命令,來在一個大型的日誌文件中進行查找,然後生成一個只包含當天錯誤日誌的新文件。
另外一個用來操作字元串的強大工具就是 sed。它比起 grep 更加強大 (當然也更加複雜),可以執行幾乎所有的字元串相關的操作任務,包括添加、刪除還有替換字元串的內容。
Alias:https://www.computerhope.com/unix/ualias.htm
許多的 Unix 命令,包括本文中提到的一些,在你加上許多選項之後,看起來都相當的長了。為了能更加容易記憶,你可以使用 alias 這個 bash 內置的命令來為它們創建一個短別名:
只要你保持終端一直是打開的狀態, 別名就一直會是可用的。如果想永久使用的話,你可以將 alias 命令操作寫到你的 .bashrc 文件中去。
※八款常用的 Python GUI 開發框架推薦
※入坑 Kotlin 開發前,這些項目能讓你少走彎路
※最實用的 Linux 命令行使用技巧
※給 Web 開發人員推薦的測試工具
※六大理由告訴你為什麼 GNOME 仍然是最好的 Linux
TAG:OSC開源社區 |