Что является настолько особенным о каталогах, имена которых начинаются с точки?

Существует любое количество использования. Я использую их для создания основанных на файле блокировок. Ссылка (2) системный вызов является атомарной, в отличие от большинства других системных вызовов.

Другое использование в rsnapshot, где резервные копии берутся со временем с помощью жестких ссылок для сокращения количества дискового пространства. Если файл не изменился, то файл трудно связан с более старыми экземплярами файла, файлы, которые изменились, копируются снова.

Я также использую их для выгрузки файлов конфигурации на серверах: rm file.cfg && ln ~/tmp/file.cfg file.cfg, затем ~/tmp /* файлы может быть удален безопасно.

25
02.10.2011, 03:55
5 ответов

Под подобными Unix системами все каталоги содержат две записи, . и .., которые обозначают сам каталог и его родителя соответственно. Эти записи не интересны большую часть времени, таким образом, ls скрывает их и подстановочные знаки оболочки как * не включайте их. В более общем плане, ls и подстановочные знаки скрывают все файлы, имя которых начинается с a .; это - простой способ исключить . и .. и позвольте пользователям скрывать другие файлы от списков. Кроме того, чтобы быть исключенным из списков, нет ничего специального об этих файлах.

Unix хранит конфигурационные файлы в расчете на пользователя в корневом каталоге пользователя. Если бы все конфигурационные файлы появились в списках файлов, то корневой каталог был бы нарушен файлами, о которых пользователи не заботятся о каждом дне. Таким образом, конфигурационные файлы всегда начинаются с a .: обычно, конфигурационный файл для приложения Foo называют чем-то как .foo или .foorc. Поэтому пользовательские конфигурационные файлы часто известны как точечные файлы.

18
27.01.2020, 19:40
  • 1
    "В более общем плане, ls и подстановочные знаки скрывают все файлы, имя которых начинается с a .; это - простой способ исключить . и .. и позвольте пользователям скрывать другие файлы от списков". Это походит на следующее: понятие скрывающихся файлов/каталогов, которые запускаются с точки, на самом деле казалось, скрылось . ... Но позже, люди поняли, что способность скрыть некоторые файлы/каталоги имеет значение в ней и следовательно, они начали помещать точку в начале файлов, которые они хотят быть скрытыми. Что действительно имеет место или просто предположение? –  Utku 05.10.2015, 17:17
  • 2
    @Utku На самом деле, это было наоборот, как наименьшее количество сначала: исходный разработчик намеревался скрыться только . и .. но сделал ошибку. Однако возможно, что его отговорили от фиксации его, потому что некоторые пользователи нашли это полезным, и причина, почему пользовательские конфигурационные файлы запускаются с . определенно так, чтобы они не создавали помехи выводу ls в корневом каталоге. Я думаю, что у нас есть вопрос об этом здесь, но я не могу найти его, это, возможно, был mistagged. –  Gilles 'SO- stop being evil' 05.10.2015, 21:49

Directorys, запускающийся с точки . считаются скрытыми. Это означает:

  • ~/somedirectory и ~/.somedirectory различные каталоги. Это то, если ~/somedirectory существовавший и Вы сделали mkdir ~/.somedirectory, Вы не перестанете работать с a File Exists сообщение.

  • ls команда не покажет те каталоги, запускающиеся с .

  • ls -a покажет оба каталога

15
27.01.2020, 19:40
  • 1
    ls-A отображает файлы и каталоги, которые запускаются с. но не включает. и.. записи. –  Julian 30.09.2011, 18:47

Для получения дополнительной информации на проверке файловой системы Unix стандарт. А именно, точечные файлы используются для конфигурационных файлов в пользовательском каталоге, и если программа имеет больше чем один, она должна поместить их в точечный каталог.

Это скрывает файлы от пользователя, если они не хотят найти их. Тем путем они не мешают, и инструменты не идут, смешивая с ними случайно.

7
27.01.2020, 19:40

Продвижение "." в имени каталога или имени файла заставляет тот каталог или файл быть скрытым при выполнении a ls команда.

4
27.01.2020, 19:40
  • 1
    Можно просмотреть все файлы, запускающиеся с с ls-a. –  Sardathrion - Reinstate Monica 30.09.2011, 18:06

Как @DaveNay, уже сказанный, тот период заставит файл или каталог быть скрытым.

Для Вашего второго неявного вопроса это - то, как Вы ищете это в Google:

Просто введите в поле поиска: период Linux перед именем

1
27.01.2020, 19:40

Теги

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