Разное

Копировать файл linux: The OpenNet Project: .

Копирование файлов в Linux

Копирование файлов — одна из задач, наиболее часто возникающих перед пользователями персонального компьютера. Конечно, можно открыть файловый менеджер, войти в нужную папку и скопировать файл с помощью контекстного меню — тут не о чем говорить. Но в этой статье я хотел бы рассмотреть копирование файлов в Linux с помощью терминала.

Не всегда есть доступ к файловому менеджеру: из-за различных поломок графическая оболочка на домашнем компьютере может быть недоступна, а на серверах используется только консольный интерфейс. К тому же  копирование файлов Ubuntu через терминал намного эффективнее, и вы сами в этом убедитесь. Сегодня мы рассмотрим не только обычное копирование командой cp Linux, но и не совсем обычное: с помощью tar и find.

Содержание статьи:

Утилита копирования файлов cp

Название утилиты cp — это сокращение от Copy, что означает копировать. Утилита позволяет полностью копировать файлы и директории.

Синтаксис и опции

Общий синтаксис cp выглядит вот так:

$ cp опции файл-источник файл-приемник

Или:

$ cp опции файл-источник директория-приемник/

После выполнения команды файл-источник будет полностью перенесен в файл-приемник. Если в конце указан слэш, файл будет записан в заданную директорию с оригинальным именем.

Утилита имеет несколько интересных опций, которые могут сильно помочь при нестандартных задачах копирования, поэтому давайте их рассмотрим:

  • —attributes-only — не копировать содержимое файла, а только флаги доступа и владельца;
  • -f, —force — перезаписывать существующие файлы;
  • -i, —interactive — спрашивать, нужно ли перезаписывать существующие файлы;
  • -L — копировать не символические ссылки, а то, на что они указывают;
  • -n — не перезаписывать существующие файлы;
  • -P — не следовать символическим ссылкам;
  • -r — копировать папку Linux рекурсивно;
  • -s — не выполнять копирование файлов в Linux, а создавать символические ссылки;
  • -u — скопировать файл, только если он был изменён;
  • -x — не выходить за пределы этой файловой системы;
  • -p — сохранять владельца, временные метки и флаги доступа при копировании;
  • -t — считать файл-приемник директорией и копировать файл-источник в эту директорию.

Примеры копирования файлов в linux

Теперь, когда вы знаете основные опции, можно перейти к практике. Например, мы хотим скопировать некую картинку из домашней папки в подкаталог pictures:

cp ~/pic.png ~/pictures/

Или можем явно указать имя новой картинки:

cp ~/pic.png ~/pictures/wallpaper.png

Копирование папок осуществляется с помощью ключа -r:

cp  -R ~/папка ~/Документы/

После выполнения этой команды копирования ~/папка будет скопирована в папку ~/Документы. Главное, не забывайте поставить слэш в конце выражения или использовать опцию -t. Иначе папка ~/документы будет перезаписана.

По умолчанию команда cp Linux перезаписывает существующие файлы или папки, но можно заставить утилиту спрашивать, нужно ли перезаписывать каждый файл, если вы не уверены в правильности составления команды:

cp -i ~/test ~/Documents/test

Есть и противоположная опция -n, означающая «никогда не перезаписывать существующие файлы».

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

cp -u ~/test ~/Documents/test

Сp также поддерживает специальные символы замены * и ?. Например, следующая команда скопирует все файлы, начинающиеся на test:

cp ~/test* ~/Документы/

Если нужно применить более сложные регулярные выражения, придётся комбинировать утилиту cp с find или egrep.

В случае, если важно сохранить права доступа к файлу и его владельца, нужно использовать опцию -p:

cp -p ~/test* ~/Документы/

Для упрощения использования команды можно применять синтаксис фигурных скобок. Например, чтобы создать резервную копию файла, выполните:

$ cp test.conf{,. bak}

Будет создан файл с таким же именем и расширением .bak

По умолчанию в cp не отображается прогресс копирования файла, что очень неудобно при работе с большими файлами, но его можно легко посмотреть с помощью утилиты cv.

Копирование файлов по регулярным выражениям в Linux

