Советы и лайфхаки

Копирование linux – Можно ли резервное копирование файловой системы linux путем копирования дерева структуры файлов?

Содержание

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

Оцените статью:

Загрузка…

losst.ru

Как скопировать файлы с помощью команды ср в Linux

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

Команда использующаяся для копирования файлов является ср. 

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

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

cp /source/path/name /target/path/name

 

Например представьте, что вы имеете следующую структуру папок:

  • home
    • andreyex
      • documents
        • folder_one
          • file_one
          • file_two
          • file_three
        • folder_two

Если вы хотите скопировать file_one из текущего местоположения в / home/ documents / folder_one в / home/ documents / folder_two, то вы должны ввести следующую команду в командной строке:

cp /home/andreyex/documents/folder_one/file_one /home/andreyex/documents/folder_two/file_one

 

Есть некоторые ярлыки вы можете сделать здесь.

/ Главная часть может быть заменена на тильду (~), что объясняется в этой статье. Это изменяет команду на эту

cp ~/documents/folder_one/file_one ~/documents/folder_two/file_one

 

Вы можете просто опустить имя файла для цели, если вы собираетесь использовать то же имя файла

cp ~/documents/folder_one/file_one ~/documents/folder_two

 

Если вы уже в целевой папке вы можете просто заменить путь к цели с полной остановкой.

cp ~/documents/folder_one/file_one

 

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

cp file_one ~/documents/folder_two

 

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

В предыдущем разделе folder_one содержит файл с именем file_one и folder_two не делает. Представьте себе, что folder_two имеет файл с именем file_one и вы запустили следующую команду:

cp file_one ~/documents/folder_two

 

Приведенная выше команда будет перезаписывать file_one, который в настоящее время находится в folder_two. Там нет подсказок, нет предупреждения и сообщения об ошибках, потому что, вы указали действительную команду.

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

cp -b /source/file /target/file

 

Например:

cp -b ~/documents/folder_one/file_one ~/documents/folder_two/file_one

 

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

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

cp --backup=numbered ~/documents/folder_one/file_one ~/documents/folder_two/file_one

 

Имя файла для резервных копий будет вдоль меняться 1.~1~, file_one.~2~ и т.д.

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

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

Для этого используйте следующий синтаксис:

cp -i /source/file /target/file

 

Например:

cp -i ~/documents/folder_one/file_one ~/documents/folder_two/file_one

 

Сообщение будет выглядеть следующим образом :  cp: overwrite ‘./file1’?

Для перезаписи файла нажмите Y на клавиатуре или для отмены нажмите N или CTRL и C одновременно.

Что происходит при копировании символьных ссылок в Linux

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

Представьте себе, вы имеете следующую структуру папок:

  • home
    • andreyex
      • documents
        • folder_one
        • folder_two
          • file_one (symbolic links points to folder_one/file_one)
        • folder3

Посмотрите на следующую команду:

cp ~/documents/folder_one/file_one ~/documents/folder3/file_one

 

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

Что происходит, однако, если скопировать символическую ссылку из folder_two в folder3?

cp ~/documents/folder_two/file_one ~/documents/folder3/file_one

 

Файл, который копируется в folder3 не будет символической ссылкой. Это на самом деле файл, на который указывает символическая ссылка, так на самом деле вы получите тот же результат, как если бы путем копирования file_one из folder_one.

Кстати вы можете получить тот же результат с помощью следующей команды:

cp -H ~/documents/folder_two/file_one ~/documents/folder3/file_one

 

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

cp -L ~/documents/folder_two/file_one ~/documents/folder3/file_one

 

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

cp -d ~/documents/folder_two/file_one ~/documents/folder3/file_one

 

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

cp -P ~/documents/folder_two/file_one ~documents/folder3/file_one

 

Как создавать жесткие ссылки с помощью команды ср

В чем разница между символической ссылкой и жесткой связи?

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

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

Это руководство расскажет вам все, что вам нужно знать о жестких ссылках .

Вы можете создать жесткую ссылку с помощью команды ср.

cp -l ~/source/file ~/target/file

 

В качестве примера того, почему вы могли бы использовать жесткую ссылку учесть, что у вас есть папка под названием видео и в этой папке видео у вас есть действительно большой видео файл с именем honeymoon_video.mp4. Теперь представьте, что вы также хотите, чтобы видео быть известным как barbados_video.mp4, потому что он также имеет кадры Барбадоса.

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

