На этот вопрос уже есть ответ:
Я знаю, что такое файлы или папки с точками, но в каждом каталоге есть определенная папка с точкой (имя - просто точка). Для чего они используются?
Например, вот часть моей папки «bin». Посмотрите на первые буксирные тросы.
drwxr-xr-x 2 root root 4.0K Jul 29 12:39 .
drwxr-xr-x 23 root root 4.0K Jul 29 12:37 ..
-rwxr-xr-x 1 root root 904K Mar 30 20:02 bash
-rwxr-xr-x 1 root root 30K Aug 3 2012 bunzip2
...
Каждый каталог содержит записи .
и ..
.
.
означает сам каталог. Он называется текущим каталогом .
..
означает родительский каталог каталога , то есть каталог, в котором он находится.
Существует один каталог, который не содержится ни в одном другом каталоге: /
. Таким образом, /
является особенным - как и все другие каталоги, он содержит запись ..
, но его запись ..
является самой. Таким образом, для /
и только для /
, ..
и .
эквивалентны.
Эти записи каталога удобны для различных целей. Например, вы можете изменить каталог на родительский каталог каталога, в котором вы находитесь, с помощью команды cd ..
.
Возможно, вы видели .
в контексте запуска программ или сценариев. В оболочке в стиле Unix, когда вы запускаете команду по имени, оболочка не пытается автоматически запустить программу по имени в текущем каталоге. (Это удивительно для некоторых пользователей, приходящих из Windows, где это действительно происходит.) Основной причиной этого является безопасность - если кто-то создает в своем каталоге программу с тем же именем, что и какой-либо инструмент системного администрирования, и вы запускаете этот инструмент находясь в своем каталоге, они могли просто обмануть вас и запустить свою программу.
Итак, чтобы запустить программу, которой нет в вашем PATH
, вы должны назвать ее по какому-то имени, в котором есть /
. Для запуска программы в текущем каталоге вы можете использовать ./program
. (Вы не можете использовать /program
, потому что это абсолютный путь и означает «файл с именем program
в корневом каталоге, /
.)
Одиночная точка представляет текущий каталог. Двойная точка представляет родительский каталог. Набрав «cd ..», вы попадете в родительский каталог. Смотрите нижнюю часть этой страницы для получения дополнительной информации: http://www.basicconfig.com/linux/linux_cd_command_tutorial
.
означает текущий каталог.
..
означает родительский каталог.
Поэтому, когда вы печатаете cd ..
, вы будете двигаться на один уровень вверх. Когда вы наберете cp /etc/resolv.conf .
, вы скопируете файл /etc/resolv.conf
в текущий каталог.