GNU/Linux >> Belajar Linux >  >> Linux

Salin file Linux dengan ETA?

Gunakan rsync --human-readable --progress .

Untuk file tunggal dan blokir perangkat, ada juga pv . Dan jika Anda benar-benar membutuhkan bilah kemajuan yang akurat, coba gunakan tar dengan pv — sesuatu seperti ini:

source=/the/source/directory
target=/the/target/directory
size=$(du -sx "$source")
cd "$source"
find . xdev -depth -not -path ./lost+found -print0 \
    | tar --create --atime-preserve=system --null --files-from=- \
          --format=posix --no-recursion --sparse \
    | pv --size ${size}k \
    | { cd "$target"; \
        tar --extract --overwrite --preserve-permissions --sparse; }

Berhati-hatilah, bagaimanapun, bahwa GNU tar belum mendukung ACL atau atribut yang diperluas, jadi jika Anda menyalin sistem file yang dipasang dengan opsi "acl" atau "xattrs", Anda perlu menggunakan rsync (dengan opsi "--acls " dan "--xattrs " opsi). Secara pribadi, saya menggunakan:

rsync --archive --inplace --hard-links --acls --xattrs --devices --specials \
    --one-file-system --8-bit-output --human-readable --progress /source /target

Lihat juga apakah Anda ingin menggunakan --delete dan/atau --numeric-ids opsi.


Alih-alih dd Saya menyarankan pv , misalnya:

% tar -cf - INPUT | pv -rbe -s SIZE | tar -xf - -C DEST 

Sudahkah Anda mencoba rsync -P ? Jika Anda menggunakan dd , mis. tar -cf - src | dd | (cd dest; tar -xf -) Anda seharusnya dapat menggunakan Ctrl-T (SIGINFO) untuk melihat progres Anda.


Linux
  1. Salin file di terminal Linux

  2. Salin dan tempel di baris perintah Linux dengan xclip

  3. Urutkan Perintah di Linux dengan Contoh

  1. Cara Mengekstrak atau Mengunzip File tar.xz di Linux

  2. Izin File di Linux dengan Contoh

  3. Periksa izin file Linux dengan ls

  1. Menyalin file di Linux

  2. Cara mengompres/dekompresi di Linux

  3. tar -C dengan pola file wildcard