Первый ответ работает хорошо, но не с именем каталога, содержащим пробелы. (исправленная логика, потому что это было что-то 50Kb или больше)
#RESULTTODELETE=$(find ~/foo -mindepth 1 -maxdepth 1 -type d -exec du -ks {} + | awk '$1 <= 50' | cut -f 2-); RESULTTODELETE2=$(echo "$RESULTTODELETE" | sed 's, ,\\ ,g'); echo "$RESULTTODELETE2" | xargs rm -rf
Будет работать с:
~/f oo/a lpha
~/fo o/be ta
~/f o o/ep silon
~/foo/gamma
Наблюдение за тем, какие файлы открывает процесс или какие процессы открывают файл, кажется задачей sysdig
.
Со страницы примеров sysdig
Basic opensnoop: файл snoop открывается по мере их появления
sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=открытый
Наблюдение за операциями ввода/вывода для всех файлов с именем my.conf
sysdig -A -c echo_fds "fd.filename=my.conf"
Fom man sysdig
ИМЯ sysdig — исчерпывающий инструмент для устранения неполадок в системе и процессах
ОБЗОР sysdig [опция]... [фильтр]
ОПИСАНИЕ.
sysdig — это инструмент для устранения неполадок, анализа и исследования системы. рацион. Его можно использовать для захвата, фильтрации и декодирования системных вызовов. и другие события ОС. sysdig можно использовать как для проверки работающих систем, так и для создания трассировки. файлы, которые могут быть проанализированы на более позднем этапе. sysdig включает в себя мощный язык фильтрации, имеет настраиваемый внешний поставить, и может быть расширен с помощью Lua-скриптов, называемых chisels.