核心概念#
每位木工都需要一個堅固可靠的工作台。對於操縱文字檔案的程式設計師來說,那個工作台就是命令列 shell。從 shell 提示字元中,你可以調用全部的工具庫,使用管線將它們以原始開發者從未想到的方式組合。你可以啟動應用程式、除錯器、瀏覽器、編輯器和工具程式。你可以搜尋檔案、查詢系統狀態、過濾輸出。透過 shell 程式設計,你可以為經常執行的活動建立複雜的巨集命令。
GUI 的限制#
對於在 GUI 介面和 IDE 中長大的程式設計師來說,這可能看起來很極端。簡單的回答是「不」——用 GUI 你無法做到所有事情。
GUI 的好處是 WYSIWYG(所見即所得),缺點是 WYSIAYG(所見即全部所得)。GUI 環境通常被限制在設計者預想的功能範圍內。如果你需要超越設計者提供的模式,通常就會束手無策。
務實的程式設計師不只是寫程式——我們做所有事情:寫文件、建立物件模型、自動化建置流程。任何單一工具的範圍通常只限於它被期望執行的任務。
Tip 26 - Use the Power of Command Shells(使用命令列 shell 的威力)
客製化你的 Shell#
就像木工會客製化工作空間一樣,開發者也應該客製化 shell。常見的客製化包括:
- 設定色彩主題:可以花很多時間嘗試各種主題
- 配置提示字元:顯示當前目錄名和版本控制狀態等資訊
- 別名和 shell 函數:將常用命令簡化為簡單的別名
- 例如
alias apt-up='sudo apt-get update && sudo apt-get upgrade' - 例如
alias rm='rm -iv'(防止意外刪除檔案)
- 例如
- 命令補全:配置 shell 識別你正在輸入的命令並提供上下文相關的補全
你會花大量時間生活在 shell 中。像寄居蟹一樣,把它變成自己的家。
相關章節#
- Topic 13,原型與便利貼
- Topic 16,純文字的威力
- Topic 21,操縱文字
- Topic 30,轉換式程式設計
- Topic 51,務實的入門套件