Как появились скрытые файлы
Байка уровня “почему диаметр ракеты не может быть больше двух лошадинных задниц”, только правдивая. Рассказана одним из отцов Юникса - Робом Пайком. Бережно сохранена Xah Lee.
А вспомнил я про неё, читая блог Дэна Кросса (Dan Cross) с его пропозалом, хранить дотфайлы в $HOME/etc.
Вкратце, когда делали иерархичность файловой системы в первых версиях Юникс, добавили сущности . и .. для ссылки на текущий каталог и вышестоящий. Так-то они с нами до сих пор.
% cd `mktemp -d` && ls -a
. ..
Но при выводе каталога они мешались, и в ls просто добавили скрытие всех членов каталога, чьё имя начиналось с точки, вместо того, чтобы исключать конкретно . и ...
Вот и всё. Легким движением руки у нас появились скрытые файлы и папки. И вот туда уже все полюбили класть всякие конфиги, бэкапы… И теперь домашний каталог пользователя это помойка с мусором, заметённым под точку.
Роб предлагает пару выводов: дескать, думайте о последствиях небольших хаков и, дескать, в Plan9 это “исправили”. Но очевидно, что традиция уже сложилась и с нами навсегда.
Собственно, возвращаясь к пропозалу - ~/etc прикольно, но тот же XDG советует пихать всё в .config. И вот у нас уже 15 несовместимых стандартов.
Дотфайлы - файлы или каталоги, которые начинаются с точки и скрыты по-умолчанию. Типа .profile или .ssh.