В утилите find можно применять различные условия и регулярные выражения для поиска файлов. Я уже немного писал о ней в статье как найти новые файлы в Linux. Мы можем скопировать все найденные с помощью find файлы, вызвав для каждого из них команду cp. Например, копируем все файлы в текущей директории, содержащие в имени только цифры:

find . -name [0-9] -exec cp {} ~/Документы \

Здесь точка указывает на текущую директорию, а параметр name задает регулярное выражение. Параметром exec мы задаем, какую команду нужно выполнить для обнаруженных файлов. Символ {} — подставляет имя каждого файла.

Но не find‘ом единым такое делается. То же самое можно получить, запросив список файлов директории в ls, отфильтровав его по регулярному выражению egrep и передав имена файлов по очереди в cp с помощью xargs:

ls -1 ~/ | egrep '[a-zA-Z]' | xargs cp -t ~/Папка/

Это не совсем удобный способ копировать файлы Linux, но всё же он возможен. Будут скопированы все файлы из домашней директории, содержащие в имени только английские буквы.

Копирование содержимого файлов в Linux

Вы можете не только копировать сами файлы, но и управлять их содержимым. Например, склеить несколько файлов в один или разрезать файл на несколько частей. Утилита cat используется для вывода содержимого файла, в комбинации с операторами перенаправления вывода Bash вы можете выполнять копирование содержимого файла Linux в другой файл. Например:

cat файл1 > файл2

Если файл был не пустым, он будет перезаписан. Или мы можем склеить два отдельных файла в один:

cat файл1 файл2 > файл3

Специальное копирование файлов в Linux с помощью tar

Linux интересен тем, что позволяет выполнять одно и то же действие различными путями. Копирование в Linux тоже может быть выполнено не только с помощью cp. При переносе системных файлов в другой каталог, резервном копировании системных файлов и т.д. важно чтобы сохранились атрибуты, значения владельцев файлов и символические ссылки как они есть без какой-либо модификации.

Утилита cp тоже может справиться с такой задачей? если указать опцию -p, но можно использовать утилиту архивации tar. Мы не будем создавать никаких файлов архивов, а построим туннель. Первая часть команды пакует файл и отправляет на стандартный вывод, а другая сразу же распаковывает в нужную папку:

tar cf - /var | ( cd /mnt/var && tar xvf - )

Здесь мы полностью копируем содержимое папки /var в папку /mnt/var. Так вы можете копировать папку Linux, причём абсолютно любую или даже целую операционную систему.

Выводы

Теперь вы знаете, как выполняется копирование файлов Ubuntu и в Linux в целом. Как видите, в терминале это выполняется намного быстрее и эффективнее, чем с помощью графического интерфейса, если помнить нужные команды. Если у вас остались вопросы, спрашивайте в комментариях!

Как копировать файлы в Linux

Копирование файлов, вероятно, является частью повседневной жизни любого, кто использует Linux. Вы часто хотите скопировать файл в разные каталоги. Самый простой способ копирования файлов в Linux — использование командной строки. Для тех, у кого есть проблемы с командной строкой, вы можете использовать графический интерфейс, но рекомендуется придерживаться командной строки для большей гибкости. Тем не менее, в этом руководстве будут обсуждаться различные способы копирования файлов в Linux.

Копирование файлов в Linux

Вы можете использовать графический интерфейс или командную строку для копирования файлов в Linux.

Способ 1: Графический способ

Для тех, кому не нравится командная строка, вы можете просто щелкнуть правой кнопкой мыши файл, который хотите скопировать, и выбрать параметр копирования. Затем перейдите туда, куда вы хотите скопировать файл, щелкните правой кнопкой мыши и выберите команду вставки.

В качестве альтернативы вы можете использовать «копировать в», который открывает файловую систему, чтобы вы могли перейти к целевому каталогу.

Способ 2: способ командной строки

Копировать файлы в Linux лучше всего при использовании командной строки. Кроме того, Linux предлагает команду cp, которую вы можете использовать для копирования файлов из одного каталога в другой, указав его путь.

