Linux Professional Institute Learning Logo.
Ir para o conteúdo principal
  • Home
    • Todos os recursos
    • LPI Materiais Didáticos
    • Colabore Conosco
    • Publishing Partners
    • Seja um Publishing Partner
    • Quem Somos
    • FAQ
    • Colaboradores
    • Contato
  • LPI.org
2.3 Lição 1
Tópico 1: A comunidade Linux e a carreira Open Source
1.1 A evolução do Linux e sistemas operacionais populares
  • 1.1 Lição 1
1.2 Principais Aplicações Open Source
  • 1.2 Lição 1
1.3 Entendendo o Software Open Source e suas Licenças
  • 1.3 Lição 1
1.4 Habilidades ICT e trabalhando no Linux
  • 1.4 Lição 1
Tópico 2: Encontrando seu caminho em um Sistema Linux
2.1 O básico sobre a linha de comando
  • 2.1 Lição 1
  • 2.1 Lição 2
2.2 Usando a linha de comando para conseguir ajuda
  • 2.2 Lição 1
2.3 Usando diretórios e listando arquivos
  • 2.3 Lição 1
  • 2.3 Lição 2
2.4 Criando, Movendo e Deletando Arquivos
  • 2.4 Lição 1
Tópico 3: O Poder da Linha de Comando
3.1 Empacotando arquivos na linha de comando
  • 3.1 Lição 1
3.2 Pesquisando e extraindo dados de arquivos
  • 3.2 Lição 1
  • 3.2 Lição 2
3.3 Transformando comandos em Scripts
  • 3.3 Lição 1
  • 3.3 Lição 2
Tópico 4: O Sistema Operacional Linux
4.1 Escolhendo um Sistema Operacional
  • 4.1 Lição 1
4.2 Entendendo o Hardware do Computador
  • 4.2 Lição 1
4.3 Onde os dados são armazenados
  • 4.3 Lição 1
  • 4.3 Lição 2
4.4 Seu Computador na Rede
  • 4.4 Lição 1
Tópico 5: Segurança e Permissões de Arquivos
5.1 Segurança Básica e Identificação de Tipos de Usuários
  • 5.1 Lição 1
5.2 Criando Usuários e Grupos
  • 5.2 Lição 1
5.3 Gerenciando permissões e donos de arquivos
  • 5.3 Lição 1
5.4 Diretórios e arquivos especiais
  • 5.4 Lição 1
How to get certified
  1. Tópico 2: Encontrando seu caminho em um Sistema Linux
  2. 2.3 Usando diretórios e listando arquivos
  3. 2.3 Lição 1

2.3 Lição 1

Introdução

Certificação:

Linux Essentials

Versão:

1.6

Tópico:

2 Como se orientar em um sistema Linux

Objetivo:

2.3 Como usar diretórios e listar arquivos

Lição:

1 de 2

Arquivos e diretórios

O sistema de arquivos do Linux é semelhante ao sistema de arquivos de outros sistemas operacionais, pois contém arquivos e diretórios. Os arquivos contêm dados, como texto legível por humanos, programas executáveis ou dados binários usados pelo computador. Os diretórios são usados para organizar o sistema de arquivos. Eles podem conter arquivos e outros diretórios.

$ tree

Documents
├── Mission-Statement.txt
└── Reports
    └── report2018.txt

1 directory, 2 files

Neste exemplo, Documents é um diretório que contém um arquivo (Mission-Statement.txt) e um subdiretório (Reports). O diretório Reports, por sua vez, contém um arquivo chamado report2018.txt. O diretório Documents é considerado o pai do diretório Reports.

Tip

Se o comando tree não estiver disponível no seu sistema, instale-o usando o gerenciador de pacotes da sua distribuição Linux. Consulte a lição sobre gerenciamento de pacotes para aprender como fazer isso.

Nomes de arquivos e diretórios

Os nomes de arquivos e diretórios no Linux podem conter letras minúsculas e maiúsculas, números, espaços e caracteres especiais. No entanto, como muitos caracteres especiais têm um significado preciso no shell do Linux, é recomendável não usar espaços ou caracteres especiais ao nomear arquivos ou diretórios. Para usar espaços, por exemplo, é preciso que o caractere de escape \ seja inserido corretamente:

$ cd Mission\ Statements

