Знижка 50% усі тарифи, обмежений час. Починаючи від $2.48/mo
12 хв залишилось
Сервери та ОС

Як безпечно видалити директорію в Linux: rmdir, rm -r, find

Нік Сільвер By Нік Сільвер 12 хв читання Оновлено 22 вересня 2025
Одинокий ноутбук у ракурсі 3/4 на мокрій поверхні; на екрані два чіткі рядки терміналу: ls -ld -- '$DIR' rm -I -r -- '$DIR' З правого порту виходить голографічна стрічка - блакитно-пурпурна - і плавно вигинається до паперової теки, що ширяє праворуч від ноутбука; права половина теки розсипається у повітрі дрібним паперовим пилом. Освітлення у стилі BR2049, УФ-підсвічування по контуру, ледь помітні краплі дощу, янтарне тло з натрієвих ламп і тонкий силует горизонту.

Виберіть правильний інструмент, і видалення папок на Linux стане такою ж простою справою. Використовуйте rmdir для порожніх шляхів, rm -r для директорій, які ще містять файли, і знайти коли потрібно очистити тільки вміст. Це як видалити директорію в Linux, з безпечними налаштуваннями за замовчуванням, швидкими перевірками та виправленнями помилок, які заважають. Якщо швидкість – ваш пріоритет, швидко переглерніть таблицю порівняння, а потім читайте далі, щоб дізнатися про механізми захисту.

 

 

Огляд команд: копіюй, вставляй, рухайся далі

Перш ніж углиблюватися в деталі, ось найчастіше використовувані операції в одному місці. Копіюй з середньої колонки, потім застосуй замітку.

Завдання Найбезпечніша швидка команда Додаткові прапори та замітки
Видалити порожню директорію видалити каталог DIR or rm -d DIR Додати -p щоб видалити батьківські папки, якщо вони стануть порожніми.
Видалити непорожню директорію з підтвердженням один раз rm -I -r DIR Збалансована за швидкістю та безпекою.
Силою видалити непорожню директорію rm -rf — DIR Перевірити з ls -ld — DIR перед тим, як запустити.
Зберегти батьківську папку, очистити вміст find DIR -mindepth 1 -delete Обробляє приховані файли та папки теж.
Видалити тільки порожні директорії знайти DIR -type d -empty -delete Прибирання після розгортання.
Видалити за шаблоном імені find DIR -type d -name 'cache*' -prune -exec rm -rf {} + Працює швидко на великих деревах каталогів.

Держи цю підказку під рукою, поки розбираєшся, як видалити директорію в Linux. 

Видалення порожніх каталогів за допомогою rmdir or rm -d

Надреалістична сталева картотека повністю висунута, видно спрямовуючі рейки та повстяні прокладки, абсолютно порожня. Малі вигравіровані наклейки спереду: RMDIR та EMPTY. М'яка жовтуватий сяйво за нечіткою силуету skyline; блакитна вивіска блищить уздовж матової металевої кромки; дрібні частинки та волосяні подряпини виглядають справжньо.

Порожні папки — низькоризикові варіанти. Якщо вам потрібно видалити лише листковий каталог, rmdir робить саме це; якщо ви віддаєте перевагу залишатися на rm, використовуйте rm -d для того ж результату. Обидві команди зупиняються на непорожніх шляхах, що дає початківцям, які вчаться видаляти каталог у терміналі, корисний запобіжник.

  • rmdir PROJECT/tmp видаляє порожню папку та повертається мовчки, якщо вона більше не існує.
  • rmdir -p foo/bar/baz видаляє шлях, а потім батьківські каталоги, якщо кожен стає порожнім, прибираючи підмостки в один замах.
  • rm -d empty_folder видаляє лише якщо каталог порожній, дзеркало rmdir для тих, хто живе на rm.
  • rmdir –ignore-fail-on-non-empty DIR приховує помилку «not empty» у скриптах, де важливе чистота виводу.
  • Додати -v для зворотного зв'язку, наприклад, rmdir -pv foo/bar/baz.

Поширена проблема при видаленні каталогу на Linux полягає в тому, що якщо папка містить файли, rmdir відмовляється працювати. Це сигнал переходити на рекурсію. 

Читайте також: Підключіться до сервера Linux за допомогою XRDP

Видалення непорожніх каталогів за допомогою rm

