File-Copy
如何在復製文件期間創建進度條
我需要在我的 Linux 機器上複製大文件。
例子:
cp source.txt target.txt
我想創建進度條,以顯示每個副本文件的副本仍在進行中
例子”
cp file file1
複製文件 > 文件 1 ………
cp moon mars
複製月亮>火星…….
簡而言之,您不會找到
cp
進度條輸出的本機功能。為什麼? 很多原因。但是,您有一些選擇:
- 使用不同的工具。
rsync
,正如@user1404316 提到的那樣--progress
:rsync -P largeFile copyLocation
- 如果您不需要額外的語義
cp
並rsync
照顧,請pv
通過重定向創建一個帶有 (“Pipe Viewer”)的新文件stdout
:pv < largeFile > copyLocation
- 如果您確實需要額外的語義,您可以使用
progress
,儘管它沒有具體給出條形圖。它附加到已經執行的程序,因此您可以像這樣呼叫它:# In one shell $ cp largeFile copyLocation # In another shell $ progress -m [ 4714] cp /home/hunteke/largeFile 1.1% (114 MiB / 10.2 GiB) # -m tells progress to continually update
- 另一個選項是
gcp
,它完全符合您對進度條的要求:gcp largeFile copyLocation
- 另一個選項濫用
curl
了處理file://
url 的能力:curl -o copyLocation file:///path/to/largeFile
- 你可以寫一個shell腳本