Acesso ao Prompt de Comando no Red Hat Enterprise Linux

Red Hat Enterprise LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você embarcará em uma jornada fundamental no mundo das operações de linha de comando Linux, especificamente dentro de um ambiente Red Hat Enterprise Linux (RHEL). Você obterá experiência prática com comandos essenciais para identificar informações do usuário e do sistema, gerenciar senhas de usuário e inspecionar vários tipos de arquivos.

Através de exercícios práticos, você aprenderá a visualizar o conteúdo de arquivos usando cat, head e tail, contar estatísticas de arquivos e navegar eficientemente pelo seu histórico de comandos. Além disso, você dominará atalhos cruciais de edição de linha de comando, aprimorando sua produtividade e proficiência no gerenciamento de sistemas Linux.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível intermediário com uma taxa de conclusão de 53%. Recebeu uma taxa de avaliações positivas de 99% dos estudantes.

Identificar Usuário e Hora do Sistema

Nesta etapa, você aprenderá como identificar o usuário atual logado no sistema e como exibir a data e hora atuais do sistema usando comandos básicos do Linux. Compreender esses comandos fundamentais é crucial para navegar e gerenciar qualquer ambiente Linux.

Primeiro, vamos descobrir qual usuário você está logado atualmente. O comando whoami é usado para este propósito. Ele exibe o nome de usuário efetivo do usuário atual.

Digite o seguinte comando no seu terminal:

whoami
Screenshot of whoami command output

Você deverá ver labex como saída, indicando que você está logado como o usuário labex.

labex

Em seguida, exploraremos o comando date. Este comando é usado para exibir ou definir a data e hora do sistema. Quando usado sem nenhuma opção, ele exibe a data e hora atuais em um formato padrão.

Execute o comando date:

date

A saída mostrará o dia da semana atual, mês, dia do mês, hora (HH:MM:SS), fuso horário e ano. A saída exata variará dependendo de quando você executar o comando.

Mon Jul 22 10:30:45 AM UTC 2024

O comando date é muito flexível e permite formatar a saída de várias maneiras usando especificadores de formato. Por exemplo, para exibir apenas a hora atual no formato de 24 horas (HH:MM), você pode usar +%R.

Tente exibir apenas a hora:

date +%R

A saída será semelhante a:

10:30

Para exibir apenas a data atual no formato MM/DD/AAAA, você pode usar +%x.

Tente exibir apenas a data:

date +%x

A saída será semelhante a:

07/22/2024

Finalmente, você pode executar vários comandos em uma única linha separando-os com um ponto e vírgula (;). Isso pode ser útil para executar rapidamente uma sequência de comandos.

Vamos tentar executar whoami e date na mesma linha:

whoami; date

Você verá a saída de ambos os comandos, um após o outro:

labex
Mon Jul 22 10:30:45 AM UTC 2024
Screenshot of whoami and date commands output

Gerenciar Senhas de Usuário e Visualizar Tipos de Arquivo

Nesta etapa, você aprenderá como alterar a senha de um usuário e como determinar o tipo de um arquivo usando o comando file. Compreender os tipos de arquivo é essencial para trabalhar com vários formatos de dados e executáveis no Linux.

Primeiro, vamos praticar a alteração da senha de um usuário. O comando passwd é usado para alterar senhas de usuário. Para o usuário labex, você será solicitado a digitar a senha atual e, em seguida, a nova senha duas vezes. Lembre-se, a senha atual para labex é labex.

Digite o seguinte comando no seu terminal:

passwd

Você será solicitado a inserir a senha atual e, em seguida, a nova senha duas vezes. Para este laboratório, você pode definir a nova senha como newpass (Importante: Não Altere a Senha Padrão para Este Laboratório.).

Changing password for user labex.
Current password: old_password  <-- Digite labex e pressione Enter
New password: new_password      <-- Digite newpass e pressione Enter
BAD PASSWORD: The password is shorter than 8 characters