Além disso, veja o nome do arquivo report2018.txt. Os nomes de arquivos podem conter um sufixo após o ponto final (.). Ao contrário do que acontece no Windows, esse sufixo não tem significado especial no Linux; ele existe para a compreensão humana. Em nosso exemplo, .txt indica para nós que este é um arquivo de texto sem formatação, embora, tecnicamente, ele possa conter qualquer tipo de dados.

Navegando no sistema de arquivos

Como obter a localização atual

Os shells do Linux, como o Bash, são baseados em texto, e por isso é importante conhecer sua localização atual ao navegar no sistema de arquivos. O prompt de comando fornece essas informações:

user@hostname ~/Documents/Reports $

Trataremos de informações como user e hostname futuramente. Graças ao prompt, sabemos que nossa localização atual é o diretório Reports. Da mesma forma, o comando pwd serve para imprimir o diretório de trabalho:

user@hostname ~/Documents/Reports $ pwd
/home/user/Documents/Reports

A relação entre os diretórios é representada com uma barra (/). Sabemos que Reports é um subdiretório de Documents, que por sua vez é um subdiretório de user, localizado em um diretório chamado home. O home não parece ter um diretório pai, mas isso não é verdade. O pai de home se chama root e é representado pela primeira barra (/). Explicaremos o diretório root em uma seção posterior.

Note que a saída do comando pwd difere um pouco do caminho mostrado no prompt de comando. Em vez de / home/user, o prompt de comando contém um til (~). O til é um caractere especial que representa o diretório inicial do usuário. Trataremos disso em mais detalhes na próxima lição.

Como listar o conteúdo do diretório

O conteúdo do diretório atual é listado com o comando ls:

user@hostname ~/Documents/Reports $ ls
report2018.txt

Note que o ls não fornece informações sobre o diretório pai. Da mesma forma, por padrão, ls não exibe nenhuma informação sobre o conteúdo dos subdiretórios. O ls pode apenas “ver” o que está no diretório atual.

Como mudar de diretório

A navegação no Linux é feita principalmente com o comando cd. Esse comando muda de diretório. Usando o comando pwd como anteriormente, sabemos que nosso diretório atual é /home/user/Documents/Reports. Podemos mudar nosso diretório atual inserindo um novo caminho:

user@hostname ~ $ cd /home/user/Documents
user@hostname ~/Documents $ pwd
/home/user/Documents
user@hostname ~/Documents $ ls
Mission-Statement.txt Reports

Neste novo local, podemos “ver” Mission-Statement.txt e o subdiretório Reports, mas não o conteúdo de nosso subdiretório. Podemos navegar de volta para Relatórios assim:

user@hostname ~/Documents $ cd Reports
user@hostname ~/Documents/Reports $ pwd
/home/user/Documents/Reports
user@hostname ~/Documents/Reports $ ls
report2018.txt

Agora estamos de volta onde começamos.

Caminhos absolutos e relativos

O comando pwd sempre imprime um caminho absoluto, ou seja, o caminho contém todas as etapas, desde o início do sistema de arquivos (/) até o final (Reports). Os caminhos absolutos sempre começam com um /.

/
└── home
    └── user
        └── Documents
            └── Reports

O caminho absoluto contém todas as informações necessárias para se chegar a Reports a partir de qualquer lugar no sistema de arquivos. A desvantagem é que é tedioso digitá-lo inteiro.

O segundo exemplo (cd Reports) foi muito mais fácil de digitar. Esse é um exemplo de caminho relativo. Os caminhos relativos são mais curtos, mas só têm significado em relação à sua localização atual. Considere esta analogia: eu estou visitando você em sua casa. Você me diz que seu amigo mora na casa ao lado. Entenderei esse local porque tem relação com meu local atual. Mas se você me disser isso por telefone, não poderei encontrar a casa do seu amigo. Você precisará me fornecer o endereço completo.

Caminhos relativos especiais

O shell do Linux oferece maneiras de encurtar os caminhos durante a navegação. Para revelar os primeiros caminhos especiais, inserimos o comando ls com a flag -a. Essa flag modifica o comando ls para que todos os arquivos e diretórios sejam listados, incluindo os arquivos e diretórios ocultos:

user@hostname ~/Documents/Reports $ ls -a
.
..
report2018.txt
Note

Consulte a página man de ls para entender o que -a está fazendo aqui.

