Копирование файлов, вероятно, является частью повседневной жизни любого, кто использует Linux. Вы часто хотите скопировать файл в разные каталоги. Самый простой способ копирования файлов в Linux — использование командной строки. Для тех, у кого есть проблемы с командной строкой, вы можете использовать графический интерфейс, но рекомендуется придерживаться командной строки для большей гибкости. Тем не менее, в этом руководстве будут обсуждаться различные способы копирования файлов в Linux.
Копирование файлов в Linux
Вы можете использовать графический интерфейс или командную строку для копирования файлов в Linux.
Способ 1: Графический способ
Для тех, кому не нравится командная строка, вы можете просто щелкнуть правой кнопкой мыши файл, который хотите скопировать, и выбрать параметр копирования. Затем перейдите туда, куда вы хотите скопировать файл, щелкните правой кнопкой мыши и выберите команду вставки.
В качестве альтернативы вы можете использовать «копировать в», который открывает файловую систему, чтобы вы могли перейти к целевому каталогу.
Способ 2: способ командной строки
Копировать файлы в Linux лучше всего при использовании командной строки. Кроме того, Linux предлагает команду cp, которую вы можете использовать для копирования файлов из одного каталога в другой, указав его путь.
Существуют различные параметры, которые вы можете использовать с командой cp. Ниже приведена краткая шпаргалка:
- -v: добавлено, чтобы сделать команду cp подробной.
- -i: добавлено, чтобы сделать команду cp интерактивной, особенно при копировании файлов в каталог, содержащий файлы с тем же именем.
- -p: добавлено для копирования файла и его атрибутов, таких как права доступа и даты изменения.
- -b: добавлено для создания резервной копии файла, копируемого в папку назначения, но с другим расширением.
- -r: указывает рекурсивность и используется, когда вы хотите скопировать все файлы в каталоге.
Давайте посмотрим, как команда cp используется для копирования файлов.
Копирование файлов в тот же каталог
Предположим, вы хотите скопировать файлы в другой каталог в том же месте. В этом случае вам нужно только указать имя файла или шаблон и целевой каталог. В этом примере мы будем использовать файлы на следующем изображении:
В данном образе, если бы нам нужно было скопировать bash1.sh в папку dir1, команда была бы такой:
$ cp -v bash1.sh dir1
Обратите внимание, что мы добавили параметр -v для подробных сведений.
Кроме того, если нам нужно скопировать более одного файла, вы должны разделить имена файлов пробелом и перечислить все файлы, которые вы хотите скопировать.
$ cp -v file1 file2 file3 ... [целевой каталог]
Если вам нужно скопировать файлы с одинаковым расширением, вы можете использовать подстановочный знак для соответствия заданному шаблону. Например, вы можете использовать следующую команду для копирования всех текстовых файлов. Все файлы, соответствующие шаблону, копируются в указанный каталог.
$ cp -v *.txt [целевой каталог]
Предположим, вы хотите скопировать файлы в подкаталог текущего каталога; необходимо указать путь. Например, если в каталоге dir1 есть подкаталог с именем test и вы хотите скопировать в него файл, мы можем использовать следующую команду:
$ cp -v filename ./dir/subdir
Если вы скопируете файлы в каталог с таким же именем файла, вы в конечном итоге перезапишете существующие файлы, если не добавите параметр -i для интерактивности.
Давайте попробуем повторить команду из предыдущего примера, чтобы увидеть, какую ошибку она вызывает, и как вы можете перезаписать существующие файлы или нет.
На предыдущем изображении, если вы хотите перезаписать файлы с одинаковыми именами в целевом каталоге, вы должны ввести y в терминал, а затем нажать клавишу ввода. Если вы не хотите перезаписывать, нажмите n.
Если вы хотите создать копию файла в том же каталоге, вы должны указать целевой файл и имя файла реплики. Например, давайте создадим копию нашего файла file1.txt с именем replica.txt и сохраним его атрибуты. В этом случае команда будет такой, как показано ниже:
$ cp -vp file1.txt replica.txt
Чтобы создать резервную копию копируемого файла, добавьте флаг -b и обратите внимание на новый файл резервной копии, созданный с другим расширением. Давайте создадим резервную копию bash1.sh в нашей папке назначения. Теперь у нас есть новая резервная копия с именем bash1.sh-
Если вы хотите скопировать каталог и все файлы, добавьте параметр -r и укажите путь. Например, на следующем изображении мы скопировали папку linuxhint и все ее содержимое в каталог dir1.
Копирование файлов в разные каталоги
Если вам необходимо скопировать файлы, расположенные в разных каталогах, используйте следующий синтаксис:
$ cp [параметры] [путь-источник] [путь-назначения]
Например, команда показана ниже, если нам нужно скопировать файл из каталога /Pictures в подкаталог linuxhint в каталоге dir1.
Хитрость заключается в том, чтобы указать точный путь к исходному файлу и место назначения.
Вывод
Мы рассмотрели различные варианты копирования файлов в Linux. Описанные команды требуют лишь небольшой практики, и вскоре вы научитесь копировать файлы в Linux с помощью командной строки.