Ультреальна промислова знищувач паперу як єдиний герой; «рот» заповнений множиною папок та розділювачів. Папки явно напхані папером. На передній панелі — маленький металевий значок із написом RM -R; поруч небезпечний трикутник із написом FORCE.

Рекурсивне видалення це rm -r or rm -rf. Компроміс, грубо кажучи, між швидкістю та запитами. Ті, хто вчиться видаляти непусті директорії в Linux, починають із rm -r і додають запит. Команди, що автоматизують процес, додають -f після блокування перевірок шляхів.

Почніть із шаблонів, які вас заспокоять:

  • Проіндексувати один раз rm -I -r DIR запитує один раз перед видаленням — краще, ніж -i на великих деревах.
  • Запит для всього: rm -ri DIR працює повільно, але корисна для малих дерев, коли треба бачити кожен крок.
  • Примусова рекурсія: rm -rf DIR пропускає запити й більшість помилок; перевірте за допомогою pwd, ls -ld — DIR, і an echo "$DIR" перед тим як натиснути Enter.
  • Детальний режим: -v виводить кожен видалений шлях, наприклад, rm -rfv build/.
  • Захист кореня й монтування: сучасні системи блокують rm -rf / через –preserve-root; у скриптах додайте –one-file-system щоб ви не перетинали точки монтування.

Перед будь-якою примусовою видаленням на завантаженій машині витратьте півхвилини на перевірку цілі. Виведіть її за допомогою ls -ld — "$DIR", потім подивіться на лапки й глоби. Чистий спосіб навчитися видаляти директорію в Linux — спробувати -I спочатку, потім повторити неінтерактивно. Спокійні перевірки, повторювані звички.

linux-vps Хостинг на Linux без зайвих складнощів

Хочете зручніший спосіб розмістити свої сайти та вебзастосунки? Розробляєте щось нове? Просто не подобається Windows? Саме для цього в нас є Linux VPS.

Отримати Linux VPS

Незвичайні імена, дефіси на початку та приховані ловушки

Смуга абетки натягнута вздовж кадру, ультреальна вінілова текстура з тонкими зморщками. Чорний текст повторює -TMP через кожний CAUTION.

Деякі шляхи починаються з дефіса або містять байти, що збивають парсинг. Передайте щоб зупинити парсинг опцій, або додайте ./ перед назвою.

Безпечні способи вибору незвичайних назв:

rm -r -- --weird
rm -r ./-cache

Ці маленькі звички роблять видалення директорії в Linux набагато менш стресовим на спільних серверах і дистанційних сеансах. Якщо потрібно зберегти батьківську директорію, але видалити вміст, перейдіть до команд, що знають про глибину; це далі в нашому посібнику «Як видалити директорію в Linux».

Зберегти папку, очистити те, що в ній

Ультреальна манільська папка з невеликим люком на дні, вбудованим у куток край вкладки, на шарнірах і злегка відкритим, так що тонкий потік голографічних «уламків файлів» падає вниз. На вкладці гравіювання: FIND та MIND1 (для -mindepth 1)

Багато завдань потребує чистої директорії замість відсутної. Ротація логів, pipeline-и збірки, прибирання. Два підходи охоплюють видалення всіх файлів у директорії в Linux без зачеплення батьківської папки.

  • Пропустити батьківську папку з знайти:
find /var/tmp/app -mindepth 1 -delete
  • Або виконай rm на партіях:
find ./cache -mindepth 1 -exec rm -rf {} +

Обидва обробляють приховані файли (включно з dotfiles), де простий rm * їх пропускає. Якщо ви шукаєте спосіб видалити всі файли у директорії в Linux, це надійний варіант.

One-liners допомагають, але багато команд потребують фільтрації за іменем або глибиною. Тут допомагає знайти — дає вам контроль без здогадів.

Читайте також: Список активних сервісів на Linux

Цільове видалення з знайти: імена, глибина, обрізання

Можна видалити тільки папки кешу, тільки папки збірки першого рівня або тільки архівовані логи. Ось компактний набір підходів для find видалення директорії роботи

