Как скопировать содержимое файла в другой файл linux
Перейти к содержимому

Как скопировать содержимое файла в другой файл linux

  • автор:

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

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

Когда вам нужно скопировать содержимое одного каталога в другой, в случае c Linux, в вашем распоряжении множество инструментов. Какой использовать? Это зависит от ситуации и личных предпочтений. В этой статье мы рассмотрим способы копирования содержимого файла из одной папки в другую через терминал. Они будут включать некоторые из популярных вариантов для различных ситуаций.

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

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

Все шаги продемонстрированы на Ubuntu 18.04.1. Сначала давайте создадим несколько фиктивных файлов для работы.

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

Давайте создадим еще одну папку в dir_A с несколькими пустыми файлами.

Теперь вся структура каталога dir_A выглядит следующим образом.

Команда CP

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

Это базовая структура команды cp.

Например, давайте сделаем копию файла dummy1 с именем dummy1_copy .

$ cp dummy1 dummy1_copy

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

Как насчет копирования каталога?

Здесь мы использовали два разных флага. Давайте быстро разберемся с ними.

  • -r: обозначает recursive копию (включая любые скрытые файлы), если копирование включает в себя весь каталог или более.
  • -v: расшифровывается как verbose . Инструмент cp будет выводить каждое действие, которое он выполняет.

Хотите перейти по символическим ссылкам? Добавьте флаг -L.

Допустим, в каталоге назначения уже есть файл с таким же именем. Если вы хотите избежать перезаписи, используйте флаг -n. Это гарантирует, что в случае конфликта cp не перезапишет файл.

Если вы выполняете конфиденциальное действие копирования/вставки, лучше иметь хороший контроль над тем, что происходит, верно? В таком случае используйте флаг -i. Он обозначает интерактивный режим, в котором cp будет запрашивать подтверждение каждый раз, когда возникает конфликт.

Команда MV

Инструмент mv похож на cp. Однако вместо копирования mv перемещает файлы и каталоги. По сравнению с cp эта команда проще.

Структура команд mv похожа на cp.

Чтобы переместить содержимое dir_A в dir_A_copy , выполните следующую команду.

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

У инструмента mv не так много действий. Для всех доступных вариантов, проверьте страницу справки.

Команда Rsync

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

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

rsync обычно не предустановлен ни в одном дистрибутиве Linux. Тем не менее, благодаря его популярности, он теперь доступен на всех основных дистрибутивах Linux. Используйте Pkgs.org , чтобы найти пакет rsync для вашего дистрибутива. Предполагая, что вы установили rsync, давайте начнем.

Во-первых, базовая структура команд rsync, очень похоже на cp.

Прежде чем начать, приведем несколько популярных аргументов rsync.

  • -v : подробный режим, выводит любое действие, выполняемое на экране консоли.
  • -vv : подробный режим с более подробной информацией
  • -r : рекурсивный режим, должен присутствовать при копировании каталогов
  • -z : сжать данные
  • -a : архив данных
  • -n : пробный прогон, должен запускаться в сочетании с подробным режимом. Просто выводит действия, если команда должна была выполняться по-настоящему
  • –delete : Удалить файл(ы) и каталог(и) в целевом каталоге, если исходный каталог их больше не содержит
  • -no-whole-file : заставляет rsync использовать алгоритм дельта-передачи, несмотря ни на что. Полезно в сценариях, где вы должны обеспечить наименьшее количество записи данных.
  • –remove-source-file : удалить исходные файлы после копирования.

Давайте проверим их в действии. Во-первых, каталог копирования. Запустите следующую команду.

Для дальнейшего подробного вывода давайте используем флаг -vv.

Копирование файлов в 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:

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

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

После выполнения этой команды копирования

/папка будет скопирована в папку

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

/документы будет перезаписана.

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

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

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

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

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

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

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

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

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

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

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

find . -name 4 -exec cp <>

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

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

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

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

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

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

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 в целом. Как видите, в терминале это выполняется намного быстрее и эффективнее, чем с помощью графического интерфейса, если помнить нужные команды. Если у вас остались вопросы, спрашивайте в комментариях!

15 полезных примеров команды dd в Linux

В Linux все является файлом, и блочные устройства не исключение. Часто нам приходится работать с блочными устройствами. Как пользователи Linux, мы выполняем различные операции с блочными устройствами, например, – создание резервной копии диска или раздела, резервное копирование главной загрузочной записи ( MBR ), создание загрузочного USB -накопителя и т.д. Конечно, мы можем использовать графические инструменты для выполнения всех этих операций. Однако большинство администраторов Linux предпочитают использовать команду dd из-за ее богатой функциональности и надежности.