Существуют различные параметры, которые вы можете использовать с командой cp. Ниже приведена краткая шпаргалка:

  1. -v: добавлено, чтобы сделать команду cp подробной.
  2. -i: добавлено, чтобы сделать команду cp интерактивной, особенно при копировании файлов в каталог, содержащий файлы с тем же именем.
  3. -p: добавлено для копирования файла и его атрибутов, таких как права доступа и даты изменения.
  4. -b: добавлено для создания резервной копии файла, копируемого в папку назначения, но с другим расширением.
  5. -r: указывает рекурсивность и используется, когда вы хотите скопировать все файлы в каталоге.

Давайте посмотрим, как команда cp используется для копирования файлов.

Копирование файлов в тот же каталог

Предположим, вы хотите скопировать файлы в другой каталог в том же месте. В этом случае вам нужно только указать имя файла или шаблон и целевой каталог. В этом примере мы будем использовать файлы на следующем изображении:

В данном образе, если бы нам нужно было скопировать bash2.sh в папку dir1, команда была бы такой:

$ cp -v bash2. 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 и обратите внимание на новый файл резервной копии, созданный с другим расширением. Давайте создадим резервную копию bash2.sh в нашей папке назначения. Теперь у нас есть новая резервная копия с именем bash2.sh-

Если вы хотите скопировать каталог и все файлы, добавьте параметр -r и укажите путь. Например, на следующем изображении мы скопировали папку linuxhint и все ее содержимое в каталог dir1.

Копирование файлов в разные каталоги

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

$ cp [параметры] [путь-источник] [путь-назначения]

Например, команда показана ниже, если нам нужно скопировать файл из каталога /Pictures в подкаталог linuxhint в каталоге dir1.

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

Вывод

Мы рассмотрели различные варианты копирования файлов в Linux. Описанные команды требуют лишь небольшой практики, и вскоре вы научитесь копировать файлы в Linux с помощью командной строки.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Статьи по теме:

Как копировать файлы и каталоги в Linux | Linode

Копирование файла — одна из самых распространенных задач Linux. Ubuntu и другие дистрибутивы Linux используют команду cp для копирования одного или нескольких файлов, а также для копирования целых каталогов. В этом руководстве объясняется, как использовать команду cp для копирования файлов в Linux. В нем также перечислены различные варианты этой команды и описаны различные параметры команды cp .

Введение в cp

9Команда 0003 cp используется для копирования одного или нескольких файлов в системе Linux в новое место. Она аналогична команде mv , за исключением того, что она не перемещает и не удаляет исходный файл, который остается на месте. Как и большинство команд Linux, cp запускается с помощью командной строки системного терминала.

Команда cp позволяет пользователям копировать файл либо в тот же каталог, либо в другое место. Также можно дать копии имя, отличное от имени исходного файла. 9Параметр 0003 -r позволяет команде cp работать рекурсивно и копировать каталог вместе с любыми файлами и подкаталогами, которые он содержит. cp имеет ряд параметров, позволяющих пользователям запускать его в интерактивном режиме, использовать подробный режим или сохранять атрибуты файла оригинала.

Пользователи должны иметь привилегии sudo для копирования защищенных файлов. В противном случае sudo не требуется.

Прежде чем начать

  1. Если вы еще этого не сделали, создайте учетную запись Linode и вычислительный экземпляр. См. наши руководства «Начало работы с Linode» и «Создание вычислительного экземпляра».

  2. Следуйте нашему руководству по настройке и защите вычислительного экземпляра, чтобы обновить свою систему. Вы также можете установить часовой пояс, настроить имя хоста, создать ограниченную учетную запись пользователя и усилить доступ по SSH.

Примечание

Это руководство написано для пользователя без полномочий root. Команды, требующие повышенных привилегий, имеют префикс sudo . Если вы не знакомы с командой sudo , см. руководство «Пользователи и группы».

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

Команда cp работает одинаково в большинстве дистрибутивов Linux. Команда работает в четырех основных режимах.

  • Копирует файл в тот же каталог. Новый файл должен иметь другое имя.
  • Копирует файл в другой каталог. Можно переименовать файл или сохранить старое имя.
  • Скопируйте несколько файлов в другой целевой каталог.
  • Рекурсивное копирование содержимого каталога, включая подкаталоги, в другой целевой каталог.