Esse comando revelou dois resultados adicionais: Estes são caminhos especiais. Eles não representam novos arquivos ou diretórios, mas sim diretórios que você já conhece:

.

Indica o local atual (neste caso, Reports).

..

Indica o diretório pai (neste caso, Documents).

Geralmente, não é necessário usar o caminho relativo especial para o local atual. É mais fácil e compreensível digitar report2018.txt do que digitar ./Report2018.txt. Mas o . tem usos que você aprenderá nas próximas seções. Por enquanto, vamos nos concentrar no caminho relativo para o diretório pai:

user@hostname ~/Documents/Reports $ cd ..
user@hostname ~/Documents $ pwd
/home/user/Documents

O exemplo de cd é muito mais fácil quando se usa .. em vez do caminho absoluto. Além disso, podemos combinar esse padrão para subir rapidamente pela árvore de arquivos.

user@hostname ~/Documents $ cd ../..
$ pwd
/home

Exercícios Guiados

  1. Identifique se cada um dos caminhos a seguir é absoluto ou relativo:

    /home/user/Downloads

    ../Reports

    /var

    docs

    /

  2. Observe a seguinte estrutura de arquivo. Nota: Os diretórios terminam com uma barra (/) quando tree é chamado com a opção -F. Você precisará de privilégios elevados para executar o comando tree no diretório root (/). O exemplo de saída a seguir é apenas demonstrativo e não é indicativo de uma estrutura de diretório completa. Use-o para responder às seguintes questões:

    $ tree /
    
    /
    ├── etc/
    │   ├── network/
    │   │   └── interfaces
    │   ├── systemd/
    │   │   ├── resolved.conf
    │   │   ├── system/
    │   │   ├── system.conf
    │   │   ├── user/
    │   │   └── user.conf
    │   └── udev/
    │       ├── rules.d/
    │       └── udev.conf
    └── home/
        ├── lost+found/
        └── user/
            └── Documents/
    
    12 directories, 5 files

    Use essa estrutura para responder às questões a seguir.

    Um usuário insere os seguintes comandos:

    $ cd /etc/udev
    $ ls -a

    Qual será a saída do comando ls -a?

  3. Digite o comando mais curto possível para cada um dos seguintes enunciados:

    • Seu local atual é root (/). Digite o comando para navegar até lost+found dentro do diretório home (exemplo):

      $ cd home/lost+found
    • Seu local atual é root (/). Digite o comando para navegar até o diretório /etc/network/.

    • Seu local atual é /home/user/Documents/. Navegue até o diretório /etc/.

    • Seu local atual é /etc/systemd/system/. Navegue até o diretório /home/user/.

  4. Considere os seguintes comandos:

    $ pwd
    /etc/udev/rules.d
    $ cd ../../systemd/user
    $ cd ..
    $ pwd

    Qual a saída do comando pwd final?

Exercícios Exploratórios

  1. Supondo que um usuário tenha inserido os seguintes comandos:

    $ mkdir "this is a test"
    $ ls
    this is a test

    Qual comando cd permitiria entrar nesse diretório?

  2. Tente o mesmo exercício novamente, mas depois de digitar cd this, pressione a tecla TAB. O que é exibido no prompt?

    Isso é um exemplo de autocompletar, uma ferramenta inestimável não somente para poupar tempo como também para evitar erros de digitação.

  3. Tente criar um diretório cujo nome contenha um caractere \. Exiba o nome do diretório com ls e remova o diretório.

Resumo

Nesta lição, você aprendeu:

  • As bases do sistema de arquivos do Linux

  • A diferença entre diretórios pai e subdiretórios

  • A diferença entre caminhos de arquivo absolutos e relativos

  • Os caminhos relativos especiais . e ..

  • Navegação no sistema de arquivos usando cd

  • Mostrar seu local atual usando pwd

  • Listar todos os arquivos e diretórios usando ls -a

Os seguintes comandos foram discutidos nesta lição:

cd

Muda o diretório atual.

pwd

Imprime o caminho do diretório de trabalho atual

ls

Lista o conteúdo de um diretório e exibe as propriedades dos arquivos

mkdir

Cria um novo diretório

tree

Exibe uma lista hierárquica de uma árvore de diretórios