Синтаксис команды dd

Наиболее распространенный синтаксис команды dd следующий:

В приведенном выше синтаксисе:

  • if – представляет входной или исходный файл.
  • of – представляет выходной или конечный файл.

Предупреждение – Важно отметить, что команда dd должна использоваться очень осторожно при работе с блочными устройствами. Небольшая ошибка может привести к необратимой потере данных. Поэтому настоятельно рекомендуется сначала опробовать эти операции на тестовой машине.

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

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

Теперь создадим его копию с помощью команды dd:

В этом примере параметр if представляет исходный файл, а параметр of – конечный файл.

Как изучить команду dd в Linux 15 полезных примеров

Разве она не похожа на команду cp? Тогда что особенного в команде dd?

Команда dd намного мощнее обычной команды cp.

2. Как преобразовать текст из нижнего регистра в верхний

Команда dd позволяет нам выполнять преобразование регистра. Для этого мы можем использовать с ней параметр conv.

Чтобы понять это, сначала выведите содержимое файла file-1.txt:

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

В этом примере опция conv=ucase используется для преобразования строчных букв в прописные.

Наконец, проверьте содержимое вновь созданного файла:

Как изучить команду dd в Linux 15 полезных примеров

3. Как перевести текст из верхнего регистра в нижний

Аналогичным образом мы можем использовать команду dd для преобразования букв верхнего регистра в буквы нижнего регистра:

Давайте воспользуемся опцией conv=lcase для преобразования букв верхнего регистра в строчные:

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

Как изучить команду dd в Linux 15 полезных примеров

4. Избегайте перезаписи файла назначения в Linux

По умолчанию команда dd заменяет файл назначения, что означает, что она перезапишет файл, если он существует в месте назначения с тем же именем.

Однако, мы можем отключить это поведение по умолчанию, используя опцию conv=excl , как показано на рисунке.

Здесь мы видим, что команда dd прервала операцию, потому что файл с тем же именем присутствует в месте назначения.

5. Добавление данных в файл с помощью команды dd

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

Мы можем достичь этого, комбинируя два флага – oflag=append и conv=notrunc . Здесь oflag представляет собой флаг вывода, а опция notrunc используется для отключения усечения в месте назначения.

Чтобы понять это, сначала создадим новый текстовый файл:

Далее, добавим содержимое в файл dest.txt с помощью следующей команды:

Теперь, проверим содержимое файла dest.txt:

Как изучить команду dd в Linux 15 полезных примеров

6. Пропуск байтов или символов при чтении входного файла

Мы можем указать команде dd пропустить первые несколько символов при чтении входного файла, используя опции ibs и skip.

Сначала выведем содержимое файла file-1.txt:

Теперь проверим содержимое файла file-2.txt:

Как изучить команду dd в Linux 15 полезных примеров

В приведенном выше выводе видно, что команда пропустила первые 8 символов.

7. Резервное копирование раздела диска Linux с помощью команды dd

До сих пор мы обсуждали основные примеры команды dd, не требующие root-доступа. Теперь давайте рассмотрим некоторые продвинутые случаи использования.

Как и в случае с файлами, мы можем сделать резервную копию раздела диска с помощью команды dd. Например, приведенная ниже команда создает резервную копию раздела /dev/sda1 в файл partition-bak.img:

Как изучить команду dd в Linux 15 полезных примеров

8. Восстановление раздела диска Linux с помощью команды dd

В предыдущем примере мы создали резервную копию раздела /dev/sda1 в файл partition-bak.img.

Теперь давайте восстановим его в раздел /dev/sdb1 с помощью следующей команды:

Как изучить команду dd в Linux 15 полезных примеров

Важно отметить, что размер целевого раздела должен быть равен или больше размера резервной копии.

9. Резервное копирование всего жесткого диска Linux с помощью команды dd

Диск может иметь несколько разделов. Поэтому создание и восстановление резервной копии каждого раздела может занять много времени при увеличении количества разделов. Чтобы преодолеть это ограничение, мы можем создать резервную копию всего диска, как и разделов.

Так, давайте создадим резервную копию диска /dev/sda с помощью следующей команды:

Как изучить команду dd в Linux 15 полезных примеров

