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