В каждом каталоге файловой системы есть два специальных каталога:
1. Текущий рабочий каталог, представленный одной точкой (.)
2. Родительский каталог, представленный двумя точками (..)
Оба каталога легко понять, рассмотрев несколько примеров. Для демонстрации давайте сначала перейдем к /home/elliot, чтобы он стал нашим текущим рабочим каталогом:
elliot@ubuntu-linux:~/Desktop$ cd /home/elliot
elliot@ubuntu-linux:~$ pwd
/home/elliot
Теперь выполним команду cd .
elliot@ubuntu-linux:~$ cd .
elliot@ubuntu-linux:~$ pwd
/home/elliot
Как и следовало ожидать, ничего не произошло! Мы все еще находимся в /home/elliot, и это потому, что одна точка (.) представляет текущий рабочий каталог. Это как если бы вы сказали кому-то: «Иди туда, где ты есть!»
Теперь выполните команду cd .. :
elliot@ubuntu-linux:~$ cd ..
elliot@ubuntu-linux:/home$ pwd
/home
Мы переместились на один каталог назад! Другими словами, мы перешли в родительский каталог /home/elliot, которым является /home.
Давайте выполним еще раз команду cd . .
elliot@ubuntu-linux:/home$ cd ..
elliot@ubuntu-linux:/$ pwd
/
Действительно, мы продолжаем возвращаться назад, и теперь мы находимся в корне нашего дерева каталогов. Ну что ж, давайте запустим cd .. еще раз:
elliot@ubuntu-linux:/$ cd ..
elliot@ubuntu-linux:/$ pwd
/
Хммм, мы в одном и том же каталоге! Наш путь не изменился, и это потому, что мы уже находимся в корне нашего дерева каталогов, поэтому мы не можем идти дальше назад. В результате корневой каталог (/) является единственным каталогом, где родительский каталог = текущий каталог, и вы можете увидеть это, посмотрев на рис. 1.
Вы также можете вставить разделитель каталогов cd ../ .., чтобы переместится сразу на два каталога назад:
elliot@ubuntu-linux:~$ pwd
/home/elliot
elliot@ubuntu-linux:~$ cd ../..
elliot@ubuntu-linux:/$ pwd
/
Вы также можете выполнить команду cd ../../ .., чтобы переместится на три каталога назад и так далее.