五個提高效率的 Linux 命令技巧
使用 mkdir 創建多個文件夾
對于開發人員來說,經常要管理文件和目錄,創建多個目錄需要輸入大量重復命令。mkdir 命令有一個強大的技巧,可以使用大括號{}一次性創建多個目錄。
假設你要為項目中的多個服務創建不同環境(開發、測試和生產)的文件夾結構。你可能會這樣做:
mkdir dev
mkdir test
mkdir prod
當結構變得更復雜時會變得很麻煩。比如需要在所有三個環境中都為后端和前端服務創建文件夾,這個過程就會變得很繁瑣。
你可以使用 mkdir 和大括號{}將所有這些操作合并到一個命令中,從而高效地創建目錄組合。例如:
mkdir -p {dev,test,prod}/{backend,frontend}
下面是對這個命令的詳細解釋:
- -p 標志告訴 mkdir 根據需要創建父目錄(如果父目錄不存在就創建)。
- 大括號{}允許你指定多個選項,mkdir 會自動組合它們。
- 第一組{dev,test,prod}創建不同環境的目錄。
- 第二組{backend,frontend}創建不同服務的目錄。
當這個命令運行時,會創建以下結構的文件夾:
dev/ backend/ frontend/ test/ backend/ frontend/ prod/ backend/ frontend/
這種方法可以節省大量時間并減少人為錯誤,特別是在設置具有復雜文件夾結構的大型項目時。
使用 cd - 返回上一級目錄
作為程序員經常經常需要進入到嵌套很深的目錄里工作。例如,你可能會從項目的根目錄進入到代碼、配置文件或日志的子目錄。這時當你需要返回起始位置時,手動輸入 cd..多次來回到最初的目錄。
假設你在這樣一個目錄內中工作:
/home/user/projects/webapp/src/frontend/components
要返回項目根目錄,你通常可能需要多次輸入 cd..,如下所示:
cd..
cd..
cd..
cd..
僅僅為了回到/home/user/projects/就需要四個單獨的命令。非常繁瑣且容易出錯,比如多輸入一次或少輸入一次都無法切換到指定目錄里。
有一個更簡單、更快的替代方法:使用 cd -命令可以立即返回你之前所在的目錄,無論你的嵌套結構有多少層。
cd -命令不像 cd..那樣切換到父目錄下。它會回到你之前所在的最后一個目錄,就像瀏覽器中的“后退”按鈕一樣。
例如,假設你從項目的根目錄/home/user/projects/webapp/開始,然后進入嵌套目錄/home/user/projects/webapp/src/frontend/components。現在,你無需多次輸入 cd..來返回,只需簡單輸入:
cd -
你將立即回到/home/user/projects/webapp/。
使用 touch 創建多個文件
假設你需要為一系列測試用例創建 100 個文件,比如 test1.txt、test2.txt,一直到 test100.txt。使用單個 touch 命令來做這件事如下所示:
touch test1.txt
touch test2.txt
touch test3.txt
...
touch test100.txt
可以想象,這既繁瑣又耗時。你可以使用 touch 命令結合大括號{}中的數字范圍一次性快速創建多個文件:
touch test{1..100}.txt
通過在大括號{1..100}中添加數字范圍,可以創建編號從 1 到 100 的文件。
使用 tail -f 查看文件更新
工作中經常需要監控日志文件查找錯誤、調試程序。如果手動檢查日志文件效率低下。tail 命令有一個選項可以自動實時跟蹤文件更新。
假設你需要監控日志文件 error_file.log 以跟蹤任何新記錄的錯誤。通常,你可能會使用 tail 命令讀取文件的最后幾行,如下所示:
tail error_file.log
這只會獲取文件的當前狀態,不會實時更新。如果文件發生變化,將不得不重新運行命令以查看最新內容。
使用 tail -f 命令,你可以實時跟蹤日志文件的變化。這允許你看到添加到文件中的新行,而無需重新運行命令。
tail -f error_file.log
如果你想實時跟蹤日志文件但只關心特定內容,可以將 tail -f 與 grep 結合使用。例如:
tail -f error_file.log | grep "ERROR"
這個命令將只顯示包含“ERROR”單詞的行,幫助你過濾日志輸出以獲取相關信息。
使用 history 查找最近的命令
history 命令允許你查看之前執行的命令列表,假設你已經工作了一段時間,并且運行了一個復雜的 grep 或 find 命令,現在你需要再次使用它。你不太記得準確的語法,手動在終端中滾動查找很繁瑣。
history 命令會顯示你在當前 shell 會話中之前運行的命令列表。默認情況下,它會顯示你的整個命令歷史記錄,但你可以通過指定一個數字來限制它顯示的命令數量。例如:
history 5
這將顯示你執行的最后五個命令:
123 ls
124 cd src/
125 mkdir newdir
126 touch newfile.txt
127 history 5
命令前的數字是對應的編號。
你可以使用感嘆號(!)后跟命令編號快速重新執行歷史記錄中的任何命令。例如,如果你想重新運行上面的 mkdir newdir 命令(命令編號 125),你只需輸入:
!125