Diferença entre 'cd' e 'cd ..' em unix / linux [duplicado]

1

Eu sou completamente novo no sistema operacional unix / linux. Eu instalei o Ubuntu 16.04.2 LTS no meu sistema.

Qual é a diferença entre cd e cd .. ?

Eu abri um terminal e executei o seguinte comando: pwd . Isso me deu /home/avinash

Agora eu executei cd .. e ele me deu /home$

Em seguida, executei o comando cd e, em seguida, dei pwd , que retornou /home/avinash/

Alguém pode explicar a diferença entre cd e cd .. ?

    
por Avinash Reddy 11.07.2017 / 09:14

4 respostas

2

Diferença entre comandos

A diferença é que cd é um único comando, nenhum argumento. Se não houver argumentos, cd irá para sua pasta inicial por padrão. Agora, por contraste .. sempre significa "um diretório para cima" ou diretório pai. Então, quando você fizer cd .. subirá um nível. E isso é sempre verdade, com exceção da pasta / , porque não há outro lugar para ir. Aqui está uma demonstração:

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

Usando esse conhecimento na prática

Então, onde os dois comandos são úteis? cd retornará ao seu diretório pessoal, que é o mesmo que cd ~ ou cd $HOME . Isso significa que, se você estiver em algum lugar muito profundo na árvore de diretórios, poderá voltar rápida e facilmente ao diretório inicial. Aqui está um exemplo:

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

Com .. você também pode fazer coisas legais. Digamos que eu esteja na pasta /sys/class/block/sda1/holders e quero ir rapidamente para três níveis. Então podemos fazer isso:

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

O que também pode ser feito é tornar uma função fora disso. Podemos navegar mais facilmente, especificando vários níveis para subir. Aqui está:

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

Sabendo que cd .. sobe um nível, por que não especificar quantas vezes queremos repetir cd .. ? Isso é exatamente o que esse loop while faz. E aqui está em ação:

$ pwd  
/sys/class/block/sda1/holders
$ goup 4
$ pwd
/sys
    
por Sergiy Kolodyazhnyy 11.07.2017 / 09:21
1
  • Após a execução cd , você entrará em seu diretório pessoal
  • Após a execução cd .. , você obterá um diretório na árvore de diretórios
por Yaron 11.07.2017 / 09:19
1
    O comando
  1. cd o levará de volta ao seu diretório pessoal diretamente, não importa onde você esteja.

  2. cd .. levará você de volta apenas um passo atrás, ou seja, para o diretório pai do diretório atual.

por rɑːdʒɑ 11.07.2017 / 09:19
0

Este é um comando, mas .. é um parâmetro de cd . Parâmetro .. sempre significa que você quer ir a um catálogo no linux.

Comando cd leva você ao seu diretório pessoal:

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

Comando cd com o parâmetro .. coloca um diretório na árvore de diretórios onde você está real

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

Existe outro parâmetro como . , cujo significa que você sempre deseja ir para o catálogo atual. Você pode ver isso quando você lista a árvore:

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

Como você vê, sempre você indexou no catálogo atual do arquivo do sistema como . , depois encaminha para o catálogo usando .. e, em seguida, o próximo catálogo / arquivos encaminhados na árvore unix.

    
por Axel Gocan 11.07.2017 / 09:25