Рекурсивно копировать файлы

Samba делится файлами Apache, чтобы сделать их видимыми в веб-браузерах.
1
задан 7 March 2014 в 17:49

2 ответа

Попробуйте выполнить эту команду:

 cd /Parent directory
    find . -name '*.txt' | cpio -pdm /pathtowhereyouwanttocopy

Этот код просто скопирует файлы .txt и сохранит их в каталоге с родительскими папками.

cpio copies files into an archive. It reads a list of filenames

find searches the directory tree rooted at each given file name

-pdm for overwrite destination content
1
ответ дан 24 May 2018 в 11:03
  • 1
    На самом деле я пытаюсь скопировать с машины I ssh на свою машину. Поэтому мне нужно использовать scp, и я не знаю эквивалента find (cp становится scp, но как насчет find?) – bigTree 7 March 2014 в 17:57

Я лично использовал rsync для этой цели. Вы можете легко фильтровать файлы по их расширению.

rsync -vr --stats --progress --include="*/" --include "*.txt" --exclude='*' SOURCE DEST

Вы упомянули, что пока вы находитесь на своей машине X, вы хотите получить все файлы, которые находятся на машине Y , В этом случае вы должны сделать это:

scp username@Y:/path/to/directory/on/remote/machine /path/to/destination/on/X/local/machine

Теперь давайте все вместе:

rsync -vr --stats --progress --include="*/" --include "*.txt" --exclude='*' username@Y:/path/to/directory/on/remote/machine /path/to/destination/on/X/local/machine

Вы можете попробовать запустить тест, не копируя ничего, добавив к вашей команде rsync. Это будет имитировать процесс копирования.

0
ответ дан 24 May 2018 в 11:03

Другие вопросы по тегам:

Похожие вопросы: