Способы копирования файлов

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

o $ cd; touch index. html

o $ mkdiг /tmp/html

o $ ср – i index. html /tmp/html/

o $ ср – il index. html /tmp //html

o $ mkdir /tmp/back

o $ cp – a /tmp /html /mp/back/

o $ cp – R /tmp /html /tmp/back/

В приведенных примерах продемонстрированы способы копирования файлов. В первом примере использования команды ср, если файл i ndex. html уже существует в папке /tmp/html, перед перезаписью поверх него нового файла отобразится запрос на подтверждение этого действия. В следующем примере файл index. html является объектом жесткой ссылки, имеющей то же имя и хранящейся в каталоге /tmp/html. В данном случае, поскольку обе жесткие ссылки указывают на один и тот же файл, редактирование файла через любую ссылку повлечет за собой изменение содержимого оригинального файла, где бы он ни находился (ссылка может работать только в том случае, если каталог / tmp/html и ваш основной каталог находятся в одной и той же файловой системе).

Команда ср – а копирует все файлы из каталога /tmp/html, сохраняя все настройки прав собственности и доступа. Если, например, файл /tmp/back будет представлен запоминающим USB-устройством, то с помощью этой команды можно будет записать содержимое вашего интернет-сервера на данное запоминающее устройство. Параметр – R осуществляет рекурсивное копирование структуры каталога и назначает в качестве владельца каталога текущего пользователя, изменяя текущие отметки даты и времени.

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

$ dd 1f-/dev/zero of-/tmp/mynullfile count-1

1+0 records in 1+0 records out

512 bytes (512 B) copied. 0.000308544 s. 1.7 MB/s

Файл /dev/zero является специальным файлом, генерирующим нулевые символы. В предыдущем примере команда dd использовала файл /dev/zero в качестве файла входящих данных и выводила данные в файл /tmp/mynullfile. Единицей измерения здесь является количество блоков. По умолчанию размер одного блока составляет 512 байт. Таким образом, в результате выполнения данной команды получился файл размером 512 байт, содержащий только нули. Для просмотра содержимого файла можно воспользоваться командой less или vi, однако лучшим приложением для просмотра файла в данном случае будет команда od:

$ od – vt xl /tmp/mynullfile Просматривает восьмеричный дамп файла

Вот еще один пример использования команды dd:

$ dd if=/dev/zero oWtmp/mynullfile count»10 bs=2

10+0 records in 10+0 records out

20 bytes (20 B) copied. 0.000595714 s. 33.6 kB/s

На этот раз размер блока был установлен равным 2 байтам, а скопировано было 10 блоков (20 байт). Следующая командная строка копирует первый раздел основного жесткого IDE-диска на второй раздел подчиненного жесткого IDE-диска (прежде чем приступить к выполнению подобной операции, выполните резервное копирование данных):

$ sudo dd if-/dev/hdal of-/dev/hdb2

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

В следующем примере главная загрузочная запись копируется из основного жесткого диска IDE в файл mymbrf i 1 е:

$ dd if=/dev/hda of=mymbrfile bs=512 count=l

Если необходимо создать копию образа ISO, записанного на компакт-диск или DVD, вставляем диск в CD/DVD-привод и выполните следующую команду (необходимо, чтобы файл /dev/cdrom соответствовал вашему CD-приводу):

$ dd itVdev/cdrom of-whatever. iso

Помимо файлов устройств /dev/cdrom, Ubuntu создает файлы устройств /dev/cdrw и /dev/dvd.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: