Перемещение копирование и удаление файлов
Создание файлов и каталогов
Создадим 1 файл, и 2 каталога. Для создания файла используем уже знакомую команду touch, для создания каталога нужно использовать команду mkdir:
$ mkdir dir1
$ mkdir dir2
$ touch file1.txt
$ 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, например:
$ mkdir dir3/dir2/dir1
mkdir: невозможно создать каталог «dir3/dir2/dir1»: Нет такого файла или каталога
$ mkdir -p dir3/dir2/dir1
$ ls dir3/
dir2
$ ls dir3/dir2/
dir1
Перемещение файлов и каталогов
Первым делом научимся перемещать файлы, для этого служит утилита mv. Переместим file1.txt в каталог dir1:
$ mv file1.txt dir1
$ ls
dir1 dir2 dir3
$ ls dir1
file1.txt
Теперь переместим каталог dir1 в каталог dir2 и обратно:
$ mv dir1 dir2
$ ls dir2
dir1
$ mv dir2/dir1 .
$ ls
dir1 dir2 dir3
Предпоследней командой я перемещаю из dir2 каталог dir1 в текущий каталог (напоминаю что точкой обозначается текущий каталог, об этом было рассказано в этой статье — Перемещение по каталогам Linux
).
Таким образом перемещение файла или каталога командой mv не отличается.
Кроме перемещения команда mv может переименовать файл, для этого нужно как-бы переместить файл из каталога в этот же каталог но под другим именем:
$ mv dir1/file1.txt dir1/file2.txt
alex@deb:~$ ls dir1
file2.txt
Или можно переместить файл в другой каталог одновременно переименовав его:
$ mv dir1/file2.txt dir2/file3.txt
$ ls dir1 dir2
dir1:
dir2:
file3.txt
В команде выше я с помощью ls смотрю сразу на 2 каталога. Как видите, каталог dir1 опустел, а в dir2 появился файл file3.txt.
Копирование файлов и каталогов
Теперь разберем копирование файлов, но для начала сделаем еще несколько файлов в каталоге dir2:
$ touch dir2/file2.txt
$ touch dir2/file1.txt
$ ls dir2
file1.txt file2.txt file3.txt
Для копирования используется утилита cp. Скопируем из каталога dir2 файл file1.txt в каталог dir1:
$ cp dir2/file1.txt dir1
$ ls dir1
file1.txt
$ ls dir2
file1.txt file2.txt file3.txt
Можно копировать с переименованием, указав новое имя:
$ cp dir2/file1.txt dir1/file1-copy.txt
$ ls dir1 dir2
dir1:
file1-copy.txt file1.txt
dir2:
file1.txt file2.txt file3.txt
При копировании каталога нужно использовать опцию -r, если попытаться скопировать каталог без этой опции то появится подсказка:
$ cp dir1 dir2
cp: не указан -r; пропускается каталог 'dir1'
$ cp -r dir1 dir2
alex@deb:~$ ls dir1 dir2/dir1/
dir1:
file1-copy.txt file1.txt
dir2/dir1/:
file1-copy.txt file1.txt
Удаление файлов и каталогов
Теперь настала очередь удаления. Для удаления нужно использовать команду rm:
$ rm dir1/file1-copy.txt
$ ls dir1
file1.txt
Для удаления каталога нужно использовать также опцию -r:
$ rm dir2
rm: невозможно удалить 'dir2': Это каталог
$ rm -r dir2
$ ls
dir1 dir3
$ rm -r dir1
$ rm -r dir3
$ ls
Если понравилась статья, подпишись на мой канал в VK или Telegram .