Завдання Знімок команди Нотатки
Видалити тільки cache*/ директорії в проекті find . -type d -name 'cache*' -prune -exec rm -rf {} + -prune не заходить усередину відповідностей; швидше на великих деревах.
Видалити директорії за глибиною find ./dist -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} + Спрямовується тільки на дочірні папки першого рівня в dist/.
Видалити тільки порожні директорії знайти . -type d -empty -delete Прибирання після розгортання.
Видалити файли за шаблоном find logs -type f -name '*.gz' -delete Залишає свіжі логи без змін.
Видалити все, крім батьківської папки find /data/tmp -mindepth 1 -delete Сервіси продовжують використовувати батьківську директорію.

Використовуйте -print для пробного запуску, а потім видаліть для реального проходження. Це практична сторона видалення директорій на Linux, передбачувана область з швидким виконанням. Gotcha, на деяких мінімальних збірках BusyBox -delete дія відсутня; використовуйте -exec rm -rf {} + замість цього.

Ці шаблони розведуть вас далеко. Додайте кілька запобіжників, щоб запобігти рідкій, дорогій помилці.

Запобіжники, які врятують вас від вас самих

Надреалістичний замок з пломбою та гак як єдиний герой, щітковане сталь і потьомкана червона емаль, крапля конденсату на дужці; безпечна бирка висить на гаку з трьома жирними гравіюваннями: RM -I, ONE FS, PRESERVE ROOT.

Потужні команди потребують спокійних типових налаштувань. Виробіть ці звички, щоб видалення директорії в Linux за допомогою команд не видалило також вашу розсудливість.

  • Надавайте перевагу одному запиту з rm -I -r DIR під час перевірки шляху на екрані.
  • Завжди берегти шляхи в лапки: rm -rf — "$DIR" захищає від пробілів, глобусів та імен, які починаються з дефіса.
  • Підтвердьте точну мету: ls -ld — "$DIR" показує один рядок з режимом, власником та шляхом.
  • Залишатися всередині файлової системи: rm -rf –one-file-system "$DIR" запобігає перетинанню змонтованих томів.
  • Захист кореневої системи залишений включеним, збережіть –preserve-root на місці.
  • Видаліть біт незмінності, якщо потрібно: lsattr -d "$DIR" для перевірки, chattr -i "$DIR" щоб видалити його.

Якщо видалення все ще не вдається або зависає, перевірте звичайні підозрювані.

Запустіть тести очищення на Cloudzy Linux VPS, потім продовжуйте розробку

Надреалістичний сервер 1U в стійці міцно сидить на хмарі (хмара = VPS). Короткий волоконно-оптичний патч-корд SFP+ з'єднує сервер з відкритим ноутбуком під кутом 3/4. На глянцевому терміналі ноутбука два великі складені гравіювання: RM -I -R та ROLLBACK (перемикач роздратований). На панелі стійки невеликі значки: NVME, 10 GBPS, DDR5.

Якщо вам потрібен стабільний віддалений сервер для спроби rm, rmdir, і знайти безпечно, запустити Linux VPS хостинг і працювати в чистій оболонці. Це доступно, швидко й наявно в 12 глобальних місцезнаходжень з 11 дистрибутивів Linux готовий до роботи. Ви отримуєте root доступ, сховище NVMe SSD сховище і DDR5 RAM на сучасних планах, плюс Захист від DDoS і а 99.95% часу безперебійної роботи зобов'язання. Висока пропускна спроможність і низька затримка є частиною пакета, з з'єднаннями аж до 10 Gbps перелічених на картах плану.

  • Глобальна присутність: розгортайте в понад 12 локаціях, включаючи Нью-Йорк, Лос-Анджелес, Майамі, Амстердам, Лондон, Німеччину, Швейцарію, Юту, Далас, Лас-Вегас і Сінгапур, щоб скоротити затримки для ваших користувачів.
  • Адміністративний доступ + 11 дистрибутивів: виберіть Linux на свій смак і мають повний контроль з першого дня.
  • Сучасне обладнання: NVMe SSD зберігання та DDR5 RAM живлять інстанції; продуктивність залишається стабільною при високих навантаженнях I/O.
  • Мережа + час роботи: низька затримка, висока пропускна спроможність і гарантія 99,95% доступності допомагають запланованим завданням виконуватися вчасно.
  • Безпека: захист DDoS включено на всіх серверах, тому планове обслуговування рідше призводить до перерв.
  • Зручність: попередньо встановлені варіанти ОС, безплатний IPv6 і кілька способів оплати спрощують налаштування.

