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

7

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

Например, вот часть моей папки «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
...
    
задан ziggurat 31.07.2013 в 19:48
источник

3 ответа

15

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

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

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

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

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

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

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

    
ответ дан Eliah Kagan 31.07.2013 в 22:15
источник
1

Единая точка представляет текущий каталог. Двойная точка представляет родительский каталог. Ввод «cd ..» приведет вас в родительский каталог. См. Нижнюю часть этой страницы для получения дополнительной информации: Ссылка

    
ответ дан tstew 31.07.2013 в 19:53
источник
1

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

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

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

    
ответ дан ubuntu_tr 31.07.2013 в 19:51
источник

Ознакомьтесь с другими вопросами по меткам