Nota: Ao digitar senhas no Linux, nada aparecerá na tela por motivos de segurança. Este é um comportamento normal e não significa que a VM não está respondendo. O sistema ainda está recebendo sua entrada, mesmo que você não consiga ver os caracteres sendo digitados.

Isso mostra que a senha tem menos de 8 caracteres. No mundo real, você deve definir uma senha com pelo menos 8 caracteres e mais complexa. Mas para este laboratório, não alteraremos a senha, então você pode simplesmente pressionar Enter para pular a alteração da senha.

Em seguida, exploraremos o comando file. Este comando determina o tipo de um arquivo. É muito útil para entender que tipo de dados um arquivo contém, especialmente quando a extensão do arquivo está ausente ou é enganosa.

Vamos examinar o tipo do arquivo /etc/passwd. Este arquivo contém informações sobre todas as contas de usuário no sistema.

file /etc/passwd

A saída indicará que /etc/passwd é um arquivo de texto ASCII.

/etc/passwd: ASCII text

Agora, vamos verificar o tipo de um arquivo executável, como /bin/bash, que é o programa shell que você está usando atualmente.

file /bin/bash

A saída mostrará que /bin/bash é um arquivo executável, juntamente com detalhes sobre sua arquitetura e outras propriedades.

/bin/bash: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=<omitted>, for GNU/Linux <omitted>, stripped

Finalmente, vamos determinar o tipo de um diretório. Usaremos o diretório /home como exemplo.

file /home

A saída simplesmente afirmará que /home é um diretório.

/home: directory

Esses exemplos demonstram como o comando file pode ajudá-lo a identificar rapidamente a natureza de diferentes arquivos e diretórios em seu sistema Linux.

Inspecionar Conteúdo de Arquivos com cat, head e tail

Nesta etapa, você aprenderá como inspecionar o conteúdo de arquivos de texto usando três comandos essenciais do Linux: cat, head e tail. Esses comandos são fundamentais para visualizar o conteúdo de arquivos, especialmente arquivos de configuração e arquivos de log.

Primeiro, vamos usar o comando cat. O comando cat (abreviação de concatenate - concatenar) é usado principalmente para exibir o conteúdo de arquivos. Ele também pode ser usado para combinar vários arquivos em um só.

Vamos visualizar todo o conteúdo do arquivo /etc/passwd. Este arquivo contém informações da conta do usuário.

cat /etc/passwd

Você verá o conteúdo completo do arquivo /etc/passwd impresso no seu terminal. A saída será extensa, mostrando todas as entradas do usuário.

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...output omitted...

Agora, vamos criar dois arquivos de texto simples no seu diretório ~/project para demonstrar o cat com vários arquivos.

Crie file1.txt:

echo "Hello World!!" > ~/project/file1.txt

Crie file2.txt:

echo "Introduction to Linux commands." > ~/project/file2.txt

Agora, use cat para exibir o conteúdo de ambos os arquivos:

cat ~/project/file1.txt ~/project/file2.txt

A saída mostrará o conteúdo de file1.txt seguido por file2.txt.

Hello World!!
Introduction to Linux commands.

Em seguida, usaremos o comando head. O comando head exibe as primeiras linhas de um arquivo. Por padrão, ele mostra as primeiras 10 linhas.

Vamos visualizar as primeiras 10 linhas de /etc/passwd:

head /etc/passwd

Você verá as primeiras 10 linhas do arquivo /etc/passwd.

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

Você pode especificar o número de linhas a serem exibidas usando a opção -n. Por exemplo, para visualizar as primeiras 3 linhas:

head -n 3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

Finalmente, vamos usar o comando tail. O comando tail exibe as últimas linhas de um arquivo. Por padrão, ele também mostra as últimas 10 linhas.

Vamos visualizar as últimas 10 linhas de /etc/passwd:

tail /etc/passwd

Você verá as últimas 10 linhas do arquivo /etc/passwd.

systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:998:996:systemd Resolver:/:/sbin/nologin
systemd-network:x:997:995:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System Message Bus:/:/sbin/nologin
polkitd:x:996:994:User for polkitd:/:/sbin/nologin
unbound:x:995:993:Unbound DNS resolver:/:/sbin/nologin
tss:x:59:59:TPM software stack:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:980:978::/run/gnome-initial-setup/:/sbin/nologin
dnsmasq:x:979:977:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin

Semelhante ao head, você pode especificar o número de linhas a serem exibidas usando a opção -n. Por exemplo, para visualizar as últimas 3 linhas:

tail -n 3 /etc/passwd
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:980:978::/run/gnome-initial-setup/:/sbin/nologin
dnsmasq:x:979:977:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin

Esses comandos são inestimáveis para examinar rapidamente o conteúdo de arquivos sem abri-los em um editor de texto, o que é especialmente útil para arquivos grandes ou quando você só precisa verificar partes específicas.

Contar Estatísticas de Arquivos e Usar o Histórico de Comandos

Nesta etapa, você aprenderá como usar o comando wc para contar linhas, palavras e caracteres em arquivos e como usar efetivamente o recurso de histórico de comandos em seu terminal. Gerenciar o histórico de comandos é crucial para a eficiência e para lembrar comandos executados anteriormente.

Primeiro, vamos explorar o comando wc (word count - contagem de palavras). Este comando é usado para contar o número de linhas, palavras e caracteres em um arquivo.

Vamos contar as linhas, palavras e caracteres no arquivo /etc/passwd:

wc /etc/passwd

A saída mostrará três números seguidos pelo nome do arquivo: linhas, palavras e caracteres. Os números exatos podem variar ligeiramente dependendo da configuração do seu sistema.

41   98 2338 /etc/passwd

Você pode usar opções para exibir apenas contagens específicas:

  • -l para linhas
  • -w para palavras
  • -c para caracteres

Vamos contar apenas as linhas em /etc/passwd e /etc/group (que contém informações sobre grupos de usuários). Podemos fazer isso em uma única linha usando um ponto e vírgula.

wc -l /etc/passwd
wc -l /etc/group

Você verá a contagem de linhas para cada arquivo:

41 /etc/passwd
63 /etc/group

Agora, vamos contar apenas os caracteres em /etc/group e /etc/hosts (que mapeia nomes de host para endereços IP).

wc -c /etc/group /etc/hosts

A saída mostrará a contagem de caracteres para cada arquivo e uma contagem total.

883 /etc/group
114 /etc/hosts
997 total

Em seguida, aprenderemos sobre o histórico de comandos. Seu shell mantém um registro de todos os comandos que você executou. Isso é incrivelmente útil para reexecutar comandos ou lembrar o que você fez anteriormente.

Para exibir seu histórico de comandos, use o comando history:

history

Você verá uma lista numerada de todos os comandos que você inseriu em sua sessão atual e sessões anteriores. A saída variará muito dependendo da sua atividade.

...output omitted...
   23  clear
   24  whoami
   25  date
   26  file /etc/passwd
   27  cat /etc/passwd
   28  head /etc/passwd
   29  tail /etc/passwd
   30  wc /etc/passwd
   31  history

Você pode reexecutar um comando do seu histórico usando o ponto de exclamação (!) seguido pelo número do comando ou uma string.

Por exemplo, para reexecutar o comando no número 26 (que era file /etc/passwd no exemplo acima, mas será diferente para você), encontre seu número na saída do seu history e use-o:

!26 ## Substitua 26 pelo número real de 'file /etc/passwd' do seu histórico

O shell primeiro exibirá o comando que está prestes a executar e, em seguida, sua saída:

file /etc/passwd
/etc/passwd: ASCII text

Você também pode reexecutar o comando mais recente que começa com uma string específica. Por exemplo, para reexecutar o último comando que começou com wc:

!wc

Isso executará o último comando wc que você executou.

wc -c /etc/group /etc/hosts
883 /etc/group
114 /etc/hosts
997 total