Віддаєте перевагу повноцінному робочому столу? На сторінці оформлення замовлення виберіть Linux RDP додаток з одним кліком. Він надає Linux VPS з XRDP, GDM3I need more context to translate "and the". Could you provide the complete phrase or sentence you'd like translated to Ukrainian? GNOME графічний інтерфейс встановлено на Ubuntu, щоб ви могли підключатися віддалено одним кліком. Він працює в тих же 12 локаціях і зберігає 99.95% часу безперебійної роботи мета. Там є без додаткової плати для попередньо встановленої конфігурації RDP.

Коротко: запустіть доступний Linux VPS, виберіть дистрибутив, отримайте адміністративний доступ, а якщо потрібно, додайте робочий стіл Linux RDP під час покупки. Потім практикуйте видалення в інтерактивному режимі, робіть снімки та повторюйте, доки команди не станете виконувати на автоматі.

Усунення проблем: «Permission Denied», «Directory Not Empty», зайняті шляхи

Одна папка поверх вузької щілини (щілина символізує виявлення проблем, оздобте її відповідною іконою); всередині неї менші підпапки та блідо видні .dotfiles значки, які зникають під час падіння. Напис краях щілини зверху донизу: СИМПТОМ, ПЕРЕВІРКА, ВИРІШЕННЯ; з протилежного боку: НЕ ПУСТО, ШУКАЙ, ЗНАЙДИ-ВИДАЛИ.

Більшість збоїв укладаються в кілька сценаріїв. Використовуйте цей потік симптом → перевірка → вирішення, щоб видалення каталогу в Linux не затримало ваше розгортання.

1) "Доступ заборонено" до каталогу, що вам належить
Перевірте атрибути командою lsattr -d DIR. Якщо встановлено прапор незмінюваності i вимкніть його командою sudo chattr -i DIR, потім повторіть спробу. Це траплялось на загартованих системах і деяких контейнерах.

2) "Операція не дозволена" навіть з sudo
Переконайтеся, що монтування не має режиму "тільки для читання". mount | grep DIR or findmnt DIR покаже стан. Перемонтуйте як доступне для запису або оберіть іншу папку.

3) "Каталог не порожній" після rmdir
Записи все ще присутні. Перейдіть на:

find DIR -mindepth 1 -delete

Включає приховані файли та вкладений вміст.

4) Сервіс перестворює папку
Запущений процес записує в цей шлях. Зупиніть або перезавантажте чисто, потім видаліть. Якщо саме середовище пошкоджене, інструкція на команда systemctl не знайдена допоможе вам спочатку це виправити. Приклад: у нас Nginx писав у /var/log/nginx/ на staging-сервері; після зупинки nginx.service очищено lsofвидалення вдалося, і логи відновилися чисто.

5) «Device or resource busy»
Процес утримує відкритий дескриптор в межах директорії. lsof +D ДИРЕКТОРІЯ or fuser -vm КАТАЛОГ показує, що активне; зупиніть це чисто, потім видаліть. Коли вам потрібен швидкий перегляд сокетів перед видаленням логів, Команда Linux Netstat дає швидку перевірку.

6) Дивні назви: пробіли, розриви рядків або дефіс на початку
Використовуйте or ./ перед назвами, що починаються з дефіса, та візьміть у лапки кожен рядок. Для масового очищення дивних назв запустіть find . -print0 | xargs -0 щоб пробіли ніколи не зламали команду.

З цими виправленнями більшість перешкод усунено. Якщо постійне видалення не входить у план, використовуйте замість цього корзину.

Корзина замість видалення: trash-cli та смітник

Надреалістичний синій кошик для робочого стола (матовий полімер з крихітними слідами литва, щілина отвору), край зігнутої паперової папки, що виглядає зі щілини. Вигравіровано вздовж краю: TRASH-CLI, TRASH. Невеликий бічний бейдж світиться RESTORE, щоб натякати на скасування.

Вам не потрібно все постійно видаляти. Робочі середовища та сервери з підтримкою GLib мають функцію корзини, щоб ви могли переглянути та відновити. Якщо ви навчаєтесь видаляти директорію в Linux і хочете допоміжних коліщаток, спробуйте це:

  • gio смітник PATH переміщує файли й директорії до корзини; gio list trash:// дозволяє переглянути.
  • З trash-cli, використовуйте смітник PATH, trash-list, trash-restore, і trash-empty для простого робочого процесу командного рядка.

