Ось кілька команд для копіювання каталогів з інформацією про хід.
Якщо є багато невеликих файлів:
cp -av sourcedir targetdir | pv -l -s filecount > logfile
Це повідомить про прогрес на основі кількості копіюваних файлів.
Ви можете переспрямувати, /dev/null
якщо вам не потрібно logfile
.
Використовуйте таку команду, щоб отримати filecount
:
find sourcedir | wc -l
Якщо є кілька величезних файлів:
tar c sourcedir | pv -s size | tar x -C targetdir
Це повідомить про прогрес на основі скопійованих байтів.
targetdir
повинні існувати.
Використовуйте таку команду, щоб отримати size
:
du -sh sourcedir
Якщо ви хочете використовувати rsync:
rsync -ai sourcedir/ targetdir/ | pv -l -s filecount > logfile
Отримайте, filecount
як показано вище.
Якщо ви копіюєте в одній і тій же системі, rsync -a
це практично те саме, що і ви cp -a
. Переваги rsync полягає в тому, що ви копіюєте по мережі або оновлюєте (або порівнюєте) попередню копію.
Детальніше дивіться тут: