Linux系統中帶有進度條的高階複製命令
作為Linux使用者,您可能遇到過需要將大型檔案或目錄從一個位置複製或移動到另一個位置的情況。此過程可能需要一些時間,並且難以監控複製或移動操作的進度。
幸運的是,Linux提供了一些內建命令,可以幫助您高效地複製或移動檔案,並監控操作的進度。在本文中,我們將討論在Linux中複製/移動檔案時帶有進度條的高階複製命令。
什麼是高階複製命令?
高階複製(或“cp”)命令是Linux內建命令,用於將檔案或目錄從一個位置複製到另一個位置。此命令預安裝在大多數Linux系統上,並被系統管理員、開發人員和Linux愛好者廣泛使用。
cp命令提供了一些選項,允許您自定義複製操作,例如保留檔案屬性、遞迴複製等等。但是,預設情況下,cp命令在複製或移動檔案時不會顯示任何進度條。
為什麼我們需要進度條?
當您複製或移動大型檔案或目錄時,可能需要相當長的時間,並且可能難以確定操作完成還需要多長時間。這時,進度條就很有用了。
進度條是複製或移動操作進度的圖形表示。它顯示已完成操作的百分比以及操作完成還剩多少時間。這在您需要監控複製或移動操作進度的情況下非常有用。
使用“pv”命令顯示進度條
“pv”命令是一個Linux實用程式,可用於監控資料透過管道的進度。此命令可以與其他Linux命令(例如“cp”)結合使用,以便在複製或移動檔案時顯示進度條。
要將“pv”命令與“cp”命令一起使用,您需要將“cp”命令的輸出透過管道傳遞給“pv”命令。示例如下:
$ cp -r /path/to/source /path/to/destination | pv -lep -s $(du -sb /path/to/source | awk '{print $1}') >/dev/null
讓我們分解一下命令:
“cp -r /path/to/source /path/to/destination”是複製命令,用於將源目錄複製到目標目錄。
管道“|”將“cp”命令的輸出傳送到“pv”命令。
“pv”是顯示進度條的命令。
“-lep”是“pv”命令的選項。“-l”啟用速率限制,“-e”顯示預計到達時間 (ETA),“-p”顯示進度條。
“-s $(du -sb /path/to/source | awk '{print $1}')”是指定源目錄大小(以位元組為單位)的選項。此選項對於準確計算複製操作進度是必需的。
“/dev/null”將“pv”命令的輸出重定向到空裝置,從而丟棄它。
使用“rsync”命令顯示進度條
另一個可用於在顯示進度條的同時複製或移動檔案的命令是“rsync”命令。“rsync”命令是一個強大的實用程式,可用於同步兩個位置之間的檔案。
要使用帶有進度條的“rsync”命令,您可以使用“-P”選項。示例如下:
$ rsync -aP /path/to/source /path/to/destination
讓我們分解一下命令:
“rsync”是同步兩個位置之間檔案的命令。
“-a”選項啟用存檔模式,它保留檔案屬性、許可權、時間戳等。
“-P”選項顯示進度條並顯示傳輸進度、傳輸速率、ETA等等。
使用“bar”命令顯示進度條
另一個可用於在複製或移動檔案時顯示進度條的實用程式是“bar”命令。“bar”命令是一個簡單的實用程式,可在終端中顯示進度條。
要將“bar”命令與“cp”命令一起使用,您可以將“cp”命令的輸出透過管道傳遞給“bar”命令。示例如下:
$ cp -r /path/to/source /path/to/destination | bar
讓我們分解一下命令:
“cp -r /path/to/source /path/to/destination”是複製命令,用於將源目錄複製到目標目錄。
管道“|”將“cp”命令的輸出傳送到“bar”命令。
“bar”是顯示進度條的命令。
除了上面討論的實用程式外,還有其他一些選項可以在Linux中複製或移動檔案時顯示進度條。其中一些選項包括:
“gcp”命令 - “gcp”命令是“cp”命令的包裝器,它為複製操作添加了進度條。此命令未包含在大多數Linux發行版中,因此您可能需要手動安裝它。
“progress”命令 - “progress”命令是一個Linux實用程式,可用於顯示各種操作(包括複製和移動檔案)的進度條。此命令可以與其他命令(例如“cp”或“mv”)結合使用以顯示進度條。
“bar-1.11”包 - “bar-1.11”包是一組 shell 指令碼,可用於顯示各種操作(包括複製和移動檔案)的進度條。此包可在大多數Linux發行版上安裝。
“dialog”命令 - “dialog”命令是一個Linux實用程式,可用於在終端中建立對話方塊和選單。此命令可用於在複製或移動檔案時顯示進度條。
在選擇顯示進度條的方法時,務必考慮易用性、與您的Linux發行版的相容性以及可靠性等因素。雖然某些方法可能比其他方法更復雜,但它們也可能提供更高階的功能。
總而言之,在Linux中複製或移動檔案時顯示進度條是監控操作進度和估計剩餘時間的絕佳方法。透過使用本文中討論的命令和實用程式,您可以執行高效的檔案操作並有效地管理您的檔案。
結論
總之,Linux提供了多個內建命令和實用程式,可用於複製或移動檔案,並顯示進度條以監控操作進度。“pv”命令、“rsync”命令和“bar”命令是可以用於此目的的一些實用程式。
在複製或移動檔案時,始終監控操作進度以確保其成功完成且沒有任何錯誤是一個好習慣。進度條可以成為監控進度和估計操作完成剩餘時間的絕佳工具。
作為Linux使用者,熟悉這些命令和實用程式以執行高效的檔案操作並有效地管理您的檔案至關重要。