GNU/Linux >> Znalost Linux >  >> Linux

Kopírovat soubor Linux s ETA?

Použijte rsync --human-readable --progress .

Pro jednotlivé soubory a bloková zařízení existuje také pv . A pokud skutečně potřebujete přesný ukazatel průběhu, zkuste použít tar s pv — něco takového:

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; }

Upozorňujeme však, že GNU tar zatím nepodporuje ACL ani rozšířené atributy, takže pokud kopírujete souborové systémy připojené pomocí voleb "acl" nebo "xattrs", musíte použít rsync (s "--acls “ a „--xattrs "). Osobně používám:

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

Zvažte také, zda chcete použít --delete a/nebo --numeric-ids možnosti.


Místo dd Navrhoval bych pv , např.:

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

Zkusili jste rsync -P ? Pokud používáte dd , např. tar -cf - src | dd | (cd dest; tar -xf -) měli byste být schopni použít Ctrl-T (SIGINFO), abyste viděli svůj postup.


Linux
  1. Jak komprimovat/dekomprimovat v Linuxu

  2. Oprávnění souborů v Linuxu s příkladem

  3. Zkontrolujte oprávnění souborů Linux pomocí ls

  1. Zkopírujte soubory v terminálu Linux

  2. Zkopírujte a vložte na příkazový řádek Linuxu pomocí xclip

  3. tar -C se vzorem souboru zástupných znaků

  1. Kopírování souborů v Linuxu

  2. Třídit příkaz v Linuxu s příklady

  3. Jak extrahovat nebo rozbalit soubor tar.xz v Linuxu