Разница между 'cd' и 'cd ...' в unix /linux [дубликат]

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

Я совсем новичок в ОС unix/linux. Я установил Ubuntu 16.04.2 LTS в свою систему.

В чем разница между cd и cd ... ?

Я открыл терминал и выполнил следующую команду: pwd. Это дало мне /home/avinash

Теперь я выполнил cd ... и это дало мне /home$

Затем я выполнил команду cd и затем дал pwd, которая вернула /home/avinash/

Может ли кто-нибудь объяснить разницу между cd и cd ... ?

1
задан 11 July 2017 в 10:24

4 ответа

Различие между командами

Различие - это cd единственная команда, никакие аргументы. Если нет никаких аргументов, cd перейдет к Вашей домашней папке по умолчанию. Теперь, в отличие от этого .. всегда означает "один каталог" или родительский каталог. Таким образом, когда Вы делаете cd .. это повысится один уровень. И это всегда верно, за исключением / папка, потому что существует больше нигде для движения. Вот демонстрация:

$ pwd
/etc
$ cd ..
$ pwd
/
$ cd ..
$ pwd
/

Используя это знание на практике

Таким образом, где две команды полезны? cd перейдет назад к Вашему корневому каталогу, который совпадает с выполнением cd ~ или выполнение cd $HOME. Это означает, что, если Вы где-нибудь очень очень глубоки в дереве каталогов, можно быстро и легко вернуться к корневому каталогу. Вот пример:

$ pwd
/sys/class/block/sda1/holders
$ cd
$ pwd
/home/xieerqi

С .. можно также сделать прохладные вещи. Скажем, я нахожусь в /sys/class/block/sda1/holders папка и я хотим быстро перейти к 3 уровням. Таким образом, мы можем сделать это:

$ pwd
/sys/class/block/sda1/holders
$ cd ../../../
$ pwd
/sys/class

То, что также может быть сделано, должно сделать функцию из этого. Мы можем перейти легче путем определения многих уровней для восстановления работоспособности.Вот:

goup() {
    num=$1 
    while [ $num -ne 0 ] 
    do
        cd .. 
        num=$(expr $num - 1 ) 
    done 
} 

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

$ pwd  
/sys/class/block/sda1/holders
$ goup 4
$ pwd
/sys
2
ответ дан 3 December 2019 в 06:53
  • После выполнения cd Вы войдете в свой корневой каталог
  • После выполнения cd .. Вы разбудите один каталог в дереве каталогов
1
ответ дан 3 December 2019 в 06:53
  1. cd команда заберет, Вы к Вашему корневому каталогу непосредственно, не имеете значения, где когда-либо Вы.

  2. cd .. заберет Вас всего один шаг назад, т.е. к родительскому каталогу текущего каталога.

1
ответ дан 3 December 2019 в 06:53

Это - одна команда, но .. параметр cd. Параметр .. всегда средства, которые Вы хотите, идут один каталог в Linux.

Команда cd получите Вас в свой корневой каталог:

root@test:/etc/init# cd
root@test:~# 

Команда cd с параметром .. получите Вас один каталог в дереве каталогов, где Вы являетесь фактическими

root@test:/etc/init# cd ..
root@test:/etc# cd /etc/init

Существует другой параметр как . чьи средства, которые Вы всегда хотите, переходят к текущему каталогу. Вы видите это при списке дерева:

root@test:/etc/init# ls -la
razem 248
drwxr-xr-x   2 root root  4096 lip 10 15:06 .
drwxr-xr-x 140 root root 12288 lip 10 15:07 ..
-rw-r--r--   1 root root   338 kwi  9  2016 acpid.conf
-rw-r--r--   1 root root   278 gru 28  2014 anacron.conf
-rw-r--r--   1 root root  3709 mar 16 04:05 apparmor.conf
-rw-r--r--   1 root root  1626 kwi 10 14:16 apport.conf

Как Вы видят, всегда Вы индексировали на системном файле текущий каталог как ., затем передайте каталогу с помощью .., и затем следующий каталог/файлы, переданный вниз в дереве Unix.

0
ответ дан 3 December 2019 в 06:53

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

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