1001364
Оглавление:
- Прежде чем вы начнете
- Удаление каталогов с помощью
rmdir
- Удаление каталогов с помощью
rm
- Удаление каталогов с помощью
find
- Удаление всех пустых каталогов
- / bin / rm: список аргументов слишком длинный
- Вывод
Существует несколько различных способов удаления каталогов в системах Linux. Если вы используете файловый менеджер Desktop, такой как Gnome's Files или KDE Dolphin, вы можете удалить файлы и каталоги, используя графический интерфейс менеджера. Но если вы работаете на автономном сервере или хотите удалить несколько каталогов одновременно, лучшим вариантом будет удаление каталогов (папок) из командной строки.
, мы объясним, как удалять каталоги в Linux, используя команды
rmdir
,
rm
и
find
.
Прежде чем вы начнете
Когда вы удаляете каталог с помощью файлового менеджера на рабочем столе, он фактически перемещается в корзину и может быть легко восстановлен.
Будьте особенно осторожны при удалении файлов или каталогов из командной строки, поскольку после удаления каталога с использованием объясненных команд его невозможно полностью восстановить.
В большинстве файловых систем Linux удаление каталога требует разрешения на запись в каталог и его содержимое. В противном случае вы получите ошибку «Операция не разрешена».
Имена каталогов с пробелом в них должны быть экранированы обратной косой чертой (
/
).
Удаление каталогов с помощью
rmdir
rmdir
- утилита командной строки для удаления пустых каталогов. Это полезно, когда вы хотите удалить каталог, только если он пустой, без необходимости проверять, является ли каталог пустым или нет.
Чтобы удалить каталог с помощью
rmdir
, введите команду, а затем имя каталога, который вы хотите удалить. Например, чтобы удалить каталог с именем
dir1
, введите:
rmdir dir1
Если каталог не пустой, вы получите следующую ошибку:
rmdir: failed to remove 'dir1': No such file or directory
В этом случае вам нужно будет использовать команду
rm
или вручную удалить содержимое каталога, прежде чем вы сможете удалить его.
Удаление каталогов с помощью
rm
rm
- утилита командной строки для удаления файлов и каталогов. В отличие от
rmdir
команда
rm
может удалять как пустые, так и непустые каталоги.
По умолчанию при использовании без какой-либо опции
rm
не удаляет каталоги. Чтобы удалить пустой каталог, используйте параметр
-d
(
--dir
), а для удаления непустого каталога и всего его содержимого используйте параметр
-r
(
--recursive
или
-R
).
Например, чтобы удалить каталог с именем
dir1
вместе со всем его содержимым, введите:
rm -r dir1
Если каталог или файл в каталоге защищен от записи, вам будет предложено подтвердить удаление. Чтобы удалить каталог без запроса, используйте параметр
-f
:
rm -rf dir1
Чтобы удалить несколько каталогов одновременно, используйте команду
rm
а затем имена каталогов, разделенные пробелом. Команда ниже удалит все перечисленные каталоги и их содержимое:
rm -r dir1 dir2 dir3
Опция
-i
говорит
rm
запросить подтверждение удаления каждого подкаталога и файла. Если каталог содержит много файлов, это может немного раздражать, поэтому вы можете использовать опцию
-I
которая предложит вам только один раз, прежде чем продолжить удаление.
rm -rI dir1
Чтобы удалить каталог, введите
y
и нажмите
Enter
.
rm: remove 1 argument recursively? y
Вы также можете использовать обычные расширения для сопоставления и удаления нескольких каталогов. Например, чтобы удалить все каталоги первого уровня в текущем каталоге, оканчивающемся на
_bak
, вы должны использовать следующую команду:
rm -r *_bak
Использование регулярных расширений при удалении каталогов может быть рискованным. Рекомендуется сначала перечислить каталоги с помощью команды
ls
чтобы вы могли видеть, какие каталоги будут удалены перед выполнением команды
rm
.
Удаление каталогов с помощью
find
find
- это утилита командной строки, которая позволяет вам искать файлы и каталоги на основе заданного выражения и выполнять действия с каждым соответствующим файлом или каталогом.
Наиболее распространенный сценарий - использование команды
find
для удаления каталогов на основе шаблона. Например, чтобы удалить все каталоги, оканчивающиеся на
_cache
в текущем рабочем каталоге, вы должны выполнить:
find. -type d -name '*_cache' -exec rm -r {} +
Давайте проанализируем команду выше:
-
/dir
- рекурсивный поиск в текущем рабочем каталоге (.
).-type d
- ограничивает поиск по каталогам.-name '*_cache'
- искать только каталоги, оканчивающиеся на_cache
-exec
- выполняет внешнюю команду с необязательными аргументами, в данном случае этоrm -r
.{} +
- добавляет найденные файлы в конец командыrm
.
Удаление всех пустых каталогов
Чтобы удалить все пустые каталоги в дереве каталогов, вы должны использовать:
find /dir -type d -empty -delete
Вот объяснение используемых опций:
-
/dir
- рекурсивный поиск в каталоге/dir
.-type d
- ограничивает поиск по каталогам.-empty
- ограничивает поиск только пустыми каталогами.-delete
- удаляет все найденные пустые каталоги в поддереве.-delete
может удалить только пустые каталоги.
Используйте параметр
-delete
с особой осторожностью. Командная строка find оценивается как выражение, и если вы сначала добавите опцию
-delete
, команда удалит все, что находится ниже указанных вами начальных точек. Всегда используйте
-delete
в качестве последней опции, и перед удалением протестируйте команду без опции
-delete
.
/ bin / rm: список аргументов слишком длинный
Это сообщение об ошибке появляется при использовании команды
rm
для удаления каталога, содержащего огромное количество файлов. Это происходит потому, что количество файлов превышает системное ограничение на размер аргумента командной строки.
Есть несколько разных решений этой проблемы. Например, вы можете перейти в каталог и вручную или использовать цикл для удаления подкаталогов один за другим.
Самое простое решение - сначала удалить все файлы в каталоге с помощью команды
find
а затем удалить каталог:
find /dir -type f -delete && rm -r /dir
Вывод
С помощью
rm
и
find
вы можете быстро и эффективно удалять каталоги по разным критериям.
Удаление каталогов - это простой и легкий процесс, но вы должны быть осторожны, чтобы не удалить важные данные.
рм рмдир найти терминалКак добавить каталог к пути в Linux
Когда вы набираете команду, оболочка ищет во всех каталогах, указанных в переменной $ PATH пользователя, исполняемый файл с таким именем. В этой статье показано, как добавить каталоги в вашу переменную PATH в системах Linux.
Как удалить / удалить пользователей в linux (команда userdel)
В Linux вы можете удалить учетную запись пользователя и все связанные с ней файлы с помощью команды userdel. В этом руководстве объясняется команда userdel и ее параметры.
Как удалить (удалить) символические ссылки в Linux
Символическая ссылка, также известная как символическая ссылка, представляет собой специальный тип файла, который указывает на другой файл или каталог. В этом руководстве мы покажем вам, как удалять (удалять) символические ссылки в системах Linux / UNIX.