Приведенная выше команда создает резервную копию всего диска, включая его разделы.

10. Восстановление жесткого диска Linux с помощью команды dd

Как и разделы, мы можем восстановить резервную копию всего диска. В предыдущем примере мы сделали резервную копию всего диска в файл disk-bak.img. Теперь воспользуемся тем же для восстановления резервной копии на диске /dev/sdb.

Сначала удалим все разделы с диска /dev/sdb и проверим, что все разделы удалены:

Следующим образом восстановим резервную копию на диске /dev/sdb с помощью следующей команды:

Наконец, убедимся, что раздел был создан на диске /dev/sdb:

Как изучить команду dd в Linux 15 полезных примеров

11. Резервное копирование главной загрузочной записи с помощью команды dd

Главная загрузочная запись ( MBR ) находится в первом секторе загрузочного диска. Она хранит информацию о разделах диска. Мы можем использовать команду dd, как показано ниже, чтобы сделать ее резервную копию:

Приведенная выше команда делает резервную копию первых 512 байт, то есть одного сектора.

Как изучить команду dd в Linux 15 полезных примеров

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

12. Восстановление главной загрузочной записи с помощью команды dd

В предыдущем примере мы создали резервную копию главной загрузочной записи ( MBR ). Теперь восстановим ее на диске /dev/sdb с помощью следующей команды:

Как изучить команду dd в Linux 15 полезных примеров

13. Копирование содержимого CD/DVD-привода с помощью команды dd

По аналогии с разделами и дисками, мы можем использовать команду dd для копирования содержимого CD или DVD -привода. Поэтому давайте воспользуемся следующей командой:

В Linux привод CD/DVD представлен устройством /dev/cdrom. Поэтому мы используем его в качестве исходного файла.

Теперь давайте проверим, что содержимое диска было успешно скопировано, проверив его контрольную сумму командой:

14. Создание загрузочного USB -накопителя с помощью команды dd

В предыдущем примере мы создали iso-образ Alma Linux. Теперь давайте используем его для создания загрузочного USB -накопителя:

Как изучить команду dd в Linux 15 полезных примеров

Важно отметить, что приведенная выше команда должна быть выполнена с правильным USB -накопителем.

15. Как показать индикатор прогресса

По умолчанию команда dd не показывает прогресс при выполнении операции копирования. Однако мы можем отменить это поведение по умолчанию с помощью опции status.

Так что давайте используем опцию status=progress с командой dd, чтобы показать индикатор выполнения:

Вывод

В этой статье мы рассмотрели некоторые практические примеры использования команды dd. Опытные пользователи могут обращаться к этим примерам в повседневной жизни при работе с системами Linux. Однако при выполнении этих команд нужно быть очень осторожным. Ведь небольшая ошибка может привести к перезаписи содержимого всего диска.

Команда cp — копирование файлов в Linux из терминала

Задачи по копированию файлов из одного места в другое возникают у пользователей чаще всего, скопировать нужные объекты можно через менеджер файлов, в котором следует найти нужную директорию и после воспользоваться контекстным меню. Однако есть гораздо более простые способы, в этой статье речь как раз пойдет о них, точнее о копировании файлов в Линукс из консоли.

Знание о команде cp полезны, ведь файловый менеджер может некорректно работать из-за проблем с графической оболочкой. Серверные компьютеры вообще управляются только через консоль. Перемещать файлы с помощью терминала очень удобно, в этом может убедиться каждый пользователь. Скопировать файлы можно как с помощью утилиты cp, так же используя tar и find.

Синтаксис

Рассмотрим синтаксис утилиты.

cp [параметр] [что копировать] [куда купировать]

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

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

Примеры

Для первого примера, скопируем файл /root/katalog/dokument в папку, которая называется «newpapka».

cp /root/katalog/dokument /root/newpapka

Cкопируем «dokument» и «file» в каталог «newpapka».

cp /root/katalog/dokument /root/katalog/file /root/newpapka

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

cp -v /root/katalog/dokument /root/katalog/file /root/newpapka

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

cp -i /root/katalog/dokument /root/newpapka

alt=»Пример перезаписи документа» width=»700″ height=»41″ />Существует альтернатива данной функции, благодаря запросу «-n» можно сказать программе, чтобы она вообще не перезаписывала файлы.

Данная возможность будет полезна при следующей ситуации: пользователю известно, что в определенном месте для копирования уже содержится тот же файл, но с устаревшей версией, а с помощью функции «-u» можно безболезненно перезаписать старые данные:

