- PVSM.RU - https://www.pvsm.ru -
Это совершенно бесполезный, ненужный в практическом применении, но забавный небольшой пост про директории в *nix системых. Пятница же.
На собеседованиях часто проскакивают скучные вопросы про айноды, всё-есть-файлы, на которые мало кто может вменяемо ответить. Но если копнуть чуть глубже, можно найти любопытные вещи.
Для понимания поста немного тезисов:
А теперь интересное: создаём директорию с миллионом файлов, проверяем размер директории, а потом вытираем все файлы и смотрим на размер директории.
$ mkdir niceDir && cd niceDir
# в зависимости от скорости носителя, следующая команда может занять 2-10 минут
$ for ((i=1;i<133700;i++)); do touch long_long_looong_man_sakeru_$i ; done
$ ls -lhd .
drwxr-xr-x 2 user user 8.1M Aug 2 13:37 .
$ find . -type f -delete
$ ls -l
total 0
$ ls -lhd .
drwxr-xr-x 2 user user 8.1M Aug 2 13:37 .
Как можно заметить, размер директории не поменялся, хотя казалось бы :)
Починить размер директории (без удаления) можно только с помощью fsck (и опции -D) в отмонтированном состоянии.
А вот когда я пошёл искать, почему это так, то оказалось, что 10 лет назад такое поведение уже обсуждали [1] в lkml. И по мнению разработчиков исправление просто не стоит вложенных усилий.
Автор: sledopit
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/325844
Ссылки в тексте:
[1] обсуждали: https://lkml.org/lkml/2009/5/15/146
[2] Источник: https://habr.com/ru/post/462295/?utm_source=habrahabr&utm_medium=rss&utm_campaign=462295
Нажмите здесь для печати.