Что такое папка с именем только с точкой? [дубликат]

На этот вопрос уже есть ответ:

Я знаю, что такое файлы или папки с точками, но в каждом каталоге есть определенная папка с точкой (имя - просто точка). Для чего они используются?

Например, вот часть моей папки «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
...
8
задан 31 July 2013 в 23:48

3 ответа

Каждый каталог содержит записи . и ...

. означает сам каталог. Он называется текущим каталогом .

.. означает родительский каталог каталога , то есть каталог, в котором он находится.

Существует один каталог, который не содержится ни в одном другом каталоге: /. Таким образом, / является особенным - как и все другие каталоги, он содержит запись .., но его запись .. является самой. Таким образом, для / и только для /, .. и . эквивалентны.

Эти записи каталога удобны для различных целей. Например, вы можете изменить каталог на родительский каталог каталога, в котором вы находитесь, с помощью команды cd ...

Возможно, вы видели . в контексте запуска программ или сценариев. В оболочке в стиле Unix, когда вы запускаете команду по имени, оболочка не пытается автоматически запустить программу по имени в текущем каталоге. (Это удивительно для некоторых пользователей, приходящих из Windows, где это действительно происходит.) Основной причиной этого является безопасность - если кто-то создает в своем каталоге программу с тем же именем, что и какой-либо инструмент системного администрирования, и вы запускаете этот инструмент находясь в своем каталоге, они могли просто обмануть вас и запустить свою программу.

Итак, чтобы запустить программу, которой нет в вашем PATH , вы должны назвать ее по какому-то имени, в котором есть /. Для запуска программы в текущем каталоге вы можете использовать ./program. (Вы не можете использовать /program, потому что это абсолютный путь и означает «файл с именем program в корневом каталоге, /.)

0
ответ дан 31 July 2013 в 23:48

Одиночная точка представляет текущий каталог. Двойная точка представляет родительский каталог. Набрав «cd ..», вы попадете в родительский каталог. Смотрите нижнюю часть этой страницы для получения дополнительной информации: http://www.basicconfig.com/linux/linux_cd_command_tutorial

0
ответ дан 31 July 2013 в 23:48

. означает текущий каталог.

.. означает родительский каталог.

Поэтому, когда вы печатаете cd .., вы будете двигаться на один уровень вверх. Когда вы наберете cp /etc/resolv.conf ., вы скопируете файл /etc/resolv.conf в текущий каталог.

0
ответ дан 31 July 2013 в 23:48

Другие вопросы по тегам:

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