cp -u /root/katalog/dokument /root/newpapka

Для копирование папки со всем ее содержимом необходимо использовать параметр -r.

cp -r /root/katalog /root/newpapka

ВАЖНО! Как видно из скриншота, данный способ скопирует всю папку и поместит ее в новую директорию.

Если нужно только сделать копию всех файлов без папки, то опция -r не подойдет.

Можно сделать так:

cp /root/katalog/* /root/newpapka

Как видно из примера выше, команда cp работает со знаками «*» и «?», следующий запрос, займется копированием всех файлов, чье название начинается с new:

cp /root/katalog/new* /root/newpapka

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

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

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

Регулярные выражения

Для выполнения других, более сложных функций, придется использовать вместе с cp такие утилиты find и egrep.

С помощью утилиты find есть возможность использовать команды для выявления расположения файлов. Пользователь может найти данные с использованием find, а затем скопировать их, используя функция для копирования.

Вот пример, в нем проводится копирование файлов, которые содержат цифры от 1 до 5:

find /root -name [1-5] -exec cp <> /root/newpapka \;

ВАЖНО! Обязательно в конце команды нужно ввести «;», в противном случаи будет ошибка — exec аргумент не задан.

  • /root — каталог где производить поиск.
  • -name — критерии поиска.
  • [1-5] — что искать, в данном случаи от одного до пяти.
  • -exec — аргумент, который говорит, что нужно запустить команду.
  • <> — подставляет имя каждого файла.

Сделать то же самое можно и не прибегая к find, можно обратиться к утилите ls, выбрать нужные файлы, используя регулярные выражения egrep, затем отправить их под контроль cp, применяя при этом xargs:

ls -1 /root | egrep ‘[1-5]’ | xargs cp -t /root/newpapka

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

Копирование при помощи перенаправления вывода

В операционной системе Linux есть специальный символ «>», который означает перенаправление вывода.

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

Используя cat можно выводить на экран основные данные файла, а затем, используя bash, пользователь сможет переносить составляющие файла из одного места в другое.

cat file1 > newfile

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

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

С помощью cp так делать можно, однако на помощь придется позвать утилиту tar, чтобы она начала работу следует написать в cp «-p».

В качестве примера будет приведен туннель – одна часть запроса архивирует файл и отправляет его, другая – разархивирует и отправляет в нужное место:

tar cf — /lfc | ( cd /epl/lfc && tar xvf — )

С помощью данной команды все из папки /lfc отправляется в папку /epl/lfc. Таким способом можно скопировать любую информацию с компьютера, даже если это операционная система.

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

Команда Linux cp

В Linux команда cp (copy) используется для копирования файлов из одного места в другое. Утилита может также копировать каталоги.

Использование команды Linux cp с примерами

Исходный файл/каталог копируется в файл/каталог, заданный в параметре Целевой файл/каталог. Если целевой файл/каталог существует, то его содержимое заменяется без предупреждения.

Содержание

Синтаксис

Опции

Примеры использования в Linux команды cp

В домашнем каталоге мною были создвны каталоги Directory_Source и Directory_Target . В первый из них я поместил файлы readme и .vimrc .

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

В пустой каталог назначения копируем файл readme :

В файл readme , скопированный в каталог назначения, копируем изменённый файл readme :

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

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

Файлы были скопированы в каталог назначения:

Предотвращение перезаписи существующих файлов

Для предотвращения перзаписи существующего файла используется опция -n :

При использовании опции -i система будет требовать подтвержения перезаписи файла:

От вас потребуется ответ y или n .

Создание автоматических резервных копий

В каталог назначения копируем изменённый файл readme :

Получаем следующий результат:

Как видим в каталоге сохранена резервная копия файла readme

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

Теперь у каталога Directory_Target появился подкаталог Directory_Source .

Копирование лишь содержимого каталога

Для копирования содержимого исходного каталога в каталог назначения следует к имени исходного каталога добавить /. :

Копирование нескольких каталогов

Копирование нескольких каталогов или лишь их содержимого выполняется также, как и копирование одного каталога или его содержимого. Надо лишь перечислить все исходные каталоги.

Сохранение атрибутов при копировании

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

Заключение

Вы убедились в том, что в Linux команда cp является очень нужной. Надеюсь на то, что эта статья будет вам полезна. Успехов!

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

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