Как скопировать файл в несколько каталогов в Linux
При изучении Linux для новичков всегда является нормой набирать несколько команд для выполнения простой задачи. Это понятно, особенно когда человек только привыкает к использованию терминала.
Однако, поскольку вы с нетерпением ждете возможности стать опытным пользователем Linux, изучение того, что я бы назвал «командами быстрого доступа», может значительно снизить тенденцию к потере времени.
В этой статье мы объясним простой способ копирования файла в несколько каталогов в Linux с помощью одной команды.
В Linux команда cp используется для копирования файлов из одного каталога в другой, самый простой синтаксис ее использования следующий:
cp [options….] source(s) destination
Альтернативно вы также можете использовать команду Advanced-copy, которая показывает индикатор выполнения при копировании больших файлов/папок в Linux.
Рассмотрим приведенные ниже команды. Обычно вы вводите две разные команды, чтобы скопировать один и тот же файл в два отдельных каталога следующим образом:
cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test
cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp
Если вы хотите скопировать определенный файл в пять или более каталогов, это означает, что вам придется ввести пять или более команд cp?
Чтобы решить эту проблему, вы можете использовать команду echo, команду pipe, xargs вместе с командой cp в форме ниже:
echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh
В приведенной выше форме пути к каталогам (dir1,dir2,dir3…..dirN) отображаются и передаются в качестве входных данных для команды xargs, где:
-n 1
— сообщает xargs использовать не более одного аргумента в командной строке и отправлять его команде cp.cp
– используется для копирования файла.-v
– включает подробный режим для отображения подробностей операции копирования.
Попробуйте прочитать справочные страницы команд cp
, echo
и xargs
, чтобы найти полезную и расширенную информацию об использовании:
man cp
man echo
man xargs
Вот и все, вы можете присылать нам вопросы по теме или любые отзывы через форму комментариев ниже. Вы также можете прочитать о команде Progress, которая помогает отслеживать ход выполнения (cp, mv, dd, tar и т. д.). команды, которые в настоящее время работают в Linux.