Rmdir
rmdir — команда, используемая для удаления пустого каталога в различных операционных системах.
Общие сведения
| rmdir / rd | |
|---|---|
| Тип | Команда |
| Авторы |
Кен Томпсон, Деннис Ритчи (AT&T Bell Laboratories) |
| Разработчики | Различные разработчики открытого и коммерческого ПО |
| Операционные системы | Unix, Unix-подобные, DOS, MSX-DOS, FlexOS, OS/2, Windows, ReactOS, KolibriOS |
| Аппаратная платформа | Кроссплатформенное |
Реализации
Команда доступна в Unix (например, macOS, Solaris, AIX, HP-UX), Unix-подобных (например, FreeBSD, Linux), DOS, FlexOS от Digital Research[1], IBM OS/2[2], Microsoft Windows[3] и ReactOS[4]. В MS-DOS команда доступна, начиная с версии 2[5]. DR DOS 6.0 также включает реализацию команды rmdir[6].
Команда также присутствует в открытом эмуляторе MS-DOS DOSBox, а также в KolibriOS[7]. В средах численного анализа MATLAB и GNU Octave реализована функция rmdir с похожей функциональностью[8].[9]
Использование
Обычное применение команды выглядит следующим образом:
$ rmdir имя_каталога
где имя_каталога соответствует имени каталога, который требуется удалить. У команды существуют опции, например, флаг -p в Unix, который позволяет удалить родительские каталоги, если они также пусты.
Пример:
$ rmdir -p foo/bar/baz
Сначала будет удалён каталог baz/, затем bar/ и, наконец, foo/, что приведёт к удалению всей указанный в аргументе команды иерархии каталогов.
Команда rmdir не удалит каталог, если он не пуст в Unix. Для удаления каталога вместе с его содержимым рекурсивно используется команда rm. Пример:
$ rm -r foo/bar/baz
$ rm -rf foo/bar/baz
Обычное использование аналогично Unix-подобным операционным системам:
>rmdir имя_каталога
В MS-DOS и более ранних (не относящихся к NT) версиях Microsoft Windows для удаления непустых каталогов используется команда deltree.
В более поздних версиях Windows:
>rd /s имя_каталога
Windows на базе ядра NT (XP, Vista, 7, 8, Server 2003/2008) не чувствительна к регистру, как и её предшественники, за исключением случаев, когда существуют два файла с одинаковыми именами, но разным регистром. Тогда при выборе файла учитывается регистр, либо, если ни одно имя не совпадает, Windows может выбрать любой из них.
Возможность наличия двух файлов с одинаковым именем, но разным регистром, появляется при установленном Windows Services for Unix или при соответствующих настройках реестра Windows.
Пример потенциальной угрозы безопасности:
Если использовать rd/rmdir и существуют два каталога с одинаковым именем, но разным регистром, один из которых содержит критически важные данные или программы, а другой — компрометирующие материалы или малварь, то при удалении без учёта регистра Windows может удалить легитимный каталог, а останется только нежелательный. Тогда Windows будет использовать оставшийся каталог для запуска программ, и пользователь может ошибочно полагать, что он содержит легитимные данные.
Примечания
- ↑ Руководство пользователя (англ.). www.bitsavers.org (1986). Дата обращения: 12 сентября 2020. Архивировано 8 августа 2010 года.
- ↑ Справочная страница (англ.). www.jatomes.com. Дата обращения: 12 сентября 2020. Архивировано 26 октября 2023 года.
- ↑ Microsoft TechNet: Статья о rmdir (англ.). technet.microsoft.com (31 августа 2016). Дата обращения: 12 сентября 2020. Архивировано 26 августа 2017 года.
- ↑ reactos/reactos (англ.). GitHub (3 января 2022). Дата обращения: 5 августа 2023. Архивировано 1 октября 2025 года.
- ↑ Running MS-DOS Version 6.22 (20th Anniversary Edition), 6-е переработанное издание : [англ.]. — Microsoft Press, 2003. — ISBN 0-7356-1812-7.
- ↑ DR DOS 6.0 User Guide Optimisation and Configuration Tips (англ.). Дата обращения: 5 августа 2023. Архивировано 23 апреля 2025 года.
- ↑ Shell — вики KolibriOS (англ.). wiki.kolibrios.org. Дата обращения: 5 августа 2023. Архивировано 19 сентября 2014 года.
- ↑ Remove folder — MATLAB rmdir (англ.). www.mathworks.com. Дата обращения: 5 августа 2023. Архивировано 22 августа 2025 года.
- ↑ Function Reference: rmdir (англ.). octave.sourceforge.io. Дата обращения: 5 августа 2023. Архивировано 6 апреля 2019 года.
Литература
- Special Edition Using MS-DOS 6.22, Third Edition : [англ.]. — Que Publishing, 2001. — ISBN 978-0789725738.
- Kathy Ivens. OS/2 Inside & Out : [англ.] / Kathy Ivens, Brian Proffit. — Osborne McGraw-Hill, 1993. — ISBN 978-0078818714.
- Stanek, William R. Windows Command-Line Administrator's Pocket Consultant, 2nd Edition : [англ.]. — Microsoft Press, 2008. — ISBN 978-0735622623.
- The Mac OS X Command Line: Unix Under the Hood : [англ.]. — John Wiley & Sons, 2006. — ISBN 978-0470113851.
Ссылки
rmdir— команды и утилиты, The Single UNIX® Specification, выпуск 7 от The Open Group (англ.)- rmdir (англ.). docs.microsoft.com. Дата обращения: 5 августа 2023.