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.2 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.2 Usando a linha de comando para conseguir ajuda
  3. 2.2 Lição 1

2.2 Lição 1

Certificação:

Linux Essentials

Versão:

1.6

Tópico:

2 Como se orientar em um sistema Linux

Objetivo:

2.2 Como obter ajuda na linha de comando

Lição:

1 de 1

Introdução

A linha de comando é uma ferramenta bastante complexa. Cada comando possui suas próprias opções únicas; por isso, é essencial conhecer a documentação ao se trabalhar com um sistema Linux. Além do diretório /usr/share/doc/, que armazena a maior parte da documentação, diversas outras ferramentas fornecem informações sobre o uso dos comandos do Linux. Este capítulo se concentra em métodos para acessar essa documentação, com o objetivo de obter ajuda.

Existem vários métodos para obter ajuda na linha de comando do Linux. Alguns exemplos são man, help e info. Para o Linux Essentials, focaremos em man e info, que são as ferramentas mais usadas para obter ajuda.

Outro tópico deste capítulo será a localização de arquivos. Trabalharemos principalmente com o comando locate.

Como obter ajuda na linha de comando

Ajuda interna

Quando são iniciados com o parâmetro --help, a maioria dos comandos exibe algumas breves instruções sobre seu uso. Embora nem todos os comandos ofereçam essa opção, ainda vale a pena experimentá-la na primeira vez que se usa o comando para aprender mais sobre os parâmetros dele. Esteja ciente de que as instruções de --help geralmente são bastante concisas em comparação com outras fontes de documentação que discutiremos nesta lição.

Páginas man

A maioria dos comandos inclui uma página de manual, ou página “man”. Essa documentação geralmente é instalada com o software e pode ser acessada com o comando man. O comando cuja página de manual deve ser exibida é adicionado a man na forma de argumento:

$ man mkdir

Esse comando abre a página man de mkdir. Use as setas direcionais ou a barra de espaço para navegar pela página do manual. Para sair da página man, pressione Q.

Cada página man é dividida em no máximo 11 seções, embora muitas delas sejam opcionais:

Seção Descrição

NAME

Nome do comando e breve descrição

SYNOPSIS

Descrição da sintaxe do comando

DESCRIPTION

Descrição dos efeitos do comando

OPTIONS

Opções disponíveis

ARGUMENTS

Argumentos disponíveis

FILES

Arquivos auxiliares

EXAMPLES

Uma amostra da linha de comando

SEE ALSO

Referências cruzadas aos tópicos relacionados

DIAGNOSTICS

Mensagens de Advertência e Erro

COPYRIGHT

Autor(es) do comando

BUGS

Limitações conhecidas do comando

Na prática, a maioria das páginas de manual não contém todas essas partes.

As páginas man estão organizadas em oito categorias, numeradas de 1 a 8:

Categoria Descrição

1

Comando do usuário

2

Chamadas do sistema

3

Funções da biblioteca C

4

Drivers e arquivos de dispositivo

5

Arquivos de configuração e formatos de arquivo

6

Jogos

7

Miscelânea

8

Comandos do administrador do sistema

9

Funções do kernel (não padrão)

Cada página de manual pertence a exatamente uma seção. No entanto, seções diferentes podem conter páginas de manual com o mesmo nome. Vejamos, por exemplo, o comando passwd. Esse comando pode ser usado para alterar a senha de um usuário. Como passwd é um comando do usuário, sua página de manual reside na seção 1. Além do comando passwd, o arquivo de banco de dados de senhas /etc/passwd também possui uma página de manual chamada passwd. Como neste caso se trata de um arquivo de configuração, ele pertence à seção 5. Nas referências a uma página de manual, a categoria é frequentemente adicionada ao nome da página, por exemplo passwd(1) ou passwd(5), para identificar a página respectiva.

Por padrão, man passwd exibe a primeira página man disponível; neste caso, passwd(1). A categoria da página man desejada pode ser especificada em um comando como man 1 passwd ou man 5 passwd.

Já explicamos como navegar por uma página man e como retornar à linha de comando. Internamente, o man usa o comando less para exibir o conteúdo da página. less permite procurar texto dentro de uma página man. Para procurar a palavra linux, podemos simplesmente digitar /linux para pesquisar a partir do ponto em que estamos na página, ou ?Linux para iniciar uma pesquisa reversa. Esta ação destaca todos os resultados correspondentes e move a página para a primeira correspondência destacada. Nos dois casos, basta digitar N para pular até a correspondência seguinte. Para encontrar mais informações sobre esses recursos adicionais, pressione H; será exibido um menu com todas as informações.

Páginas info

Outra ferramenta muito útil ao trabalhar com o sistema Linux são as páginas de informações, ou info. As páginas info geralmente são mais detalhadas que as páginas man e são formatadas em hipertexto, semelhantes às páginas web na internet.

Para exibir as páginas info, usamos:

$ info mkdir

Nessas páginas, o comando info lê um arquivo de informações estruturado em nós individuais dentro de uma árvore. Cada nó contém um tópico simples e o comando info inclui hiperlinks que ajudam a passar de um para o outro. Para acessar o link, pressione Enter, com o cursor pousado sobre um dos asteriscos principais.