Вы могли бы вместо того, чтобы создать символическую ссылку с именем barbados_video.mp4, которая указывает на файл honeymoon_video.mp4. Это будет работать хорошо, но если кто-то удалил honeymoon_video.mp4 вы остались бы со ссылкой и ничего другого и связь по-прежнему занимает дисковое пространство.

Единственное отличие состоит в том, что они содержат разное количество индексных дескрипторов. (уникальные идентификаторы). Удаление файла honeymoon_video.mp4 не удаляет файл, но только снижает количество для этого файла на 1. Файл будет удален только если все ссылки на этот файл будут удалены.

Чтобы создать ссылку вы могли бы сделать что-то вроде этого:

cp -l /videos/honeymoon_video.mp4 /videos/barbados_video.mp4

 

Как создать символические ссылки с помощью команды ср

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

cp -s /source/file /target/file

 

Опять же я бы лично вообще используют команду ln -s, но вместо этого работает хорошо.

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

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

cp -u /source/file /target/file

 

Стоит отметить, что если файл не существует на целевой стороне, то копия будет иметь место.

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

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

cp /source/file_one /source/file_two /source/file_three /target

 

Приведенная выше команда будет копировать file_one, file_two и file_three в целевую папку.

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

cp /home/andreyex/music/*.mp3 /home/andreyex/music2

 

Приведенная выше команда будет копировать все файлы с расширением .mp3 в папку music2.

Как скопировать папки

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

Например представьте, что вы имеете следующую структуру папок:

Представьте, что вы хотите переместить папку folder_one в папку folder_two следующим образом:

Вы можете использовать следующую команду:

cp -r /home/andreyex/documents/folder_one /home/andreyex/documents/folder_two

 

Кроме того, можно использовать следующую команду:

cp -R /home/andreyex/documents/folder_one /home/andreyex/documents/folder_two

 

Это копирует содержимое folder_one, а также любые суб-каталоги и файлы в пределах подкаталогов.

Резюме

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

man cp

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

andreyex.ru

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

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

Рекомендую такую стратегию резервного копирования: все мои компьютеры связаны с центральным сервером, по крайней мере иногда такая связь существует. Раз в неделю я с помощью команды rsync синхронизирую каталоги со своими личными файлами с определенным каталогом на сервере. С самыми важными файлами, с которыми я работаю ежедневно, такое резервное копирование выполняется также ежедневно. Таким образом, все важные файлы находятся на двух разных компьютерах, а значит, на двух независимых друг от друга жестких дисках. Примерно раз в месяц целый сегмент диска сервера синхронизируется с внешним USB-носителем, который хранится отдельно от жестких дисков (в другом помещении). И вот за последние 15 лет мне пришлось попрощаться с несколькими винчестерами из-за неисправностей оборудования, но значительные объемы файлов не терялись никогда.

Сжатие и архивирование файлов

В Windows для сжатия одного или нескольких файлов обычно применяется архиватор WinZIP или совместимая с ним программа. В Linux также есть подобные пользовательские интерфейсы: например file-roller (Gnome) или ark (KDE). В этом разделе будут продемонстрированы некоторые альтернативы, позволяющие архивировать файлы с помощью специальных команд.

Инструменты для сжатия и архивирования файлов

gzip — Архивирует файл
gunzip — Извлекает файл из архива

bzip2 — Архивирует файл (сильное, но более медленное сжатие)

bunzip2 — Извлекает файл из архива bzip2

tar — Создает или извлекает файловый архив

zip — Создает совместимый с Windows ZIP-архив

unzip — Извлекает ZIP-архив

zipinfo — Указывает информацию по определенному ZIP-архиву

Команды gzip и gunzip

Команда gzip архивирует файлы, заданные в виде параметров, и переименовывает их по принципу имя .gz, где имя — имя файла. Команда gunzip выполняет противоположную операцию. Обе команды используют так называемый алгоритм Лемпеля-Зива (LZ77), особенно удобный при работе с текстовыми файлами (но непригоден для работы с аудио- и видеофайлами). Разумеется, архивация происходит без потери данных, то есть при извлечении из архива восстановленный файл имеет тот же вид, что и до архивации. На следующих примерах показана работа этих команд:

user$ ls -l filesystem.tex

… 178794 1. Aug 17:43 filesystem.tex

user$ gzip filesystem.tex

user$ ls -l filesystem.tex.gz

… 57937 1. Aug 17:43 filesystem.tex.gz

user$ gunzip filesystem.tex.gz

Команды bzip2 и bunzip2

Это команды, альтернативные gzip/gunzip. Достоинство данных команд заключается в более сильной архивации, но они немного медленнее работают. Файлы, заархивированные таким образом, имеют расширение .bz2.

user$ bzip2 filesystem.tex user$ ls -l filesystem.tex.bz2

… 47105 1. Aug 17:43 filesystem.tex.bz2 user$ bunzip2 filesystem.tex.bz2

Команда tar


www.modx.cc/manager/?a=resource/create&class_key=Article&parent=982&context_key=web&template=30
Команда tar обычно применяется в Linux для того, чтобы объединять несколько файлов в архиве, создаваемом, как правило, командами gzip или bzip2. Сначала tar предназначалась для записи файлов на стримерный накопитель и считывания информации с него. Поскольку такие устройства сегодня применяются уже достаточно редко, я опишу только то, как эта команда используется с файловыми архивами.

Следующая команда помещает все файлы из каталога buch в сжатый архивный файл buch.tgz. Коротко расскажу о буквенных названиях параметров: с означает

«создать» (create), то есть таким образом tar создает архиву означает zip, то есть архив должен создаваться с помощью gzip; f означает «файл» (file), то есть tar должна создать файл архива (а не записывать архив на кассету стримера). В дополнение к этому параметру указывается имя файла. Обычно такие файлы имеют расширение .tar.gz, или коротко .tgz.

user$ tar -czf meinarchiv.tgz buch/


Команда tar -tzf возвращает содержимое архива. Данные в архиве располагаются произвольно. В большинстве дистрибутивов less сконфигурирована так, что содержимое архива можно просмотреть, просто задав команду less имяЛдг.
user$ tar -tzf meinarchiv.tgz

linux8/

linux8/lanserver.tex linux8/security.tex~ linux8/buch.tex

Iinux8/u4.txt~

Команда tar -xzf распаковывает архив и извлекает содержащиеся в нем файлы:

user$ cd другойкаталог/ user$ tar -xzf meinarchiv.tgz

В следующем примере tar извлекает из архива только ТЕХ-файлы. Обратите внимание на апостроф рядом со схемой файла, предотвращающий мгновенную обработку таких файлов оболочкой.

user$ tar -xzf meinarchiv.tgz '*.tex'

Если вы хотите создать архив с помощью bzip2, а не с помощью gzip, измените параметр z на j.

Команда zip

В мире UNIX/Linux файлы TAR — это доминирующий формат для передачи файловых архивов. Однако если вы работает с пользователями Windows, то ZIP-архив — это оптимальный выбор. Следующая команда помещает все HTML-файлы, переданные в виде параметров, в архив myarchive.zip. user$ zip meinarchiv.zip *.html

Если вы хотите заархивировать содержимое целых каталогов, укажите параметр -r:

user$ zip -r meinarchiv.zip mywebsite/

Содержимое ZIP-файла можно просмотреть с помощью команды zipinfo: user$ zipinfo meinarchiv.zip

Archive: test.zip 143677915 bytes 1899 files

-rw-r—r— 2.3 unx 78039 tx defN 10-Jul-06 11:27 linux8/lanserver.tex -rw-r—r— 2.3 unx 115618 tx defN 7-Apr-05 15:58 linux8/security.tex~ -rw-r—r— 2.3 unx 3899 tx defN 28-Jul-06 16:38 linux8/buch.tex -rw-r—r— 2.3 unx 752 tx defN ll-Feb-04 12:06 Iinux87u4.txt-

Для извлечения архива используйте следующие команды:

user$ cd другой каталог/ user$ unzip meinarchiv.zip

Синхронизация каталогов


Команда rsync первоначально разрабатывалась для синхронизации сетевых каталогов. Специальные возможности использования этой команды при работе с сетями перечислены в подразделе «RSYNC». Здесь мы поговорим лишь о том, как синхронизировать два локальных жестких диска.

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

user$ rsync кaтaлoгl/*.jpg каталог2/

Чтобы синхронизировать целый каталог вместе со всеми его подкаталогами, используйте параметр -a, который является сокращенным вариантом целого ряда других параметров (-rlptgoD). Параметр вызывает рекурсивную обработку всех подкаталогов и гарантирует, что информация (владелец, принадлежность к определенной группе, время последнего изменения и т. д.) сохранится в максимально полном объеме. Если каталог2 не существует, то этот каталог создается.

user$ rsync -a каталог1/ каталог2/

По умолчанию rsync копирует или обновляет все новые или измененные файлы, но ничего не удаляет. Если вы хотите, чтобы файлы, удаленные из каталог1, также были удалены из каталог2, дополнительно укажите параметр — -delete. Само собой разумеется, что этот параметр опасен: если случайно удалить каталог, то именно он удалится при следующей операции резервного копирования и со второго жесткого диска! Однако в долгосрочной перспективе вам без — -delete не обойтись. Если этим параметром не пользоваться, со временем накопится масса уже ненужной информации.

Если вы хотите обеспечить надежную подачу данных о том, какие файлы были изменены и сколько файлов (с какой скоростью и куда именно) было перенесено, дополнительно укажите параметр — v.

Автоматизация работы rsync. Чтобы не вводить команду rsync многократно, лучше всего запаковать ее в небольшой сценарий командного процессора. Тогда вы гарантированно сможете избежать опечаток.

#!/bin/sh

mount /backup # Привязка резервного каталога NFS к файловой системе rsync -av —delete /folderl/* /backup/rechnerX/folderl/ rsync -av —delete /folder2/* /backup/rechnerX/folder2/

Резервное копирование будет еще удобнее и надежнее, если автоматизировать его запуск программой Cron-Job.

Инкрементное резервное копирование


Интересной альтернативой rsync является команда rdiff-backup. Ее важнейшее отличие от rsync заключается в том, что она сохраняет в резервном каталоге для измененных файлов и старые версии этих файлов. Для экономии места можно сохранять не копию измененного файла, а только внесенные изменения (которые также можно архивировать). Кроме того, rdiff-backup позволяет без особых усилий организовать инкрементное резервное копирование: из получаемых таким образом копий можно восстанавливать также более старые варианты файлов. В принципе функционально rdiff-backup аналогична Time Machine из Apple Mac OS X — отсутствует только симпатичный пользовательский интерфейс.

Выполнение резервного копирования

Проще всего применять rdiff-backup с двумя локальными каталогами. Если целевой каталог еще не существует, он создается.

root# rdiff-backup /home /home-backup

Команда rdiff-backup создает в каталоге для резервного копирования подкаталог rdiff-backup-data. В нем сохраняются различные статистические файлы и статусная информация. Кроме того, в каталоге increments содержатся старые версии тех файлов, которые были изменены или удалены. При этом сохраняются только изменения (.diff), которые дополнительно архивируются. В имя файла интегрируется дата создания последней версии. Таким образом, получаются сравнительно сложные имена файлов вида Hiw.2009-04-03T08:37:58+02:00.diff.gz.

Доступ к резервным копиям


Если вы хотите обратиться к резервной копии, то вам нужен каталог /home-backup, отражающий состояние каталога / home на момент последнего резервного копирования (за исключением дополнительного резервного каталога rdiff-backup-data — именно такой результат вы бы получили, если бы выполнили резервное копирование с помощью команды cp-a или rsync -a —delete). Таким образом, открыть последнюю резервную копию совсем не сложно. Конечно, резервную копию можно восстановить и с помощью rdiff-backup. Для этого применяется параметр -r и указание времени now. Следующая команда позволяет восстановить резервную копию во временном каталоге:
root# rdiff-backup -r now /home-backhup /tmp/home-aktuell

Если вы хотите обратиться к старой версии файла или к недавно удаленному файлу, дело обстоит сложнее: нужно по порядку восстановить все DIFF-файлы (начиная с самого нового), пока вы не получите ту (прошлой) версиюю, которая вам нужна.

Конечно, это необязательно делать вручную — для этой цели существует команда rdiff-backup. Следующая команда восстанавливает каталог /home в таком виде, в котором он был десять дней назад:

root# rdiff-backup -r 10D /home-backup/ /tmp/home-historisch

Момент резервного копирования на ваш выбор можно задавать или в абсолютном виде (например, 2009-12-31), или в относительном (в часах (h), днях (D), неделях (W) и т. д.). Обратите внимание, что при восстановлении старых файлов с возрастанием количества версий увеличивается нагрузка на процессор, соответственно, работа системы замедляется!

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

root# rdiff-backup -r 10D /home-backup/file file-historisch root# rdiff-backup -r 10D /home-backup/folder/ folder-historisch

Удаление всех резервных копий. Если вы регулярно пользуетесь командой rdiff-backup, то каталог с резервными копиями со временем серьезно разрастается. Чтобы удалить все резервные копии, созданные более четырех месяцев назад, сделайте так:

root# rdiff-backup --remove-older-than 4M --force /home-backup/

Вместо конкретного временного пункта вы также можете указать, сколько времени должны сохраняться заархивированные резервные версии. Следующая команда уменьшает количество резервных версий до трех (независимо от того, насколько давно они были созданы):
root# rdiff-backup --remove-older-than 3B --force /home-backup/

Сетевое резервирование


Во всех предыдущих примерах мы исходили из того, что исходный и конечный каталоги находятся в файловой системе локального компьютера. Однако команда rdiff-backup может обращаться через сеть и к удаленным каталогам. В отличие от случая работы с rsync, команда rdiff-backup должна быть установлена и на удаленном компьютере! Передача данных осуществляется через SSH. Специальной конфигурации rdiff-backup не требуется.
При указании внешних каталогов применяется практически такой же синтаксис, как при работе с rsync. Единственное отличие заключается в том, что после имени хоста необходимо поставить два двоеточия:
root# rdiff-backup [email protected]::/home /home-backup

Программа Duplicity

Если вам, в принципе, нравится идея команды rdiff-backup, но также требуется закодировать резервную копию и обеспечить закачку информации через SSH или

FTP на внешний сервер, обратите внимание на программу Duplicity, записанную на языке Python. Функционально она напоминает rdiff-backup, но создает только архивы в формате TAR. В настоящий момент программа проходит бета-тестирование и активно разрабатывается.

Пользовательские интерфейсы для резервного копирования

Компания Apple своей программой Time Machine доказала, что даже приложение для резервного копирования может вызвать восторг пользователя. Linux, к сожалению, не может составить Apple конкуренцию в данном отношении: хотя выбор команд и инструментов для резервного копирования и необозрим, пользователи персональных компьютеров все еще ждут появления гениального и простого инструмента. В Gnome и KDE программа резервного копирования по умолчанию вообще отсутствует. Это тем более поразительно, так как существует несколько исключительно интересных и простых в использовании приложений.

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

Grsync

На самом деле Grsync не является программой для резервного копирования в полном смысле этого слова. Это всего лишь очень простой пользовательский интерфейс для работы с командой rsync. После установки вы связываете с компьютером внешний жесткий диск или USB-флешку, запускаете Grsync и копируете содержимое вашего домашнего каталога в каталог на внешнем жестком диске. При первом запуске следует скопировать все файлы, в ходе последующих запусков — только измененные или новые файлы.

Многие параметры, по сути, могут быть оставлены в таком виде, как они настроены по умолчанию. Однако о двух параметрах следует рассказать подробнее. О Флажок Удалить в целевом каталоге определяет, должна ли программа Grsync синхронизировать процессы удаления. Если после первого резервного копирования вы удалите файл в вашем домашнем каталоге, то этот файл при следующем прогоне будет удален и в резервном каталоге. Если необходимо защитить резервный каталог от нечаянного удаления, то этот флажок можно не устанавливать (такая настройка также сделана по умолчанию). Его необходимо установить

лишь в том случае, когда содержимое вашего каталога и страхующего его резервного каталога должны полностью совпадать. О Установка флажка Не покидать файловую систему означает, что Grsync будет синхронизировать только те файлы, которые находятся в файловой системе исходного каталога. Обычно стоит устанавливать этот флажок. Основными достоинствами Grsync являются простота в использовании и тот факт, что ваши файлы будут копироваться в резервный каталог «один к одному». Кроме того, для обращения к резервной копии не требуются никакие специальные инструменты.

PyBackPack

Программа предназначена для того, чтобы сохранять резервную копию домашнего каталога на CD или DVD в любом каталоге (например, на внешнем диске) или на сервере, доступ к которому обеспечивается через SSH. Интерфейс этой программы существует только на английском языке, состоит из трех вкладок. Если вы хотите просто делать резервные копии вашего домашнего каталога и сохранять их на CD или DVD, выберите на вкладке Ноте вариант Go.

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

Ready.

На фоне выполнения программы PyBackPack выполняется уже известная вам команда rdiff-backup. Однако в PyBackPack не предусмотрена возможность удаления устаревших резервных копий, поэтому при каждом следующем резервном копировании на этот каталог требует все больше места. Простейший способ справиться с этой проблемой — создавать при каждом резервном копировании новый каталог, а старый удалять.

DejaDup

Эта программа, как и PyBackPack, разработана для максимально простого создания резервной копии в каталоге на локальной машине или в сети. В качестве места для резервного копирования очень хорошо подходит сервер Amazon-S3. С помощью команды Правка ► Настройки можно указать, где следует сохранить каталог и на какие каталоги будет распространяться резервное копирование, а на какие — нет. Резервное копирование запускается нажатием кнопки Создание резервной копии.

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

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

Кнопка Восстановить позволяет полностью восстановить резервную копию. При этом можно задать нужную версию резервной копии и указать, куда должны быть скопированы резервные файлы. Если вы хотите восстановить лишь один файл или каталог, щелкните на нем правой кнопкой мыши в менеджере Nautilus и выполните команду контекстного меню Восстановить старую версию.
В перспективе DejaDup должна стать стандартной программой для резервного копирования в Ubuntu. Работа программы основана на созданном на языке Python сценарии для резервного копирования Duplicity. Недостаток заключается в том, что файлы резервных копий создаются в очень специфическом формате, так что восстанавливать их можно только с помощью программы DejaDup или сценария Duplicity.
Читайте так же:
Поиск файла linux

modx.cc

Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий.

C навигацией разобрались, теперь научимся создавать, удалять, копировать, перемещать файлы и директории (каталоги) в терминале Linux.

Комментирование приветствуется.

Создание файлов и директорий в терминале Linux.

Создание текстовых файлов в терминале Linux.

Текстовый файл в терминале Linux можно создать тремя способами.

1. С помощью команды touch:

Вводим команду touch, затем путь и название нового файла.

touch /путь/к/файлу/название_файла

Например, создадим текстовый файл в текущей директории с именем file.txt:

touch file.txt

2. С помощью перенаправления стандартного потока вывода любой команды.

О перенаправлении стандартных потоках вывода в файл более подробно будет рассказано в одной из следующих статей о терминале Linux. 

Создать файл можно также перенаправлением вывода любой команды в файл.

В общем виде команда будет следующей:

какая_нибудь_команда > /путь/к/файлу/наименование_файла

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

Например, перенаправим вывод справки команды ls в файл, который будет создан (а если такой файл есть, то он будет полностью перезаписан):

ls —help > ls_help.txt

Но это мы создали не пустой файл, а если хотим создать пустой, то воспользуемся командой echo c переданной ей пустой строкой (две одинарных ковычки) и перенаправим это в файл:

echo » > file

3. С помощью любого текстового редактора, консольного или с графическим интерфейсом.

Передаем команду запуска любого текстового редактора и путь к файлу.

Самый простой консольный текстовый редактор это nano:

nano nano_file.txt

Или с помощью текстового редактора с графическим интерфейсом, который установлен в Gnome или Unity по умолчанию:

gedit gnome.txt

Про манипуляции с текстом более подробно в одной из следующих статей о терминале Linux.

Создание директорий (каталогов) в терминале Linux.

Создание каталогов выполняется командой «mkdir» (от англ. make directory):

mkdir dir_name

Создать директорию с именем «dir1»:

mkdir dir1

Создать две директории одновременно:

mkdir dir1 dir2

Создать дерево директорий:

mkdir -p /dir1/dir2

Удаление файлов и директорий в терминале Linux.

Удаление директорий (каталогов) в терминале Linux.

Для удаления директорий используется команда «rmdir» (от англ. remove directory):

rmdir dir_name

Удаляются директории аналогично, как и создаются. Такие же команды.

Удаление файлов в терминале Linux.

Для удаления файлов используется команда «rm» (от англ. remove):

Работает очень просто, пишете команду rm и путь к файлу, который хотите удалить:

Удалить файл с именем «file1»:

rm file1

Но команда «rm» позволяет удалять не только файлы, но и директории (каталоги) вместе с их содержимым.

Удалить директорию с именем «dir1» и рекурсивно всё её содержимое:

rm -r dir1

Удалить две директории и рекурсивно их содержимое:

rm -r dir1 dir2

Также можно добавить параметр -f, который означает, что при удалении не будет запрашиваться подтверждение на удаление. Команды будут выглядеть так:

rm -f file1

rm -rf dir1

Перемещение и переименование файлов и директорий в терминале Linux.

Для перемещения и переименовывания файлов и директорий (каталогов) используется команда mv (от англ. move).

Всё очень просто. Чтобы переименовать файл, выполняем команду:

mv название_файла новое_название

Чтобы переместить файл:

mv название_файла путь/

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

Для копирования используется команда «cp» (от англ. copy).

Скопировать файл file1 и назвать его file2:

cp file1 file2

Копировать директорию dir1 в директорию dir2:

cp -a dir1/ dir2/

Копировать файл с именем file1 в директорию c именем dir1:

cp file1 dir1/

Важно!

У каждой команды присутствует множество параметров, чтобы узнать их, просто наберите команду и параметр —help:

Например:

rm —help

touch —help

www.linuxrussia.com

Программы резервного копирования Linux | Losst

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

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

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

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

1. Rsync

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

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

2. Fwbackups

Это бесплатный инструмент с открытым исходным кодом, который можно запускать как в Windows, так и в Linux. У программы простой и интуитивно понятный интерфейс, поэтому пользователи могут очень просто настроить и делать резервные копии.

Основные преимущества:

  • Простой в использовании интерфейс
  • Гибкость в настройке резервного копирования
  • Уделенное резервное копирование
  • Резервное копирование всей файловой системы
  • Исключение файлов и каталогов из копирования и многое другое.

3. Bacula

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

Программа имеет архитектуру сети и состоит из таких компонентов:

  • director — программа, которая управляет процессом резервного копирования.
  • console — инструмент, позволяющий пользователю взаимодействовать с director.
  • file — программа, которая устанавливается на компьютер и выполняет резервное копирование linux.
  • repostiry — используется для чтения и записи на диск.
  • directory — отвечает за используемые базы данных.
  • monitor — отслеживает все события, происходящие в других частях программы.

4. Backupninja

Эта мощная программа для резервного копирования позволяет создавать резервные копии файлов конфигурации и сохранять их в каталоге /etc/backup.d/.

Особенности программы:

  • Удобная настройка с помощью файлов ini
  • Использование сценариев для обработки новых типов резервных копий.
  • Отправка сообщений по электронной почте.
  • Легко выполняется создание резервных копий через терминал.
  • Интеграция с Linux-Vservers.

5. Simple Backup Suite (sbackup)

Это программа резервного копирования linux для рабочего стола Gnome. Пользователи могут выполнить всю настройку через графический интерфейс, для выбора файлов, которые нужно архивировать можно использовать регулярные выражения.

Особенности программы:

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

6. Kbackup

Это простой инструмент резервного копирования для Unix и Linux. Он может создавать архивы и сжимать их с помощью gzip.

Преимущества программы резервного копирования linux:

  • Удобный интерфейс на основе меню
  • Поддержка сжатия, шифрования, двойной буферизации
  • Автоматическое не обслуживаемое резервное копирование
  • Высокая надежность
  • Поддержка полного и инкрементного резервного копирования
  • Резервное копирование linux по сети
  • Обширная документация

7. BackupPC

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

Возможности программы:

  • Сжатие файлов для уменьшения размера
  • Нет необходимости в клиентской части программы
  • Гибкость резервного копирования
  • Гибкость настройки параметров
  • Уведомление пользователей о необходимости резервного копирования.

8. Amanda

Amanda — это программное обеспечение с открытым исходным кодом, которое работает на Unix, Linux и Windows. Здесь поддерживается использование системных утилит для выполнения резервного копирования, например, GNU tar в Linux. На компьютере с Windows используется собственная утилита. Пользователи могут настроить сервер для хранения копий на одной из машин сети.

9. Back Time

Это простое и легкое средство для резервного копирования операционной системы Linux. Работает с помощью создания снимков указанных директорий.

Поддерживаются такие функции:

  • Установка места хранения для создания снимков
  • Ручные и автоматические резервные копии
  • Словари для резервного копирования.

10. Mondorescue

Это бесплатное программное обеспечение для резервного копирования и восстановления системы, в котором есть все что нужно. Вы можете выполнять резервное копирование персонального компьютера, рабочих станций или сервреов, жестких дисков, NFS шар, CD, DVD и многое другое.

У программы также есть возможность восстановления данных из резервной копии после возникновения каких-либо проблем.

11. Box Backup Tool

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

  • Резервное копирование онлайн
  • Демон для автоматического резервного копирования
  • Хранение резервных копий в файлах
  • Сжатие данных и шифрование
  • Выбор файлов и папок для копирования.

12. Luckybackup

Это бесплатный, мощный, быстрый, надежный и простой в использовании инструмент для резервного копирования и синхронизации на основе rsync.

Функциональность:

  • Сохранение прав собственности файлов
  • Создание нескольких резервных копий файлов
  • Продвинутые опции для файлов и каталогов
  • Позволяет использовать опции rsync.

13. Areca

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

Программа поддерживает такие функции:

  • Уведомления по электронной почте о процессе резервного копирования
  • Простота в использовании и настройке
  • Просмотр содержимого архивов.

14. Bareos Data Protection

Bareos Data Protection — это набор программ, который позволяет пользователям создавать резервные копии, а также восстанавливать и защищать данные в операционных системах семейства Linux. Программа реализована на основе Bacula и работает как сеть клиент — сервер.

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

Выводы

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

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

Источник: http://www.tecmint.com

losst.ru

Копирование и перемещение файлов | Linux: Введение

Для перемещения файлов и каталогов предназначена утилита mv (сокращение от англ. «move» — «перемещать»). У mv два обязательных параметра: первый — перемещаемый файл или каталог, второй — файл или каталог назначения. Имена файлов и каталогов могут быть заданы в любом допустимом виде: при помощи полного или относительного пути. Кроме того, mv позволяет перемещать не только один файл или каталог, а сразу несколько. За подробностями о допустимых параметрах и ключах следует обратиться к руководству по mv.

[methody@localhost methody]$ mv -- -filename-with- examples/
[methody@localhost methody]$ cd examples
[methody@localhost examples]$ mv ../text .
[methody@localhost examples]$ ls
-filename-with- text
[methody@localhost examples]$ 

Пример 10. Перемещение файлов

Мефодий сначала переместил в каталог «examples» файл «-filename-with-», поскольку имя этого файла начинается с «-», ему потребовалось предварить его ключом «--», чтобы следующее слово было воспринято комадной оболочкой как параметр (этот приём был описан в лекции Терминал и командная строка). Затем он перешёл в каталог «examples» и переместил из родительского каталога («../») файл «text» в текущий каталог («.»). Теперь в каталоге «examples» два файла с примерами.

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

Иногда требуется создать копию файла: для большей сохранности данных, для того, чтобы создать модифицированную версию файла и т. п. В Linux для этого предназначена утилита cp (сокращение от англ. «copy» — «копировать»). Утилита cp требует присутствия двух обязательных параметров: первый — копируемый файл или каталог, второй — файл или каталог назначения. Как обычно, в именах файлов и каталогов можно использовать полные и относительные пути. Есть несколько возможностей при комбинации файлов и каталогов в параметрах cp — о них можно прочесть в руководстве.

[methody@localhost examples]$ cp text text.bak
[methody@localhost examples]$ ls
-filename-with- text text.bak

Пример 11. Копирование файлов

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

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

Говоря о копировании, уместно вспомнить широко известное высказывание, приписываемое Уильяму Оккаму: «Не следует умножать сущности сверх необходимого». Созданная при помощи cp копия файла связана с оригиналом только в воспоминаниях пользователя, в файловой системе исходный файл и его копия — две совершенно независимые и ничем не связанные единицы. Поэтому при наличии нескольких копий одного и того же файла в рамках одной файловой системы повышается вероятность запутаться в копиях или забыть о некоторых из них. Если задача состоит в том, чтобы обеспечить доступ к одному и тому же файлу из разных точек файловой системы, нужно использовать специально предназначенный для этого механизм файловой системы Linux — ссылки.

www.linuxcookbook.ru

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

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

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

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

cp accounts.txt accounts.bak

Она создаст новый файл accounts.bak, который будет полной копией исходного файла. Эту команду можно применять также для копирования папок и даже целых файловых систем и подсистем.

Если второй аргумент — папка, а не файл, копируемые файлы помещаются непосредственно в папку и получают имя исходного файла.

Например, для создания копии папки /boot в вашей домашней папке вы могли бы убедиться в том, что находитесь в нужной папке, и создать новую папку для копирования файлов, введя следующие команды (команда mkdir — сокращение от «make directory» (создать каталог)):

cd ~
mkdir test

Затем вы ввели бы следующую команду для выполнения копирования:

cp /boot/* test

Она сообщает Linux о необходимости копирования в папку test всех файлов, найденных в папке /boot. Ссылка на все файлы достигается применением знака подстановки, в данном случае означающем «любые файлы». При этом команда не копирует вложенные папки, и если они есть (например, в нашем случае вложенная папка grub), выводится сообщение о том, что они пропущены.

Для копирования папки и всех вложенных в нее папок следует добавить аргумент –r для выполнения рекурсивного копирования:

cp -r /boot/* test

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

prostolinux.ru

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

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