Como navego entre diretórios no terminal?

20

Eu sou novo no Linux e no Ubuntu e tentei mudar para pastas / diretórios com alguma dificuldade.

Alguém poderia explicar por que os seguintes comandos não mudaram para a pasta / diretório de destino desejado?

sharon@sharon:~$ cd Home 
bash: cd: Home: No such file or directory 
sharon@sharon:~$ cd /Home 
bash: cd: /Home: No such file or directory 
sharon@sharon:~$ cd Documents 
sharon@sharon:~/Documents$ cd Downloads 
bash: cd: Downloads: No such file or directory 
sharon@sharon:~/Documents$ cd /Downloads 
bash: cd: /Downloads: No such file or directory 
sharon@sharon:~/Documents$
    
por n00b 24.12.2012 / 22:18

4 respostas

31

O sistema de arquivos é GNU / Linux é como uma árvore, exceto que a raiz está no topo. :-) Então você tem estrutura como:

/
  bin/
  home/
    sharon/
      Documents/
      Downloads/
      fileA.txt
      fileB.jpg
  usr/
  var/

Se você quiser se mover dentro da árvore, uma opção é usar caminhos relativos. Se você estiver em /home/sharon , então, digitar cd Downloads funcionará, porque Downloads é um filho imediato do seu diretório atual. Se você estiver na subpasta Documents e quiser alterar o diretório ( cd ) para Downloads , será necessário aumentar ( .. ) e, em seguida, Downloads . Então o comando correto seria cd ../Downloads .

Você também pode inserir um caminho absoluto. Portanto, a pasta Downloads é uma subpasta de sharon , que é uma subpasta de home , que é… (você começa a idéia :-)) Então você também pode inserir cd /home/sharon/Downloads onde quer que esteja no sistema de arquivos.

  • ~ sempre se refere ao diretório inicial do usuário atual ( /home/sharon no seu caso). Se você inserir cd ~/Downloads , você acessará sua pasta Downloads .

  • . refere-se ao diretório atual, portanto, cd ./Downloads é aproximadamente equivalente a cd Downloads .

  • .. significa "diretório pai".

  • / no início do caminho do arquivo refere-se ao diretório raiz.

A próxima coisa boa é a expansão de guias. Se você inserir cd ~/Dow Tab (a última é pressionar a tecla Tabulator), o bash automaticamente a expande para cd ~/Downloads .

Como os outros disseram, o GNU / Linux faz distinção entre maiúsculas e minúsculas. Por isso, faz diferença se você inserir Home , hOme ou home . Além disso, espero que você veja agora que há uma diferença entre /home e home . O primeiro é endereçado absoluto, enquanto o último é relativo ao seu diretório atual.

    
por qbi 24.12.2012 / 22:51
7
sharon@sharon:~$ cd Home 
bash: cd: Home: No such file or directory 

O pequeno cedilla ~ indica que você já está no diretório / home / sharon. Quando você pede por 'cd Home' o terminal procura por / home / sharon / Home. Não há nenhum.

sharon@sharon:~$ cd /Home 
bash: cd: /Home: No such file or directory 

Agora você está pedindo, dada a barra inicial, para ir para um diretório acima do local atual; isso é / home / Home. Não há nenhum.

sharon@sharon:~$ cd Documents 
sharon@sharon:~/Documents$

Sucesso!

sharon@sharon:~/Documents$ cd /Downloads 
bash: cd: /Downloads: No such file or directory 

Eu não tenho muita certeza de onde exatamente isso é. Se você quiser mudar de / home / sharon / Documents para / home / sharon / Downloads, por favor tente:

cd ~/Downloads

Se você quiser ir diretamente para seu diretório pessoal, que é / home / sharon, simplesmente faça:

cd

Além disso, você pode voltar atrás com

cd ..

E você pode imprimir o diretório em que você está trabalhando (print working directory)

pwd
    
por chili555 24.12.2012 / 22:32
3

O comando informa por que: Não existe tal diretório.

Nomes de arquivo são sensíveis a maiúsculas e minúsculas, por isso é / home, não / Home. Sem uma barra inicial, supõe-se que seja relativo ao diretório atual, e o diretório Downloads não está em ~ / Documents, nem está em /, mas em seu diretório inicial, para o qual ~ é um atalho, portanto é ~ / Documents.

    
por psusi 24.12.2012 / 22:22
0

Eu tenho que responder sobre isso, porque eu não posso comentar sobre respostas -.-

  

O que significa a barra principal? - n00b

isso significa que a fina sobre a qual você está falando é um diretório e não um arquivo. Os arquivos não precisam ter finalizações de arquivo como no Windows, portanto, ~/thisIsAFile seria um arquivo em seu diretório inicial, mas ~/thisIsAFile/ seria um diretório / uma pasta.

  

O que significa ./ significa? - n00b

Isso significa que o arquivo que você deseja acessar está em seu diretório atual.

Outras dicas úteis:

Você pode voltar uma pasta com

cd ..

E você pode encontrar o caminho em que você está (print working directory)

pwd
    
por a2r 24.12.2012 / 23:01