При использовании cp следует учитывать ряд проблем. Например, cp не отображает предупреждение при перезаписи существующего файла. Такая ситуация возникает при копировании файла в новый каталог, уже содержащий файл с таким именем. Эта проблема чаще возникает при копировании нескольких файлов. Чтобы избежать этой проблемы, пользователи могут использовать интерактивный режим , чтобы заставить Linux запрашивать подтверждение перед перезаписью файла.

cp часто используется вместе с командой ls . ls перечисляет содержимое текущего каталога. Это удобно для подтверждения точного имени и местоположения исходных файлов и каталогов.

Некоторые из наиболее важных параметров команды cp включают следующие:

  • -f : принудительное копирование при любых обстоятельствах.
  • -i : Запускает cp в интерактивном режиме. В этом режиме Linux запрашивает подтверждение перед перезаписью любых существующих файлов или каталогов. Без этой опции Linux не отображает никаких предупреждений.
  • -p : Сохраняет атрибуты исходного файла в копии. Атрибуты файла включают метки даты создания и последнего изменения файла, идентификатор пользователя, IP-адрес группы и права доступа к файлу.
  • -R : Рекурсивное копирование файлов. Все файлы и подкаталоги в указанном исходном каталоге копируются в место назначения.
  • -u : Перезаписывает файл назначения, только если исходный файл новее, чем файл назначения.
  • -v : Запускает cp в подробном режиме . Этот режим предоставляет дополнительную информацию о процессе копирования. Это полезно для отслеживания прогресса при копировании большого количества файлов.

Опции -H , -L и -P указывают, как команда cp должна обрабатывать символические ссылки. См. справочную страницу cp для полного описания cp и символических ссылок. Параметры для cp различаются в зависимости от дистрибутива Linux. Список для Ubuntu 22.04 LTS доступен в документации Ubuntu cp.

Как скопировать файл в Linux

Одним из распространенных способов использования cp является создание второй копии исходного файла в том же каталоге. Укажите другое имя для копии, чтобы отличить ее от оригинала. Распространенным соглашением является добавление дополнительного расширения, такого как .bak или . cp , к существующему имени файла. Например, стандартное имя для резервной копии archive.txt archive.txt.bak .

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

 cp [options] исходный файл targetfile 

В следующем примере показано, как создать резервную копию clock.txt с именем clock.txt.bak .

 cp clock.txt clock.txt.bak 

Чтобы подтвердить операцию копирования, используйте ls для вывода списка файлов в каталоге. Перечислены как исходный файл, так и копия.

 -rw-rw-r-- 1 тестовый тест 2208 18 июля 06:00 clock.txt
-rw-rw-r-- 1 test test 2208 20 июля 08:11 clock.txt.bak 

Одну и ту же команду можно выполнить, используя абсолютные пути для обоих имен файлов.

 cp ~/clock.txt ~/clock.txt.bak 

Чтобы скопировать защищенный файл, которым владеет учетная запись root , используйте sudo .

Важно!

Будьте очень осторожны при копировании любых файлов, принадлежащих пользователю root, особенно в системных каталогах

/.

 CD/и т.д.
sudo cp bash.bashrc bash.bashrc.bak
ls -l bash.* 
 -rw-r--r-- 1 root root 2319 6 января 2022 г. bash.bashrc
-rw-r--r-- 1 корень корень 231920 июля 08:15 bash.bashrc.bak 

Для защиты от случайной перезаписи используйте интерактивную опцию -i . Система Linux запрашивает подтверждение перед перезаписью любых существующих файлов.

 cp clock.txt clock.txt.bak -i 
 cp: перезаписать «clock.txt.bak»? 

Используйте параметр -p , чтобы сохранить в копии атрибуты исходного файла. Например, Ubuntu присваивает дубликату ту же отметку даты, что и оригиналу.

 cp clock.txt clock.txt.bak -p 
 -rw-rw-r-- 1 тестовый тест 2208 18 июля 06:00 clock.txt
-rw-rw-r-- 1 test test 2208 18 июля 06:00 clock.txt.bak 

