"потенциальные угощения"? Как что? Бекон? Конфеты? Если серьезно, то я вижу, что голосование против, но вопрос интересный. Конечно, ограничение физического доступа является частью процесса обеспечения безопасности. Что касается самой системы, вы можете удалить все порты с материнской платы, кроме жесткого диска и разъемов питания, после того, как вы установили операционную систему и настроили BIOS на включение системы после потери питания и игнорирование всех сообщений об ошибках. о пропавшей клавиатуре. Заварить корпус на ключ. Теперь у вас есть что-то вроде шредингера * nix Box! Однако, если коробка взаимодействует с чем-либо или контролирует что-либо, она не закрыта полностью снаружи. Бессмысленный эксперимент или нет, но это интересное упражнение для мозгового штурма. С практической точки зрения, в области информационной безопасности люди действительно используют машины с воздушными зазорами по разным причинам; создание ключей, хранение конфиденциальных данных, сертификатов, написание сообщений, которые покидают компьютер только в зашифрованном виде через устройства хранения, а не через проводные или беспроводные сети.
Это немного усложняется, но вы можете объединить некоторые find
тесты, а именно:
/path/to/dir
)-depth
), чтобы очистить каталоги-кандидаты перед рассмотрением их родительских каталогов -type d
)$1/*
для установки позиционных параметров на количество совпадающих файлов (и/или каталогов )в совпадающем каталоге --, отмечая, что удаление dotglob сообщает bash не количество точек -файлов (или точек -каталогов )в расширении, и что опция nullglob позволит глобусу расширяться до ничего , если совпадений нет вообще. rm -r
для них столько, сколько поместится в команду rm
за раз(+
).Подведение итогов:
find /path/to/dir -depth -type d \
-exec bash -c \
'shopt -s nullglob; shopt -u dotglob; set -- $1/*; test "$#" -eq 0' find-sh {} \; \
-exec rm -r {} +
Hat -подсказка к ответу Stéphane find/exec здесь за хорошую основу для начала этого ответа.
Для создания тестовой -кровати:
mkdir tmp
cd tmp
mkdir dir{1..3}
touch dir1/.hidden
touch dir2/foo
touch dir3/bar
rmdir
не удалит не -пустой каталог, поэтому вы можете сделать:
find. -type d \! -name '.*' -depth -exec rmdir -v --ignore-fail-on-non-empty {} \;
(где --ignore-fail-on-non-empty
просто сообщения об ошибках...)