Как удалить файл и папку из терминала Кали Линукс?

согласиться с удалением файла

Как удалить файл или папку из терминала?

Чтобы удалить файл или папку (а здесь корректно говорить не о папках, а о директориях) из терминала Линукс используются команды rm и rmdir, по аналогии с командами del и deltree в консоли cmd Windows. Команды просты и опциями небогаты. Это не тот вариант, к которому будет прибегать заурядный пользователь во время работы в полноценно работоспособной системе. Однако для тех, кто запускает cron-задачи при помощи скрипта или при работе из ремонтного терминала с вылетевшим GUI, команды могут пригодится.

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

Как удалить файл и папку из терминала: команда rm

Простейшая команда на удаление выглядит как

rm путь-к-файлу/файл.расширение

удалить файл из терминала кали линукс

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

rm файл1.txt файл2.txt файл3.txt

При удалении файлов скопом также успешно используются и групповые символы. Как всегда в таких случаях, можно применять * и ?. “Звёздочкой” вы обозначаете множество символов, ? – одиночные. Например, для удаления ряда фотографий из выбранной папки можно использовать:

rm *.jpeg

Причём групповые символы можно использовать для выделения и имён и расширений файлов. Чтобы, к примеру, удалить все фотографии с расширением jpeg, а рисунки с расширением png оставить, можно ввести команду в виде:

rm *.????

Если файл, предполагаемый к удалению защищён ограничительными атрибутами (типа “только для чтения”), терминал затребует подтверждение. В случае, когда вам захочется всё-таки контролировать процесс удаления файла, дополните команду флагом -i. Теперь для удаление каждого из файлов нужно будет подтверждать действие:

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

Соглашаться придётся на английском:

согласиться с удалением файла

Но. В противовес флагу -i есть флаг -f. Он в команде rm удалить любые файлы, даже если те защищены создателем или системой:

rm -f Файл.txt

Как удалить папку из терминала с помощью rm?

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

rm -d путь-к-директории

Если в директории что-то есть, меняем флаг на -r:

rm -r путь-к-директории

Защищённую папку удаляем на знакомый уже манер:

rm -rf папка

Команда сколь проста, столь же и опасна. Нерадивое её использование может привести к случайному затиранию жизненно важных директорий Кали. Потому для получения представления о составе директории прямо из терминала можно предварительно запастись скриптом древовидного отображения содержимого папок и директорий Линукс. Установим…

apt-get install tree

и посмотрим:

древовидная структура директорий кали линукс

Далее. Познакомьтесь со следующим вариантом удаления директорий из Линукс.

Как удалить папку из терминала с помощью rmdir?

Почти тоже самое, что и предыдущий вариант с одним, но серьёзным отличием

rmdir = rm -d

Да. Командой rmdir можно удалять только пустые директории. Также единично или массово, также указывая полный путь:

rmdir папка1 папка2

Если папка не пуста, rmdir выдаст ошибку:

удаление с помощью rmdir

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

--ignore-fail-on-non-empty

в начале команды, чтобы массовое удаление пустых (предположительно) директорий не прекратилось как только rmdir наткнётся на непустую папку:

rmdir --ignore-fail-on-non-empty папка1 папка2

удаление папок из rmdir

Однако, если родительская директория содержит пустые папки, и она вам также не нужна, вы можете удалить и дочерние и родительскую одной командой, добавив флаг -p:

rmdir -p директория/папка

Трюк сработает потому, что rmdir начинает работать с целевой папкой, поднимаясь “по команде” наверх по иерархическому древу, удаляя одну папку за другой.

У меня всё. Успехов.

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

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