Копирование файла — очень простая задача в любой современной операционной системе, включая Linux. Как и в Windows и Mac, вы можете легко скопировать файл с помощью команды GUI, щелкнув правой кнопкой мыши на файле и выбрав опцию копирования.
Однако, что если вы хотите скопировать файл в несколько каталогов с помощью одной команды. Это можно сделать только с помощью командной строки.
Обычно для копирования файла в Linux мы используем команду cp. Но эта команда может быть использована только для копирования файла в определенный каталог. Если вы хотите скопировать файл в более чем один каталог, вам придется искать другую альтернативу.
К счастью, Linux поставляется с большим количеством команд. Когда мы глубже изучаем команду, мы можем сделать много вещей, используя ее. В данном случае мы поговорим об «echo».
Эта команда в основном используется для записи на экране. Но мы также можем использовать эту команду для копирования файла с дополнительными опциями. Перед выполнением команды лучше понять, как она работает.
Ниже приведен синтаксис команды, которую мы будем использовать.
echo dir_1 dir_2 dir_3 | xargs -n 1 cp file1
В данном случае мы хотим передать вывод команды echo в качестве ввода команде xargs. Для этого мы используем символ трубы ( | ), который передает вывод одной команды на вход другой. Команда xargs выполнит команду cp три раза, каждый раз добавляя в конец команды cp следующий путь к каталогу, переданный ей по трубопроводу из команды echo. Команде xargs передается три аргумента, но опция -n 1 команды xargs указывает ей добавлять только один из этих аргументов к команде cp при каждом запуске.
Понятно?
Ниже приведен пример команды.
echo dir_1 dir_2 dir_3 | xargs -n 1 cp copythisfile.txt