Существует любое количество использования. Я использую их для создания основанных на файле блокировок. Ссылка (2) системный вызов является атомарной, в отличие от большинства других системных вызовов.
Другое использование в rsnapshot, где резервные копии берутся со временем с помощью жестких ссылок для сокращения количества дискового пространства. Если файл не изменился, то файл трудно связан с более старыми экземплярами файла, файлы, которые изменились, копируются снова.
Я также использую их для выгрузки файлов конфигурации на серверах: rm file.cfg && ln ~/tmp/file.cfg file.cfg
, затем ~/tmp /* файлы может быть удален безопасно.
Под подобными Unix системами все каталоги содержат две записи, .
и ..
, которые обозначают сам каталог и его родителя соответственно. Эти записи не интересны большую часть времени, таким образом, ls
скрывает их и подстановочные знаки оболочки как *
не включайте их. В более общем плане, ls
и подстановочные знаки скрывают все файлы, имя которых начинается с a .
; это - простой способ исключить .
и ..
и позвольте пользователям скрывать другие файлы от списков. Кроме того, чтобы быть исключенным из списков, нет ничего специального об этих файлах.
Unix хранит конфигурационные файлы в расчете на пользователя в корневом каталоге пользователя. Если бы все конфигурационные файлы появились в списках файлов, то корневой каталог был бы нарушен файлами, о которых пользователи не заботятся о каждом дне. Таким образом, конфигурационные файлы всегда начинаются с a .
: обычно, конфигурационный файл для приложения Foo называют чем-то как .foo
или .foorc
. Поэтому пользовательские конфигурационные файлы часто известны как точечные файлы.
Directorys, запускающийся с точки .
считаются скрытыми. Это означает:
~/somedirectory
и ~/.somedirectory
различные каталоги. Это то, если ~/somedirectory
существовавший и Вы сделали mkdir ~/.somedirectory
, Вы не перестанете работать с a File Exists
сообщение.
ls
команда не покажет те каталоги, запускающиеся с .
ls -a
покажет оба каталога
Для получения дополнительной информации на проверке файловой системы Unix стандарт. А именно, точечные файлы используются для конфигурационных файлов в пользовательском каталоге, и если программа имеет больше чем один, она должна поместить их в точечный каталог.
Это скрывает файлы от пользователя, если они не хотят найти их. Тем путем они не мешают, и инструменты не идут, смешивая с ними случайно.
Продвижение "." в имени каталога или имени файла заставляет тот каталог или файл быть скрытым при выполнении a ls
команда.
Как @DaveNay, уже сказанный, тот период заставит файл или каталог быть скрытым.
Для Вашего второго неявного вопроса это - то, как Вы ищете это в Google:
Просто введите в поле поиска: период Linux перед именем
ls
и подстановочные знаки скрывают все файлы, имя которых начинается с a.
; это - простой способ исключить.
и..
и позвольте пользователям скрывать другие файлы от списков". Это походит на следующее: понятие скрывающихся файлов/каталогов, которые запускаются с точки, на самом деле казалось, скрылось.
..
. Но позже, люди поняли, что способность скрыть некоторые файлы/каталоги имеет значение в ней и следовательно, они начали помещать точку в начале файлов, которые они хотят быть скрытыми. Что действительно имеет место или просто предположение? – Utku 05.10.2015, 17:17.
и..
но сделал ошибку. Однако возможно, что его отговорили от фиксации его, потому что некоторые пользователи нашли это полезным, и причина, почему пользовательские конфигурационные файлы запускаются с.
определенно так, чтобы они не создавали помехи выводуls
в корневом каталоге. Я думаю, что у нас есть вопрос об этом здесь, но я не могу найти его, это, возможно, был mistagged. – Gilles 'SO- stop being evil' 05.10.2015, 21:49