[ Пред. ] [ Содержание ] [ След. ]

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

[ @console @move ]

 


Для копирования файлов в bash используется команда cp (от "copy"– копировать), которая имеет два обязательных аргумента: имя (адрес) исходного файла и имя (адрес) создаваемой копии или адрес каталога, куда помещается копия.


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


Рассмотрим несколько примеров.


cp readme readme2


В данном случае создается копия файла readme, которая остается в той же директории под именем readme2.


cp readme Desktop/


Создается копия на рабочем столе. Непосредственное имя копии в данном случае можно оставить прежним, т.к. полные имена (адрес + имя) файлов различны. Используется относительная адресация (каталог Desktop является дочерним по отношению к домашнему каталогу).


cp /home/astenix/tux.png /mnt/D/pingvin.png


Здесь копируется файл из домашнего каталога пользователя irina в каталог D, используются абсолютные адреса, имя копии изменяется.


Чтобы скопировать каталог необходимо после команды cp прописать ключ r:


cp -r ./letters ./oldletters


Пример


Как копировать содержимое из '/home/123' в '/media/backups' и передать всем файлам из каталога 'media/backups' права моего юзера


cd /home/123
cp -r * /media/backups
chmod -R 777 * backups