Если вы пытались удалить файл или папку через rm и получили сообщение вроде:
rm: cannot remove ‘file’: Device or Resource Busy
— не пугайтесь. Это не баг и не сбой, а обычная ситуация: система просто не даёт удалить то, что сейчас используется.
Разбираемся, что делать в каждом случае.
Начнём с простого: где вы сейчас в системе? Посмотреть текущую директорию можно так:
pwd
Если вы находитесь в директории, которую хотите удалить — сначала нужно из нее выйти. Для этого:
cd ~
Теперь можно снова пробовать удаление:
rm -rf /path/to/directory
Если всё дело было в этом — команда сработает.
Если папка занята, скорее всего её использует какое-то приложение. Чтобы узнать какое, воспользуйтесь lsof:
lsof +D /path/to/directory
Команда покажет список процессов, которые держат файлы внутри этой папки. Пример вывода:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 4312 user cwd DIR 8,1 4096 2 /mnt/data
Когда найдёте «виновника», можно закрыть программу вручную или завершить процесс. Посмотреть процессы удобно через:
fuser -v /path/to/directory
А если надо сразу завершить всё, что использует папку (осторожно, это может завершить важные процессы):
fuser -k /path/to/directory
Иногда папка, которую вы хотите удалить — это точка монтирования: например, туда смонтирована флешка или сетевой диск.
Проверьте это с помощью:
mount | grep /path/to/directory
Если увидите строку вроде:
/dev/sdb1 on /mnt/usb type vfat (rw,nosuid,nodev)
— значит, папка занята подключённым устройством.
Отключите его так:
umount /mnt/usb
Если система говорит, что устройство занято — попробуйте «ленивый» вариант:
umount -l /mnt/usb
А если и это не помогает, но вы уверены, что устройство можно безопасно отключить:
umount -f /mnt/usb
⚠️ Будьте осторожны: принудительное отключение может повредить данные, если с устройством ещё идёт работа.
После отключения удалите папку:
rm -rf /mnt/usb