Це повільніше, ніж rm, але запобіжна перевірка має сенс, якщо вам потрібен додатковий етап огляду. Отже, якщо вам потрібно знати, як видалити директорію в Linux без ризику пошкодити реальний набір даних, почніть з trash, потім перейдіть до rm.

Заключні думки

Тепер у вас є повний набір інструментів для видалення директорій у Linux, який включає rmdir для порожніх шляхів, rm -I -r для безпечної рекурсії, rm -rf тільки після того, як ви перевірите цільовий шлях, і find -mindepth 1 -delete коли вам потрібно очистити вміст без видалення батьківської директорії. Беріть шляхи в лапки, зберігайте –preserve-root, залишайтесь на одній файловій системі й видаліть біт незмінності, якщо він вас блокує; перевірки для вирішення проблем впораються з рештою.

І не забудьте, якщо вам потрібен чистий віддалений сервер для практики, запустіть Cloudzy Linux VPS сервер; це доступно й надійно для безпечного тестування без реальних даних, і з нашим встановленням Linux RDP одним клацанням ви також отримуєте сеанс робочого столу, щоб пройти видалення у повноцінному графічному інтерфейсі.

 

Часто задавані питання

Яка різниця між rm і rmdir?

rmdir видаляє тільки порожні директорії й може видалити батьківські з прапором -p, якщо вони стали порожні. rm видаляє файли й директорії; додайте -r для рекурсії та -I або -i для підтверджень.

Як примусово видалити папку та весь її вміст?

Використовуйте rm -rf DIR після того, як перевірите шлях. Додайте -v, якщо хочете журнал по рядках. Деякі адміністратори спочатку запускають один пробний прохід з rm -I -r перед кінцевим запуском.

Як видалити вміст, не видаляючи саму директорію?

Запустіть find DIR -mindepth 1 -delete. Це відповідає на питання, як очистити директорію в linux, й зберігає батьківську для сервісів.

Чому rmdir каже «Directory not empty», коли я не бачу файлів?

Приховані файли все ще там. ls -A покаже їх, потім використовуйте паттерн find -mindepth 1 -delete.

Як виправити «Operation not permitted» або «Permission denied»?

Перевірте біт незмінності за допомогою lsattr -d DIR і видаліть його через sudo chattr -i DIR, якщо присутній. Також переконайтесь, що монтування не є лише для читання. Якщо сервіс відновлює шляхи під час очищення, спочатку вирішіть проблему з unit; посилання на systemctl вище допомагає.

Поділитися

Ще з блогу

Читайте далі.

Обкладинка статті про найкращі self-hosted застосунки для Cosmos Cloud з панелями застосунків навколо дашборду Cosmos.
Сервери та ОС

Найкращі self-hosted застосунки для Cosmos Cloud: файли, медіа, паролі, автоматизація та не тільки!

Maybe ви вже налаштували Cosmos Cloud і хочете знайти застосунки, що добре з ним поєднуються, або ще не визначились із Cosmos і просто хочете зрозуміти, наскільки він підходить для вашого робочого процесу

Нік СільверНік Сільвер 16 хвилин читання
Portainer проти Cosmos Cloud для керування Docker застосунками: обкладинка з діаграмою гібридного налаштування та неоновими блоками ops і access.
Сервери та ОС

Portainer проти Cosmos Cloud: що краще для керування додатками Docker

Якщо ви вже знайомі з Docker і просто шукаєте зручніший спосіб запустити зростаючий стек додатків, ось коротка відповідь на питання Portainer проти Cosmos Cloud. Portainer — кращий вибір для безпосереднього

Нік СільверНік Сільвер 14 хв читання
Порівняльна графіка Cosmos Cloud, CasaOS та Umbrel, що показує три варіанти самостійного хостингу в межах однієї абстрактної хмарної мережі.
Сервери та ОС

Cosmos Cloud проти CasaOS проти Umbrel: яка платформа для самостійного хостингу підійде саме вам?

Коротко: CasaOS досі найлегший варіант для початку, Umbrel має найохайніший і найретельніше підібраний інтерфейс, а Cosmos Cloud стає доцільнішим, коли потрібен щільніший контроль над доменами

Нік СільверНік Сільвер 11 хв читання

Готові до розгортання? З $2.48/міс.

Незалежна хмара з 2008 року. AMD EPYC, NVMe, 40 Gbps. Повернення коштів протягом 14 днів.