- Linux rmdir с файлами
- NAME
- SYNOPSIS
- DESCRIPTION
- OPTIONS
- OPERANDS
- STDIN
- INPUT FILES
- ENVIRONMENT VARIABLES
- ASYNCHRONOUS EVENTS
- STDOUT
- STDERR
- OUTPUT FILES
- EXTENDED DESCRIPTION
- EXIT STATUS
- CONSEQUENCES OF ERRORS
- APPLICATION USAGE
- EXAMPLES
- RATIONALE
- FUTURE DIRECTIONS
- SEE ALSO
- COPYRIGHT
- Как удалить папку в Linux через терминал (консоль)
- Как удалить пустую папку в Linux через терминал
- Как удалить папку с содержимым (с файлами) в Linux
- Как удалить все файлы в папке Linux
- Поиск и удаление с помощью команды find
Linux rmdir с файлами
NAME
rmdir - remove directories
SYNOPSIS
rmdir [-p] dir.
DESCRIPTION
The rmdir utility shall remove the directory entry specified by each dir operand. For each dir operand, the rmdir utility shall perform actions equivalent to the rmdir() function called with the dir operand as its only argument. Directories shall be processed in the order specified. If a directory and a subdirectory of that directory are specified in a single invocation of the rmdir utility, the application shall specify the subdirectory before the parent directory so that the parent directory will be empty when the rmdir utility tries to remove it.
OPTIONS
The rmdir utility shall conform to the Base Definitions volume of IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines. The following option shall be supported: -p Remove all directories in a pathname. For each dir operand: 1. The directory entry it names shall be removed. 2. If the dir operand includes more than one pathname component, effects equivalent to the following command shall occur: rmdir -p $(dirname dir)
OPERANDS
The following operand shall be supported: dir A pathname of an empty directory to be removed.
STDIN
INPUT FILES
ENVIRONMENT VARIABLES
The following environment variables shall affect the execution of rmdir: LANG Provide a default value for the internationalization variables that are unset or null. (See the Base Definitions volume of IEEE Std 1003.1-2001, Section 8.2, Internationalization Variables for the precedence of internationalization variables used to determine the values of locale categories.) LC_ALL If set to a non-empty string value, override the values of all the other internationalization variables. LC_CTYPE Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments). LC_MESSAGES Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error. NLSPATH Determine the location of message catalogs for the processing of LC_MESSAGES .
ASYNCHRONOUS EVENTS
STDOUT
STDERR
The standard error shall be used only for diagnostic messages.
OUTPUT FILES
EXTENDED DESCRIPTION
EXIT STATUS
The following exit values shall be returned: 0 Each directory entry specified by a dir operand was removed successfully. >0 An error occurred.
CONSEQUENCES OF ERRORS
Default. The following sections are informative.
APPLICATION USAGE
The definition of an empty directory is one that contains, at most, directory entries for dot and dot-dot.
EXAMPLES
If a directory a in the current directory is empty except it contains a directory b and a/b is empty except it contains a directory c: rmdir -p a/b/c removes all three directories.
RATIONALE
On historical System V systems, the -p option also caused a message to be written to the standard output. The message indicated whether the whole path was removed or whether part of the path remained for some reason. The STDERR section requires this diagnostic when the entire path specified by a dir operand is not removed, but does not allow the status message reporting success to be written as a diagnostic. The rmdir utility on System V also included a -s option that suppressed the informational message output by the -p option. This option has been omitted because the informational message is not specified by this volume of IEEE Std 1003.1-2001.
FUTURE DIRECTIONS
SEE ALSO
rm , the System Interfaces volume of IEEE Std 1003.1-2001, remove(), rmdir(), unlink()
COPYRIGHT
© 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.
Как удалить папку в Linux через терминал (консоль)
Операционная система Linux позволяет выполнять практически любые действия при помощи терминала или консоли. Более того, при администрировании 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 ».
Поиск и удаление с помощью команды find
Если нужно не просто удалить какую-то определенную папку с файлами, а сначала найти ее, то тут поможет Linux-команда find. Данная команда является мощным инструментом для поиска файлов и выполнения с ними определенных операций. Среди прочего ее можно использовать для поиска и удаления файлов.
Например, чтобы найти и удалить пустые папки в домашнем каталоге можно выполнить команду:
find ~/ -empty -type d -delete
Данная команда использует следующие параметры:
-empty Поиск пустых объектов. -type d Поиск каталогов. -delete Удаление найденных объектов.
Другой пример – поиск и удаление папок с определенным названием. Так, чтобы удалить папки, содержащие в названии слово « test » можно выполнить следующую команду:
find . -type d -name "*test*" -exec rm -rf <> \;
Данная команда содержит следующие параметры:
-type d Поиск каталогов. -name Поиск объектов с определенным именем. -exec Выполнение команды.
Указанные выше примеры использования Linux-команды find – лишь часть ее возможностей. Рассмотреть все варианты ее использования в рамках этой статьи будет невозможно.