Отфильтровать частичный вывод некоторого скрипта [дубликат]

То же различие, что и с rm -r dir и rm -r dir / * .

Второй удаляет только то, что соответствует glob, обычно каждый файл, имя которого не начинается с точки, но может быть настроено в bash и, возможно, в других. Это также не сработает, если у вас есть много файлов в каталоге, так как командная строка может вместить только такое количество файлов. Не то, чтобы у вас обычно было что-то в корневом каталоге, но все же.

Первый будет рекурсивно перейти в каталог , удалив все содержимое, а затем и сам каталог. Но, как уже говорилось, вы все равно не можете удалить корневой каталог. В Linux вы получаете ошибку Устройство или ресурс занят , и именно это вы получаете, пытаясь удалить любой каталог, содержащий смонтированную файловую систему. (Перед удалением он даже не проверяет, пуст ли каталог.)

По той же причине вы обычно не можете получить пустой корневой каталог, у вас будут смонтированы такие вещи, как / proc и / sys (в Linux), и вы не можете удалить точки монтирования, не размонтировав их.


И что ж, строго говоря, удаление всех файлов не убивает систему ... Это просто делает обычную парадигму запуска внешних программ для выполнения каких-либо задач немного трудной для использования. Но это не повлияет на работу программ, которым больше не нужны файлы в файловой системе. Вы могли бы попробовать это с помощью чего-то вроде оболочки busybox , в которую интегрированы rm и ls . (Однако загрузка в следующий раз может быть сложной, если ваши загрузочные файлы находятся в смонтированной файловой системе.)

23
05.03.2018, 16:01
0 ответов

Теги

Похожие вопросы