五個(gè)提高效率的 Linux 命令技巧

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
