A exemplo de man, a ferramenta info também inclui comandos de navegação na página. Para descobrir mais sobre esses comandos, pressione ? enquanto estiver na página de informações. Essas ferramentas o ajudarão a navegar na página mais facilmente e a entender como acessar os nós e mover-se dentro da árvore de nós.

O diretório /usr/share/doc/

Como já mencionado, o diretório /usr/share/doc/ armazena a maior parte da documentação dos comandos que estão em uso. Essa pasta contém um diretório para a maioria dos pacotes instalados no sistema. O nome do diretório geralmente é o nome do pacote e, ocasionalmente, a versão. Esses diretórios incluem um arquivo README ou readme.txt contendo a documentação básica do pacote. Juntamente com o arquivo README, a pasta também pode conter outros arquivos de documentação, como o registro de alterações (changelog), que inclui o histórico do programa em detalhes, ou exemplos de arquivos de configuração para aquele pacote específico.

As informações contidas no arquivo README variam de um pacote a outro. Todos os arquivos são gravados em texto simples e, portanto, podem ser lidos em qualquer editor de texto de sua preferência. O número exato e os tipos de arquivos dependem do pacote. Verifique alguns dos diretórios para obter uma visão geral de seu conteúdo.

Como localizar arquivos

O comando locate

Um sistema Linux é construído a partir de diversos diretórios e arquivos. O Linux tem muitas ferramentas que permitem localizar um arquivo específico em um sistema. A mais rápida é o comando locate.

O locate pesquisa dentro de um banco de dados e, em seguida, gera todos os nomes que correspondem à cadeia de caracteres (string) especificada:

$ locate note
/lib/udev/keymaps/zepto-znote
/usr/bin/zipnote
/usr/share/doc/initramfs-tools/maintainer-notes.html
/usr/share/man/man1/zipnote.1.gz

O comando locate também suporta o uso de curingas e expressões regulares; assim, o termo de pesquisa não precisa corresponder ao nome inteiro do arquivo desejado. Trataremos mais a fundo das expressões regulares em um capítulo posterior.

Por padrão, locate se comporta como se o termo de busca estivesse cercado por asteriscos. Portanto, locate TERMO é o mesmo que locate *TERMO*. Isso permite fornecer apenas substrings em vez do nome exato do arquivo. Se quiser modificar esse comportamento, use as diferentes opções especificadas na página man de locate.

Como locate consulta um banco de dados, você pode não encontrar um arquivo que foi criado recentemente. O banco de dados é gerenciado por um programa chamado updatedb. Ele costuma ser executado periodicamente, mas se você possui privilégios de root e precisa atualizar o banco de dados imediatamente, pode executar o comando updatedb a qualquer momento.

O comando find

O find é outra ferramenta muito popular usada para procurar arquivos. Esse comando tem uma abordagem diferente do locate. O comando find pesquisa recursivamente em uma árvore de diretórios, incluindo os subdiretórios. O find faz essa pesquisa a cada chamada, em vez de manter um banco de dados como o locate. A exemplo do locate, o find também suporta caracteres curinga e expressões regulares.

O find requer pelo menos o local em que ele deve procurar. Além disso, podemos adicionar expressões para filtrar os arquivos a exibir. Um exemplo é a expressão -name, que procura por arquivos com um nome específico:

~$ cd Downloads
~/Downloads
$ find . -name thesis.pdf
./thesis.pdf
~/Downloads
$ find ~ -name thesis.pdf
/home/carol/Downloads/thesis.pdf

O primeiro comando find procura por arquivos dentro do atual diretório Downloads, ao passo que o segundo busca pelo arquivo no diretório Home do usuário.

O comando find é muito complexo e, portanto, não será tratado no exame Linux Essentials. No entanto, trata-se de uma ferramenta poderosa e particularmente útil no cotidiano.

Exercícios Guiados

  1. Use o comando man para descobrir o que cada comando faz:

    Comando Descrição

    ls

    Exibe o conteúdo de um diretório.

    cat

    cut

    cd

    cp

    mv

    mkdir

    touch

    wc

    passwd

    rm

    rmdir

    more

    less

    whereis

    head

    tail

    sort

    tr

    chmod

    grep

  2. Abra a página info de ls e identifique o MENU.

    • Quais são as opções?

    • Encontre a opção que permite classificar os dados de saída por data de modificação.

  3. Exiba o caminho para os três primeiros arquivos README. Use o comando man para identificar a opção correta para locate.

  4. Crie um arquivo chamado test em seu diretório Home. Encontre seu caminho absoluto usando o comando locate.

  5. Você o encontrou imediatamente? O que teve de fazer para que locate o encontrasse?

  6. Procure pelo arquivo de teste criado anteriormente usando o comando find. Qual sintaxe você usou e qual o caminho absoluto?

