На этом уроке по администрированию Linux серверов мы рассмотрим перемещение (mv), копирование (cp) и удаление (rm) файлов.
Создание файлов и каталогов
Создадим 1 файл, и 2 каталога. Для создания файла используем уже знакомую команду touch, для создания каталога нужно использовать команду mkdir:
alex@deb:~$ mkdir dir1 alex@deb:~$ mkdir dir2 alex@deb:~$ touch file1.txt alex@deb:~$ ls -l итого 8 drwxr-xr-x 2 alex alex 4096 дек 21 12:55 dir1 drwxr-xr-x 2 alex alex 4096 дек 21 12:55 dir2 -rw-r--r-- 1 alex alex 0 дек 21 12:55 file1.txt
Если нужно сделать некий путь из каталогов, то есть создать каталог, в нем еще один каталог и так далее, то для команды mkdir нужно использовать опцию -p, например:
alex@deb:~$ mkdir dir3/dir2/dir1 mkdir: невозможно создать каталог «dir3/dir2/dir1»: Нет такого файла или каталога alex@deb:~$ mkdir -p dir3/dir2/dir1 alex@deb:~$ ls dir3/ dir2 alex@deb:~$ ls dir3/dir2/ dir1
Перемещение файлов и каталогов
Первым делом научимся перемещать файлы, для этого служит утилита mv. Переместим file1.txt в каталог dir1 и посмотрим результат:
alex@deb:~$ mv file1.txt dir1 alex@deb:~$ ls dir1 dir2 dir3 alex@deb:~$ ls dir1 file1.txt
Теперь переместим каталог dir1 в каталог dir2 и обратно:
alex@deb:~$ mv dir1 dir2 alex@deb:~$ ls dir2 dir1 alex@deb:~$ mv dir2/dir1 . alex@deb:~$ ls dir1 dir2 dir3
Предпоследней командой я перемещаю из dir2 каталог dir1 в текущий каталог (напоминаю что точкой обозначается текущий каталог, об этом было рассказано в этой статье — «Перемещение по каталогам Linux«).
Таким образом перемещение файла или каталога командой mv не отличается.
Кроме перемещения команда mv может переименовать файл, для этого нужно как-бы переместить файл из каталога в этот же каталог но под другим именем:
alex@deb:~$ mv dir1/file1.txt dir1/file2.txt alex@deb:~$ ls dir1 file2.txt
Или можно переместить файл в другой каталог одновременно переименовав его:
alex@deb:~$ mv dir1/file2.txt dir2/file3.txt alex@deb:~$ ls dir1 dir2 dir1: dir2: file3.txt
В команде выше я с помощью ls смотрю сразу на 2 каталога. Как видите, каталог dir1 опустел, а в dir2 появился файл file3.txt.
Копирование файлов и каталогов
С перемещением и переименованием разобрались. Теперь разберем копирование файлов, но для начала сделаем еще несколько файлов в каталоге dir2:
alex@deb:~$ touch dir2/file2.txt alex@deb:~$ touch dir2/file1.txt alex@deb:~$ ls dir2 file1.txt file2.txt file3.txt
Для копирования используется утилита cp. Скопируем из каталога dir2 файл file1.txt в каталог dir1:
alex@deb:~$ cp dir2/file1.txt dir1 alex@deb:~$ ls dir1 file1.txt alex@deb:~$ ls dir2 file1.txt file2.txt file3.txt
Можно копировать с переименованием, указав новое имя:
alex@deb:~$ cp dir2/file1.txt dir1/file1-copy.txt alex@deb:~$ ls dir1 dir2 dir1: file1-copy.txt file1.txt dir2: file1.txt file2.txt file3.txt
При копировании каталога нужно использовать опцию -r, если попытаться скопировать каталог без этой опции то появится подсказка:
alex@deb:~$ cp dir1 dir2 cp: не указан -r; пропускается каталог 'dir1' alex@deb:~$ cp -r dir1 dir2 alex@deb:~$ ls dir1 dir2/dir1/ dir1: file1-copy.txt file1.txt dir2/dir1/: file1-copy.txt file1.txt
Удаление файлов и каталогов
С копированием разобрались. Теперь настала очередь удаления. Для удаления нужно использовать команду rm:
alex@deb:~$ rm dir1/file1-copy.txt alex@deb:~$ ls dir1 file1.txt
Для удаления каталога нужно использовать также опцию -r:
alex@deb:~$ rm dir2 rm: невозможно удалить 'dir2': Это каталог alex@deb:~$ rm -r dir2 alex@deb:~$ ls dir1 dir3 alex@deb:~$ rm -r dir1 alex@deb:~$ rm -r dir3 alex@deb:~$ ls
Вот мы и разобрали тему «Перемещение, копирование и удаление файлов»! Спасибо за внимание.