Эта команда, безопасная работать от / как корень

Различие до способа, которым они были запущены. удар инициализирует по-другому (прочитайте различные сценарии запуска) в зависимости от он - argv [0]. Если строка запускается с дефиса - как в -bash затем это работает как оболочка входа в систему, в противном случае это будет работать как интерактивная оболочка. Это может также работать как неинтерактивная оболочка (т.е. в сценарии оболочки).

Для обнаружения больше, лучше читать руководство, man bash раздел INVOCATION.

2
16.09.2016, 02:33
3 ответа

На странице man для rmdir написано:-

Remove the DIRECTORY(ies), if they are empty.

Если вы хотите удалить все пустые каталоги, то это будет безопасно. Вопрос, который необходимо задать:-

Хотите ли вы удалить все пустые каталоги?

Некоторым приложениям нужен каталог, даже если он пустой. Например, journald можно настроить так, чтобы он записывался в постоянное хранилище только в том случае, если существует /var/log/journald. Если вы запустите вашу команду, когда этот каталог будет пустым, то он будет удален. После этого journald не будет вести журнал в постоянное хранилище, так как не может найти каталог. Я считаю, что Fedora настроена таким образом по умолчанию.

Также, пустые (немонтированные) точки монтирования также могут быть удалены вашей командой. Они должны быть достаточно просты в исправлении, но это все равно может вас подловить.

6
27.01.2020, 21:57

Хотя в большинстве случаев эта команда может быть безопасной, плохая привычка использовать *, когда команда может принимать опции, потому что имя файла, начинающееся с тире (созданный по ошибке или злоумышленником, который мог воспользоваться другой ошибкой) может быть интерпретирован как опция. Как кто-то сказал, * здесь бессмысленно, но что вам нужно помнить, так это то, что, особенно при выполнении команды от имени root, вам нужно контролировать все аргументы. В общем, избегать глобуса без префикса (например, вместо *, ./* часто лучше). Также, будьте осторожны с символическими ссылками и пробелами в именах файлов ...

.
0
27.01.2020, 21:57

find распечатает все файлы и папки в дереве каталогов. xargs выполняет поставленную команду - rmdir для каждого элемента найденного возвращается.

rmdir не будет удалять не пустые папки, а также не будет удалять файлы - можно попробовать. mkdir папка, коснитесь нескольких файлов внутри нее, а затем запустите rmdir на папке. rmdir пожалуется на что-то подобное: rmdir: не удалось удалить "тест": Каталог не пуст , или rmdir: не удалось удалить 'test.txt': Не каталог

Так что да, он должен быть абсолютно безопасен. Если вы хотите проверить, вы можете создать набор тестовых папок, используя mkdir и touch и посмотреть, делает ли он то, что вы ожидаете.

Также, для получения более подробной информации о rmdir - и почти любой команды в *nix, запустите man .

.
-1
27.01.2020, 21:57

Теги

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