Exercícios Exploratórios

  1. Um dos comandos na tabela acima não tem uma página man. Qual é esse comando e por que você acha que ele não tem uma página man?

  2. Usando os comandos da tabela acima, crie a seguinte árvore de arquivos. Os nomes que começam com letra maiúscula são diretórios e os que começam em minúscula são arquivos.

    User
    ├── Documents
    |   ├──Hello
    |   |   ├──hey2
    |   |   ├──helloa
    |   |   └──ola5
    |   └──World
    |       └──earth9
    ├── Downloads
    |   ├──Music
    |   └──Songs
    |       ├──collection1
    |       └──collection2
    ├── Test
    |   └── passa
    └── test
  3. Exiba na tela o diretório de trabalho atual, incluindo as subpastas.

  4. Procure dentro da árvore por todos os arquivos terminados com um número.

  5. Remova a árvore de diretórios inteira com um único comando.

Resumo

Nesta lição, você aprendeu:

  • Como conseguir ajuda

  • Como usar o comando man

  • Como navegar na página man

  • Diferentes seções da página man

  • Como usar o comando info

  • Como navegar entre diferentes nós

  • Como buscar arquivos dentro do sistema

Comandos usados nos exercícios:

man

Exibe uma página de manual.

info

Exibe uma página de informações.

locate

Busca no banco de dados de locate por arquivos com um nome específico.

find

Busca no sistema de arquivos por nomes que correspondam a uma série de critérios de seleção.

updatedb

Atualiza o banco de dados de locate.

Respostas aos Exercícios Guiados

  1. Use o comando man para descobrir o que cada comando faz:

    Comando Descrição

    ls

    Exibe o conteúdo de um diretório.

    cat

    Concatena ou visualiza arquivos de texto

    cut

    Remove seções de um arquivo de texto

    cd

    Passa para um diretório diferente

    cp

    Copia um arquivo

    mv

    Move um arquivo (também pode ser usado para renomear)

    mkdir

    Cria um novo diretório

    touch

    Cria um arquivo ou modifica a hora e data da última modificação de um arquivo existente

    wc

    Conta o número de palavras, linhas ou bytes de um arquivo

    passwd

    Muda a senha de um usuário

    rm

    Remove um arquivo

    rmdir

    Remove um diretório

    more

    Visualiza arquivos de texto uma tela de cada vez

    less

    Visualiza arquivos de texto, permite rolar uma linha ou página por vez, para cima ou para baixo

    whereis

    Exibe o caminho até um programa especificado e arquivos de manual relacionados

    head

    Exibe as primeiras linhas de um arquivo

    tail

    Exibe as últimas linhas de um arquivo

    sort

    Ordena um arquivo numérica ou alfabeticamente

    tr

    Traduz ou remove caracteres de um arquivo

    chmod

    Altera as permissões de um arquivo

    grep

    Busca dentro de um arquivo

  2. Abra a página info de ls e identifique o MENU.*

    • Quais são as opções?

      • Quais arquivos são listados

      • Qual informação é listada

      • Classificação do resultado

      • Informações sobre a versão

      • Formatação geral da saída

      • Formatação dos registros de data e hora do arquivo

      • Formatação dos nomes dos arquivos

    • Encontre a opção que permite classificar os dados de saída por data de modificação.

      -t ou --sort=time

  3. Exiba o caminho para os três primeiros arquivos README. Use o comando man para identificar a opção correta para locate.

    $ locate -l 3 README
    /etc/alternatives/README
    /etc/init.d/README
    /etc/rc0.d/README
  4. Crie um arquivo chamado test em seu diretório Home. Encontre seu caminho absoluto usando o comando locate.

    $ touch test
    $ locate test
    /home/user/test
  5. Você o encontrou imediatamente? O que teve de fazer para que locate o encontrasse?

    $ sudo updatedb

    O arquivo acaba de ser criado, portanto ainda não foi registrado no banco de dados.

  6. Procure pelo arquivo de teste criado anteriormente usando o comando find. Qual sintaxe você usou e qual o caminho absoluto?

    $ find ~ -name test

    ou

    $ find . -name test
    /home/user/test

Respostas aos Exercícios Exploratórios

  1. Um dos comandos na tabela acima não tem uma página man. Qual é esse comando e por que você acha que ele não tem uma página man?

    O comando cd. Ele não tem uma página man porque é um comando interno do shell.

  2. Usando os comandos da tabela acima, crie a seguinte árvore de arquivos. Os nomes que começam com letra maiúscula são diretórios e os que começam em minúscula são arquivos.

    User
    ├── Documents
    |   ├──Hello
    |   |   ├──hey2
    |   |   ├──helloa
    |   |   └──ola5
    |   └──World
    |       └──earth9
    ├── Downloads
    |   ├──Music
    |   └──Songs
    |       ├──collection1
    |       └──collection2
    ├── Test
    |   └── passa
    └── test

    A solução é uma combinação dos comandos mkdir e touch.

  3. Exiba na tela o diretório de trabalho atual, incluindo as subpastas.

    $ ls -R
  4. Procure dentro da árvore por todos os arquivos terminados com um número.

    $ find ~ -name "*[0-9]"
    $ locate "*[0-9]"
  5. Remova a árvore de diretórios inteira com um único comando.

    $ rm -r Documents Downloads Test test

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 1)

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.