Esses recursos de histórico podem acelerar significativamente seu fluxo de trabalho, permitindo que você recupere e reexecute rapidamente comandos complexos sem digitá-los novamente.

Praticar Atalhos de Edição na Linha de Comando

Nesta etapa, você aprenderá e praticará atalhos úteis de edição da linha de comando. Esses atalhos podem melhorar significativamente sua eficiência ao digitar e modificar comandos no terminal, permitindo que você navegue e edite texto sem constantemente usar o mouse.

Primeiro, vamos entender como escrever um comando longo em várias linhas. Isso pode melhorar a legibilidade de comandos complexos. Você pode usar uma barra invertida (\) no final de uma linha para indicar que o comando continua na próxima linha.

Vamos tentar exibir as primeiras 3 linhas de dois arquivos de dicionário usando um comando de várias linhas. Esses arquivos são normalmente encontrados em sistemas Linux e contêm listas de palavras.

head -n 3 \
  /home/labex/project/words \
  /home/labex/project/linux.words

Quando você pressiona Enter após a primeira linha, seu terminal mostrará um prompt > (ou similar) indicando que está esperando o restante do comando. Digite as partes restantes e pressione Enter novamente.

==> /home/labex/project/words <==
1080
10-point
10th

==> /home/labex/project/linux.words <==
1080
10-point
10th

Agora, vamos praticar alguns atalhos de edição da linha de comando. Esses atalhos funcionam na maioria dos terminais Linux modernos (como Bash ou Zsh).

Digite um comando longo, mas não pressione Enter ainda:

echo "This is a very long command that we will edit using shortcuts."
  • Ctrl+A: Vá para o início da linha de comando.
    • Digite o comando acima e pressione Ctrl+A. Seu cursor se moverá para o início da linha.
  • Ctrl+E: Vá para o final da linha de comando.
    • Depois de pressionar Ctrl+A, pressione Ctrl+E. Seu cursor se moverá de volta para o final da linha.
  • Ctrl+U: Limpe do cursor até o início da linha de comando.
    • Digite o comando novamente. Coloque o cursor em algum lugar no meio da linha (por exemplo, depois de "very"). Pressione Ctrl+U. O texto do cursor até o início será excluído.
  • Ctrl+K: Limpe do cursor até o final da linha de comando.
    • Digite o comando novamente. Coloque o cursor em algum lugar no meio da linha (por exemplo, depois de "very"). Pressione Ctrl+K. O texto do cursor até o final será excluído.
  • Ctrl+LeftArrow (ou Alt+B): Vá para o início da palavra anterior na linha de comando.
    • Digite o comando novamente. Coloque o cursor no final da linha. Pressione Ctrl+LeftArrow repetidamente para mover palavra por palavra para a esquerda.
  • Ctrl+RightArrow (ou Alt+F): Vá para o final da próxima palavra na linha de comando.
    • Coloque o cursor no início da linha. Pressione Ctrl+RightArrow repetidamente para mover palavra por palavra para a direita.
  • Ctrl+R: Pesquise a lista de histórico de comandos por um padrão.
    • Pressione Ctrl+R. Um prompt (reverse-i-search) aparecerá. Comece a digitar uma parte de um comando que você executou anteriormente, por exemplo, date. O terminal mostrará o comando mais recente do seu histórico que corresponde. Continue pressionando Ctrl+R para percorrer as correspondências mais antigas. Pressione Enter para executar o comando encontrado ou seta para a esquerda/direita para editá-lo.

Esses atalhos acelerarão significativamente sua interação com a linha de comando assim que você se acostumar com eles. Pratique-os regularmente para construir memória muscular.

Resumo

Neste laboratório, você aprendeu comandos Linux fundamentais para identificar informações do usuário e do sistema. Você praticou o uso de whoami para determinar o usuário atualmente conectado e date para exibir a data e hora atuais do sistema, incluindo várias opções de formatação como +%R para hora e +%x para data. Além disso, você descobriu como executar vários comandos em uma única linha usando um ponto e vírgula, aprimorando a eficiência no ambiente da linha de comando.