Respostas aos Exercícios Guiados

  1. Identifique se cada um dos caminhos a seguir é absoluto ou relativo:

    /home/user/Downloads

    absoluto

    ../Reports

    relativo

    /var

    absoluto

    docs

    relativo

    /

    absoluto

  2. Observe a seguinte estrutura de arquivo. Nota: Os diretórios terminam com uma barra (/) quando tree é chamado com a opção -F. Você precisará de privilégios elevados para executar o comando tree no diretório root (/). O exemplo de saída a seguir é apenas demonstrativo e não é indicativo de uma estrutura de diretório completa. Use-o para responder às seguintes questões:

    $ tree /
    
    /
    ├── etc/
    │   ├── network/
    │   │   └── interfaces
    │   ├── systemd/
    │   │   ├── resolved.conf
    │   │   ├── system/
    │   │   ├── system.conf
    │   │   ├── user/
    │   │   └── user.conf
    │   └── udev/
    │       ├── rules.d/
    │       └── udev.conf
    └── home/
        ├── lost+found/
        └── user/
            └── Documents/
    
    12 directories, 4 files

    Um usuário insere os seguintes comandos:

    $ cd /etc/udev
    $ ls -a

    Qual será a saída do comando ls -a?

    . .. rules.d udev.conf
  3. Digite o comando mais curto possível para cada um dos seguintes enunciados:

    • Seu local atual é root (/). Digite o comando para navegar até lost+found dentro do diretório home (exemplo):

      $ cd home/lost+found
    • Seu local atual é root (/). Digite o comando para navegar até o diretório /etc/network/.

      $ cd etc/network
    • Seu local atual é /home/user/Documents/. Navegue até o diretório /etc/.

      $ cd /etc
    • Seu local atual é /etc/systemd/system/. Navegue até o diretório /home/user/.

      $ cd /home/user
  4. Considere os seguintes comandos:

    $ pwd
    /etc/udev/rules.d
    $ cd ../../systemd/user
    $ cd ..
    $ pwd

    Qual a saída do comando pwd final?

    /etc/systemd

Respostas aos Exercícios Exploratórios

  1. Supondo que um usuário tenha inserido os seguintes comandos:

    $ mkdir "this is a test"
    $ ls
    this is a test

    Qual comando cd permitiria entrar nesse diretório?

    $ cd this\ is\ a\ test
  2. Tente o mesmo exercício novamente, mas depois de digitar cd this, pressione a tecla TAB. O que é exibido no prompt?

    $ cd this\ is\ a\ test

    Isso é um exemplo de autocompletar, uma ferramenta inestimável não somente para poupar tempo como também para evitar erros de digitação.

  3. Tente criar um diretório cujo nome contenha um caractere \. Exiba o nome do diretório com ls e remova o diretório.

    É possível escapar da barra usando outra barra (\\) ou aspas simples ou duplas em torno do nome completo do diretório:

    $ mkdir my\\dir
    $ ls
    'my\dir'
    $ rmdir 'my\dir'

Linux Professional Insitute Inc. Todos os direitos reservados. Visite o site dos Materiais Didáticos: https://learning.lpi.org
31/5000 Este trabalho está licenciado sob a Licença Creative Commons Atribuição-Uso Não-Comercial-NãoDerivativos 4.0 Internacional.

Próxima Lição

2.3 Usando diretórios e listando arquivos (2.3 Lição 2)

Ir para a próxima lição

Linux Professional Insitute Inc. Todos os direitos reservados. Visite o site dos Materiais Didáticos: https://learning.lpi.org
31/5000 Este trabalho está licenciado sob a Licença Creative Commons Atribuição-Uso Não-Comercial-NãoDerivativos 4.0 Internacional.

A LPI é uma organização sem fins lucrativos.

© 2023 O Linux Professional Institute (LPI) é um organismo de apoio aos profissionais de Open Source e referência mundial em certificação. Com mais de 200.000 pessoas certificadas, somos o principal organismo de certificação independente para Linux e Open Source do mundo. O LPI certificou profissionais de mais de 180 países, oferece exames em diversos idiomas e tem centenas de parcerias de formação em todo o globo.

Nossa missão é proporcionar oportunidades econômicas e criativas para todos, tornando universalmente acessível a certificação de conhecimentos e competências em matéria de Open Source.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Entre em Contato
  • Política de Privacidade e Cookies

Encontrou um erro ou quer ajudar a aprimorar esta página? Escreva pra nós.

© 1999–2023 The Linux Professional Institute Inc. Todos os direitos reservados.