Команда -v выводит каждую операцию копирования на стандартный вывод. Это может быть удобно для отслеживания операций, копирующих сотни или тысячи файлов.

 cp -v clock.txt clock.txt.cp 
 'clock.txt' -> 'clock.txt.cp' 

Если вы случайно сделали ненужную копию неправильного файла, удалите копию с помощью rm Команда .

 sudo rm bash.bashrc.bak 

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

Команда cp может скопировать файл в совершенно другой каталог назначения в той же системе Linux. Копия может сохранить то же имя, что и оригинал, но также можно указать новое имя для файла. Целевой каталог должен уже существовать перед копированием каких-либо файлов. Путь к целевому каталогу может быть как относительным, так и абсолютным.

Все предостережения и параметры, применяемые при копировании файла в каталоге, также применимы и в этом случае. Например, 9Команда 0003 cp автоматически перезаписывает существующий файл в целевом каталоге, если не добавлена ​​опция — i .

Вот шаблон для копирования файла в каталог в Linux.

 cp sourcefile target_directory_path 

Чтобы дать копии новое имя, добавьте это имя к пути целевого каталога.

 cp sourcefile target_directory_path/targetfile 

В этом примере создается новая копия clock.txt в архиве 9каталог 0004. В этом примере каталог архива уже существует.

 cp clock.txt ~/archive 

Перейдите в новый каталог, чтобы подтвердить успешное копирование.

 cd архив
ls -l 
 -rw-rw-r-- 1 test test 2208 20 июля 09:08 clock.txt 

Чтобы дать копии новое имя, добавьте новое имя в конец пути к каталогу.

Linux дает новому файлу имя файла clock.txt.bak .

 cp clock.txt ~/archive/clock.txt.bak 

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

cp позволяет пользователям копировать несколько файлов одновременно, но только в другой каталог. Вот шаблон для использования cp в этом контексте:

 cp исходный файл1 исходный файл2 целевой_каталог_путь 

В этом примере два файла копируются в архивный каталог .

 cp clock.txt архив system.txt 

Команда cp обрабатывает символ * как подстановочный знак. Сам по себе подстановочный знак обозначает все файлы. Команда cp * targetdirectory копирует все файлы в текущем каталоге в targetdirectory . Однако он не копирует никакие каталоги и не выполняет рекурсивное копирование.

При использовании в составе строки символ * соответствует любому количеству любых символов. Фильтр *.txt соответствует всем исходным файлам, заканчивающимся расширением .txt . В этом примере все файлы .exe копируются в каталог архива .

 cp *.exe архив 

Измените контекст на каталог архива , чтобы подтвердить, что оба файла .exe и только эти файлы были скопированы.

 cd архив
ls 
 cleanup.exe mk_backup.exe 

Как скопировать каталог в Linux

Помимо копирования файлов, Linux также может копировать каталоги. Параметр -R используется для рекурсивного копирования каталога и всех его подкаталогов и файлов. Команда Linux для копирования каталога следует этой структуре.

 cp -R исходный_каталог целевой_каталог 

Чтобы скопировать каталог архив вместе со всеми его файлами и подкаталогами в архивная_база , используйте эту команду.

 cp -R archive archive_bkup 

Измените контекст на каталог archive_bkup/archive и подтвердите, что все файлы и подкаталоги архива скопированы.

 cd archive_bkup/архив
ls -l 
 -rw-rw-r-- 1 тестовый тест 0 20 июля 11:10 cleanup.exe
-rw-rw-r-- 1 тест тест 0 июл 20 11:10 mk_backup.exe
drwxrwxr-x 2 тестовый тест 4096 июля 20 11:10 записей 

Заключение

Команда cp используется для копирования файлов в системах Linux. Она работает аналогично директиве mv , но оставляет исходный файл без изменений и на месте. Чтобы скопировать файл в тот же каталог в Linux, используйте cp с именем исходного файла и именем копии. Команду cp также можно использовать для копирования файла в другой каталог, для копирования нескольких файлов или для рекурсивного копирования целых каталогов. Для получения более подробной документации о том, как копировать файлы с помощью Linux команда cp , см. справочную страницу cp.

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

  • справочная страница для команды cp
  • Ubuntu 22.04 документация по команде cp

Как копировать файлы в Linux

