Связаться по:
[email protected]

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Как скопировать один файл в несколько каталогов в Linux или Unix

Rate this post

Я хочу  скопировать один файл в три места (каталоги), с помощью одной команды ср (например , файл cp /dir1/ /dir2/ /dir3/. Возможно ли это? Если да, то просьба указать команду для GNU / Linux или Unix операционных систем.

Короткий ответ: нет. Вы не можете использовать GNU /cp или BSD / cp для копирования одного файла в несколько каталогов. Тем не менее, вы можете использовать комбинацию cp и xargs / параллельно и другие команды для копирования одного файла в несколько каталогов в MacOS, Linux, FreeBSD, OpenBSD, NetBSD и Unix-подобных системах.

Команда ср

Основной синтаксис cp выглядит следующим образом, скопировать несколько файлов в одном каталоге:

Скопируйте файл в несколько каталогов в Unix или Linux

Хитрость заключается в том, чтобы использовать команду xargs или параллельной команды GNU.

Копирование одного файла с именем foo.txt в несколько каталогов с именем /tmp1/ /tmp2/ b /tmp3/ с помощью xargs

В xargs команда позволяет выпонить построения списка (ов) аргумент и выполнить команду cp или mv Синтаксис:

В этом примере скопируем /etc/passwd в /tmp/1, /tmp/2 и $ HOME/3 следующим образом:

или

Копирование одного файла с именем foo.txt в несколько каталогов , называемых /tmp/1 /tmp/2 и /tmp/3 , используя parallel

GNU parallel является инструментом оболочки для выполнения заданий в параллельном режиме с использованием одного или нескольких процессов. Синтаксис:

Пример копирования /etc/resolv.conf в /tmp/1/, /tmp/2/, и $HOME/3/ слудующий:

Результат операции

Как использовать команду tee, чтобы скопировать файл в несколько папок

Допустим, вы хотите скопировать в /etc/resolv.conf /tmp/1/ and /tmp/2/, выполняется команда tee следующим образом:

Вы должны указать полный путь /tmp/1/resolv.conf, в противном случае вы получите следующее сообщение об ошибке:

Как использовать команду find для копирования файлов в несколько директорий одновременно

Синтаксис выглядит следующим образом для команды find:

Для копирования /etc/hosts одновременно в папки /tmp/{1,2}/ и $HOME/3/ на Linux / Unix / MacOS / FreeBSD и т.д., введите следующую команду:

Результат команды

Использование циклов

Поддержка Linux / Unix серверов, профессиональная команда, большой опыт, обращайтесь [email protected]

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.