- Как удалять файлы и каталоги с помощью командной строки Linux
- Как удалить каталог в linux через терминал
- Как удалить пустую папку в Linux через терминал
- Как удалить папку с содержимым (с файлами) в Linux
- Как удалить все файлы в папке Linux
- Удаление всей директории со всеми вложенными файлами и директориями командой rm
- Дополнительная информация о командах rmdir и rm
- Почему существует две различные команды для одной операции?
- Use rm to Delete Files and Directories on Linux
- The Basics of Using rm to Delete a File
- Options Available for rm
- -i Interactive mode
- -f Force
- -v Verbose
- -d Directory
- -r Recursive
- Combine Options
- -rf Remove Files and Directories, Even if Not Empty
- Combine rm with Other Commands
- Remove Old Files Using find and rm
Как удалять файлы и каталоги с помощью командной строки Linux
Существует несколько команд, которые вы можете использовать для удаления каталога Linux. Рассмотрим их все более подробно. Самый очевидный вариант – это утилита rmdir. Но с помощью нее можно удалять только пустые папки:
Другая команда, которую можно применить – это rm. Она предназначена для удаления файлов Linux, но может использоваться и для папок если ей передать опцию рекурсивного удаления -r:
Такая команда уже позволяет удалить непустой каталог Linux. Но, можно по-другому, например, если вы хотите вывести информацию о файлах, которые удаляются:
Команда -R включает рекурсивное удаление всех подпапок и файлов в них, -f – разрешает не удалять файлы без запроса, а -v показывает имена удаляемых файлов. В этих примерах я предполагаю что папка которую нужно удалить находится в текущей рабочей папке, например, домашней. Но это необязательно, вы можете указать полный путь к ней начиная от корня файловой системы:
Теперь вы знаете как удалить непустой каталог в консоли linux, далее усложним задачу, будем удалять папки, которые содержат определенные слова в своем имени:
find . -type d -name “моя_папка” -exec rm -rf <> ;
Подробнее про команду find смотрите в отдельной статье. Если кратко, то -type d указывает, что мы ищем только папки, а параметром -name задаем имя нужных папок. Затем с помощью параметра -exec мы выполняем команду удаления. Таким же образом можно удалить только пустые папки, например, в домашней папке:
find ~/ -empty -type d -delete
Как видите, в find необязательно выполнять отдельную команду, утилита тоже умеет удалять. Вместо домашней папки, можно указать любой нужный вам путь:
find /var/www/public_html/ -empty -type d -delete
Перед удалением вы можете подсчитать количество пустых папок:
find /var/www/public_html/ -empty -type d | wc -l
Другой способ удалить папку linux с помощью find – использовать в дополнение утилиту xargs. Она позволяет подставить аргументы в нужное место. Например:
find ~/ -type f -empty -print0 | xargs -0 -I <> /bin/rm “<>”
Опция -print0 выводит полный путь к найденному файлу в стандартный вывод, а затем мы передаем его команде xargs. Опция -0 указывает, что нужно считать символом завершения строки , а -I – что нужно использовать команду из стандартного ввода.
Если вы хотите полностью удалить папку Linux, так, чтобы ее невозможно было восстановить, то можно использовать утилиту wipe. Она не поставляется по умолчанию, но вы можете ее достаточно просто установить:
Теперь для удаления каталога Linux используйте такую команду:
Опция -r указывает, что нужно удалять рекурсивно все под папки, -f – включает автоматическое удаление, без запроса пользователя, а -i показывает прогресс удаления. Так вы можете удалить все файлы в папке linux без возможности их восстановления поскольку все место на диске где они были будет несколько раз затерто.
Как удалить каталог в linux через терминал
Как удалить пустую папку в Linux через терминал
Если вам нужно удалить пустую папку в Linux через терминал, то для этого проще всего использовать команду rmdir. Данная команда используется для удаления пустых папок из файловой системы Linux. Каталоги с файлами или другими каталогами данная команда не удаляет.
Синтаксис команды rmdir выглядит следующим образом:
rmdir [-p] [-v | –verbose] [–ignore-fail-on-non-empty] directories …
Разберем доступные параметры подробней:
rmdir –help Получение справки о команде rmdir rmdir -p Удаление всех пустых папок по всему указанному пути. rmdir -v или rmdir –verbose Вывод подробной информации о всех удаляемых объектах. rmdir –ignore-fail-on-non-empty Игнорирование ошибок, которые возникают при попытке удаления не пустых папок.
Для того чтобы просто удалить пустую папку нужно ввести «rmdir foldername». Где «foldername» это название удаляемого объекта. При желании можно удалить сразу несколько папок, для этого достаточно перечислить их через пробел.
Если необходимо удалить каталог, в котором есть другие каталоги (без файлов), то можно воспользоваться параметром «-p». Для этого нужно ввести «rmdir -p» и указать полный путь. Например, если в каталоге folder1 есть другой каталог folder2, то мы можем удалить их сразу одной командой «rmdir -p folder1/folder2».
При использовании параметра «-v» в консоль будет выведена подробная информация о процессе удаления каталогов.
А при использовании параметра «ignore-fail-on-non-empty» команда будет игнорировать ошибки, которые будут возникать при попытке удаления непустых каталогов.
Нужно отметить, что также существует команда «mkdir», которая предназначена для создания папок и обладает точно таким же синтаксисом.
С ее помощью вы можете создать папки по одной или целым деревом (при использовании параметра «-p»).
Как удалить папку с содержимым (с файлами) в Linux
Если нужно удалить папку с каким-то содержимым, например, с файлами, то тут уже нужно использовать команду «rm». Данная Linux команда предназначена для удаления файлов, но с ее помощью можно удалять и каталоги, если использовать параметр «-r», который включает рекурсивное удаление.
Синтаксис команды rm выглядит следующим образом:
Разберем основные параметры команды rm:
-f, –force Игнорировать несуществующие файлы, ничего не спрашивать. -i Спрашивать перед каждым удалением. -I Спрашивать перед удалением более чем 3 файлов и при использовании рекурсивного удаления. -r, -R, –recursive Удаление каталогов и их содержимого рекурсивно. -v, –verbose Вывод информации об удаляемых каталогах. –help Вывод справочной информации о команде. –version Вывод информации о версии.
Для удаления папок с файлами нам нужно использовать параметр «-r». Введите «rm -r» и укажите название папки, которую нужно удалить. Например, если у нас есть каталог folder1 с какими-то файлами, то мы можем ее удалить, введя команду «rm -r folder1»
Если необходимо, чтобы удаление папок сопровождалось запросом, то вместе с параметром «-r» можно использовать параметр «-i». В этом случае каждая операция, которую будет выполнять команда, будет требовать разрешения пользователя. При этом команда для удаления папки folder1 будет выглядеть как «rm -ri folder1».
Обратите внимание, во всех примерах предполагается, что удаляемый объект находится в текущей папке. Но, при необходимости вы можете удалять каталоги используя полный путь.
Например, вы можете указать «rm -rv /home/aleks/folder1» для того, чтобы удалить папку folder1 с выводом подробной информации.
Как удалить все файлы в папке Linux
В некоторых случаях может возникнуть необходимость удалить все файлы в папке при этом не удаляя саму папку. Для решения такой задачи можно использовать вот такую команду «rm -rf /path/to/directory/*». Данная команда удалит все файлы и папки (рекурсивно удалит все содержимое) по указанному пути.
Если же нужно удалить все файлы в папке, но оставить вложенные папки, то это можно сделать командой «rm -f /path/to/directory/*».
Альтернативный вариант — это удаление самой папки со всем содержимым (включая скрытые файлы и каталоги) и повторное ее создание.
Для этого подойдет команда «rm -rf foldername && mkdir foldername».
Удаление всей директории со всеми вложенными файлами и директориями командой rm
В повседневной работе гораздо чаще приходится удалять не пустые директории, и тут на на помощь приходит команда rm. К примеру, удалить все содержимое директории letters можно командой (Осторожно! удаление без подтверждения):
- -r – указывает что нужно производить удаление рекурсивно, т.е. пройтись по всему списку файлов и папок и попытаться удалить каждую из них.
- -f — удаление без запроса его подтверждения.
Дополнительная информация о командах rmdir и rm
Чтобы получить дополнительную информацию по этим командам, Вы всегда можно воспользоваться следующей стандартной командой-справочником-подсказкой-документацией:
Почему существует две различные команды для одной операции?
Казалось бы, а зачем создавать отдельную команду для удаления только пустых директорий, если можно воспользоваться rm? Но, вдумавшись, понимаешь, что это была просто великолепная идея! Почему? Да потому что невозможно запомнить какие и где файлы хранятся, и когда нужно удалить директорию с каким-нибудь глупым или подозрительным названием (явно созданную по ошибке) можно воспользоваться безопасной командой rmdir, которая выдаст ошибку если в этой директории есть какие-то файлы. Очень удобно! Это защищает от случайного удаления.
- https://andreyex.ru/operacionnaya-sistema-linux/kak-udalyat-fajly-i-katalogi-s-pomoshhyu-komandnoj-stroki-linux/
- https://losst.ru/kak-udalit-katalog-linux
- https://comp-security.net/%D0%BA%D0%B0%D0%BA-%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C-%D0%BF%D0%B0%D0%BF%D0%BA%D1%83-%D0%B2-linux-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB/
- http://ITandLife.ru/os/linux/kak-udalyat-direktorii-v-linux/
Use rm to Delete Files and Directories on Linux
Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
This guide shows how to use rm to remove files, directories, and other content from the command line in Linux.
To avoid creating examples that might remove important files, this Quick Answer uses variations of filename.txt . Adjust each command as needed.
The Basics of Using rm to Delete a File
rm filename1.txt filename2.txt
Options Available for rm
-i Interactive mode
Confirm each file before delete:
-f Force
-v Verbose
Show report of each file removed:
-d Directory
Note: This option only works if the directory is empty. To remove non-empty directories and the files within them, use the r flag.
-r Recursive
Remove a directory and any contents within it:
Combine Options
Options can be combined. For example, to remove all .png files with a prompt before each deletion and a report following each:
remove filename01.png? y filename01.png remove filename02.png? y filename02.png remove filename03.png? y filename03.png remove filename04.png? y filename04.png remove filename05.png? y filename05.png
-rf Remove Files and Directories, Even if Not Empty
Add the f flag to a recursive rm command to skip all confirmation prompts:
Combine rm with Other Commands
Remove Old Files Using find and rm
Combine the find command’s -exec option with rm to find and remove all files older than 28 days old. The files that match are printed on the screen ( -print ):
find filename* -type f -mtime +28 -exec rm '<>' ';' -print
In this command’s syntax, <> is replaced by the find command with all files that it finds, and ; tells find that the command sequence invoked with the -exec option has ended. In particular, -print is an option for find , not the executed rm . <> and ; are both surrounded with single quote marks to protect them from interpretation by the shell.
This page was originally published on Tuesday, July 3, 2018.