Linux 10 個鮮為人知的命令
Linux 是一種流行的作業系統,因其靈活、穩定和安全而被廣泛使用。它還以其命令列介面而聞名,該介面為使用者提供了一種強大的方式與系統互動。雖然許多 Linux 命令廣為人知且被廣泛使用,但也有一些鮮為人知的命令在某些任務中非常有用。在本文中,我們將探討其中一些鮮為人知的 Linux 命令。
xargs
xargs 命令用於執行從標準輸入讀取引數的命令。當您需要對大量檔案或目錄執行命令時,此命令特別有用。例如,假設您有一個包含數千個檔案的目錄,需要將其移動到另一個位置。與其為每個檔案鍵入命令,不如使用 xargs 命令一次性完成。以下是一個示例 -
$ find . -type f -name '*.txt' | xargs -I{} mv {} /tmp
在此示例中,find 命令用於搜尋當前目錄及其子目錄中所有副檔名為 '.txt' 的檔案。然後將此命令的輸出透過管道傳遞給 xargs,xargs 從標準輸入讀取每個檔名並將其作為引數傳遞給 mv 命令。-I{} 選項告訴 xargs 將字串 '{}' 替換為檔名。
tee
tee 命令用於將輸出重定向到檔案和標準輸出 (stdout) 流。當您希望將命令的輸出儲存到檔案並在終端螢幕上檢視時,此命令特別有用。以下是一個示例 -
$ ls | tee output.txt
在此示例中,ls 命令列出當前目錄及其子目錄中的所有檔案和目錄。然後將此命令的輸出透過管道傳遞給 tee,tee 將其儲存到檔案 output.txt 並將其顯示在終端螢幕上。
nl
nl 命令用於向檔案新增行號。當您希望引用大型檔案中的特定行時,此命令特別有用。以下是一個示例 -
$ nl myfile.txt
在此示例中,nl 命令向檔案 myfile.txt 新增行號並在終端螢幕上顯示輸出。
watch
watch 命令用於以指定的時間間隔重複執行命令。當您希望即時監控命令的輸出時,此命令特別有用。以下是一個示例 -
$ watch -n 1 'ls -l'
在此示例中,watch 命令每秒執行一次 ls -l 命令並在終端螢幕上顯示輸出。
sort
sort 命令用於按指定順序對檔案的行進行排序。當您希望對大型檔案的內容進行排序時,此命令特別有用。以下是一個示例 -
$ sort -n myfile.txt
在此示例中,sort 命令按數字順序對檔案 myfile.txt 的行進行排序並在終端螢幕上顯示輸出。
split
split 命令用於將檔案拆分為較小的片段。當您需要透過檔案大小限制有限的網路傳輸大型檔案時,此命令特別有用。以下是一個示例 -
$ split -b 1m bigfile.txt smallfile
在此示例中,split 命令將檔案 bigfile.txt 拆分為每個 1 MB 的較小檔案。生成的這些檔案分別命名為 smallfileaa、smallfileab、smallfileac 等。
du
du 命令用於顯示檔案和目錄的磁碟使用情況。當您想知道哪些檔案或目錄佔用硬碟驅動器上最大空間時,此命令特別有用。以下是一個示例 -
$ du -sh *
在此示例中,du 命令顯示當前目錄中所有檔案和目錄的磁碟使用情況。-s 選項告訴 du 只顯示每個檔案或目錄的總大小,-h 選項告訴它以人類可讀的格式顯示輸出(例如“1.2G”而不是“1234567890”)。
comm
comm 命令用於逐行比較兩個已排序的檔案。當您想知道哪些行在兩個檔案中是公共的或哪些行是每個檔案獨有的時,此命令特別有用。以下是一個示例 -
$ comm file1.txt file2.txt
在此示例中,comm 命令比較檔案 file1.txt 和 file2.txt 並顯示三列輸出:file1.txt 中獨有的行、file2.txt 中獨有的行以及兩個檔案中都共有的行。
df
df 命令用於顯示檔案系統上的可用和已用磁碟空間量。當您想知道硬碟驅動器或其他儲存裝置上還有多少可用空間時,此命令特別有用。以下是一個示例 -
$ df -h
在此示例中,df 命令顯示計算機上每個檔案系統的磁碟使用情況和可用空間。-h 選項告訴 df 以人類可讀的格式顯示輸出。
rev
rev 命令用於反轉檔案每一行中字元的順序。當您希望反轉檔案的內容時,此命令特別有用。以下是一個示例 -
$ rev myfile.txt
在此示例中,rev 命令反轉檔案 myfile.txt 中每一行中字元的順序並在終端螢幕上顯示輸出。
timeout
timeout 命令用於在時間限制內執行命令。當您希望為可能無限期執行的命令設定時間限制時,此命令特別有用。以下是一個示例 -
$ timeout 10s sleep 20s
在此示例中,timeout 命令執行 sleep 命令 20 秒,但由於 timeout 命令設定的時間限制,在 10 秒後終止它。
tac
tac 命令用於以相反的順序顯示檔案的內容,最後一行排在第一位,第一行排在最後一位。當您希望以相反的順序檢視檔案或檢查日誌檔案的內容時,此命令特別有用。以下是一個示例 -
$ tac access.log
在此示例中,tac 命令以相反的順序顯示檔案 access.log 的內容。
yes
yes 命令用於重複輸出字串或字元。當您希望模擬使用者輸入或自動化需要大量重複的過程時,此命令特別有用。以下是一個示例 -
$ yes "yes" | rm -i *
在此示例中,yes 命令重複輸出“yes”,它透過管道傳遞到帶有 -i 選項的 rm 命令以確認刪除當前目錄中的每個檔案。
pgrep
pgrep 命令用於根據其名稱查詢正在執行的程序的程序 ID (PID)。當您希望查詢需要終止或監視的程序的 PID 時,此命令特別有用。以下是一個示例 -
$ pgrep firefox
在此示例中,pgrep 命令查詢 Firefox 網頁瀏覽器程序的 PID。
結論
Linux 是一種強大的作業系統,為使用者提供了大量與系統互動的命令。雖然許多 Linux 命令廣為人知且被廣泛使用,但也有一些鮮為人知的命令在某些任務中非常有用。在本文中,我們探討了一些鮮為人知的 Linux 命令,包括 xargs、tee、nl、watch、sort、split、du、comm、df 和 rev。透過學習和使用這些命令,您可以在使用 Linux 時變得更高效和有效。