Копирование файлов, вероятно, является частью повседневной жизни для всех, кто использует Linux. Вы часто хотите скопировать файл в разные каталоги. Самый простой способ копирования файлов в Linux — использование командной строки. Для тех, у кого есть проблемы с командной строкой, вы можете использовать графический интерфейс, но рекомендуется придерживаться командной строки для большей гибкости. Тем не менее, в этом руководстве будут обсуждаться различные способы копирования файлов в Linux.

Копирование файлов в Linux

Для копирования файлов в Linux можно использовать графический интерфейс или командную строку.

Метод 1: Графический способ

Для тех, кому не нравится командная строка, можно просто щелкнуть правой кнопкой мыши файл, который нужно скопировать, и выбрать параметр копировать . Затем перейдите туда, куда вы хотите скопировать файл, щелкните правой кнопкой мыши и выберите команду вставки.

В качестве альтернативы вы можете использовать « скопировать в» , который открывает файловую систему для перехода к целевому каталогу.

Метод 2: Командная строка

Копировать файлы в Linux лучше всего при использовании командной строки. Кроме того, Linux предлагает команду cp , которую вы можете использовать для копирования файлов из одного каталога в другой, указав его путь.

Существуют различные параметры, которые можно использовать с командой cp . Ниже приведена краткая шпаргалка:

  1. -v: Добавлено, чтобы сделать команду cp подробной.
  2. -i: Добавлено, чтобы сделать команду cp интерактивной, особенно при копировании файлов в каталог, содержащий файлы с тем же именем.
  3. -p: Добавлено копирование файла и его атрибутов, таких как права доступа и даты изменения.
  4. -b: Добавлено для создания резервной копии файла, копируемого в папку назначения, но с другим расширением.
  5. -r: Указывает рекурсивность и используется, когда вы хотите скопировать все файлы в каталоге.

Давайте посмотрим, как команда cp используется для копирования файлов.

Копирование файлов в тот же каталог

Предположим, вы хотите скопировать файлы в другой каталог в том же месте. В этом случае вам нужно только указать имя файла или шаблон и целевой каталог. Для этого примера мы будем использовать файлы на следующем изображении:

В данном образе, если бы нам нужно было скопировать bash2.sh в папку dir1, команда была бы:

$ cp -v bash2.sh dir1

параметр -v для подробных сведений.

Также, если нам нужно скопировать более одного файла, вы должны разделить имена файлов пробелом и перечислить все файлы, которые вы хотите скопировать.

$ cp -v файл1 файл2 файл3 ... [целевой каталог]

Если вам нужно скопировать файлы с тем же расширением , вы можете использовать подстановочный знак для соответствия заданному шаблону. Например, вы можете использовать следующую команду для копирования всех текстовых файлов. Все файлы, соответствующие шаблону, копируются в указанный каталог.

$ cp -v *.txt [целевой каталог]

Предположим, вы хотите скопировать файлы в подкаталог текущего каталога; необходимо указать путь. Например, если dir1 имеет подкаталог с именем test , и вы хотите скопировать в него файл, мы можем использовать следующую команду:

$ cp -v имя файла ./dir/subdir

Если вы скопируете файлы в каталог, который содержит такое же имя файла, вы в конечном итоге перезапишете существующие файлы, если не добавите параметр -i для интерактивности.

Давайте попробуем повторить команду из предыдущего примера, чтобы увидеть, какую ошибку она вызывает, и как вы можете перезаписать существующие файлы или нет.

На предыдущем изображении, если вы хотите перезаписать файлы с одинаковыми именами в целевом каталоге, вы должны ввести y в терминал, а затем нажать клавишу ввода. Если вы не хотите перезаписывать, нажмите n.

Если вы хотите создать копию файла в том же каталоге , вы должны указать целевой файл и имя файла реплики. Например, давайте создадим копию нашего файла file1.txt с именем replica.txt, и сохраним его атрибуты. В этом случае команда будет выглядеть следующим образом:

$ cp -vp file1.txt replica.txt

Чтобы создать резервную копию копируемого файла, добавьте -b флаг и обратите внимание на новый файл резервной копии, созданный с другим расширением.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *