Introdução
Neste laboratório, você iniciará uma jornada fundamental pelo mundo das operações de linha de comando do Linux, especificamente em um ambiente Red Hat Enterprise Linux (RHEL). Você obterá experiência prática com comandos essenciais para identificar informações de usuários e do sistema, gerenciar senhas de usuários e inspecionar vários tipos de arquivos.
Por meio 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 da linha de comando, aprimorando sua produtividade e proficiência no gerenciamento de sistemas Linux.
Identificar o Usuário e o Horário do Sistema
Neste passo, você aprenderá a identificar o usuário atual conectado ao sistema e a exibir a data e a 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 com qual usuário você está conectado no momento. O comando whoami é usado para essa finalidade. Ele exibe o nome de usuário efetivo do usuário atual.
Digite o seguinte comando no seu terminal:
whoami

Você deverá ver labex como saída, indicando que você está conectado como o usuário labex.
labex
Em seguida, exploraremos o comando date. Este comando é usado para exibir ou definir a data e a hora do sistema. Quando usado sem nenhuma opção, ele exibe a data e a 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 varia dependendo de quando você executa 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
Por fim, 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

Gerenciar Senhas de Usuário e Visualizar Tipos de Arquivo
Neste passo, 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 observar como uma alteração de senha se inicia, sem alterar a senha padrão do laboratório. O comando passwd é usado para alterar senhas de usuários. Para o usuário labex, ele solicita a senha atual e, em seguida, uma nova senha. A senha atual é labex.
Digite o seguinte comando no seu terminal:
passwd
No prompt de senha atual, digite labex e pressione Enter. Quando o prompt de nova senha aparecer, pressione Ctrl+C para cancelar o comando e retornar ao shell. Não digite uma nova senha.
Changing password for user labex.
Current password:
New password: ^C
Nota: Quando você digita senhas no Linux, nada aparece na tela por motivos de segurança. Este é um comportamento normal e não significa que a máquina virtual (VM) não esteja respondendo. O sistema ainda está recebendo sua entrada, mesmo que você não consiga ver os caracteres sendo digitados.
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á faltando 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 de shell que você está usando no momento.
file /bin/bash
A saída mostrará que /bin/bash é um arquivo executável, junto 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
Por fim, vamos determinar o tipo de um diretório. Usaremos o diretório /home como exemplo.
file /home
A saída simplesmente informará que /home é um diretório.
/home: directory
Estes exemplos demonstram como o comando file pode ajudá-lo a identificar rapidamente a natureza de diferentes arquivos e diretórios no seu sistema Linux.
Inspecionar o Conteúdo de Arquivos com cat, head e tail
Neste passo, 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 de contas de 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 de usuários.
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 uso do cat com vários arquivos.
Crie o arquivo file1.txt:
echo "Hello World!!" > ~/project/file1.txt
Crie o arquivo file2.txt:
echo "Introduction to Linux commands." > ~/project/file2.txt
Agora, use o 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
Por fim, 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
Assim como o 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ê precisa apenas verificar partes específicas.
Contar Estatísticas de Arquivos e Usar o Histórico de Comandos
Neste passo, 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 no seu terminal. Gerenciar o histórico de comandos é crucial para a eficiência e para relembrar 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:
-lpara linhas (lines)-wpara palavras (words)-cpara caracteres (characters)
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. O 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 o seu histórico de comandos, use o comando history:
history
Você verá uma lista numerada de todos os comandos que inseriu na sua sessão atual e em sessões anteriores. A saída varia 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 por uma string.
Por exemplo, para reexecutar o comando de número 26 (que era file /etc/passwd no exemplo acima, mas será diferente para você), localize o número dele na saída do seu history e use-o:
!26 ## Substitua 26 pelo número real de 'file /etc/passwd' no seu histórico
O shell exibirá primeiro o comando que está prestes a executar e, em seguida, a sua saída:
file /etc/passwd
/etc/passwd: ASCII text
Você também pode reexecutar o comando mais recente que começa com uma determinada string. Por exemplo, para executar novamente o último comando que começou com wc:
!wc
Isso executará o último comando wc que você rodou.
wc -c /etc/group /etc/hosts
883 /etc/group
114 /etc/hosts
997 total
Esses recursos de histórico podem acelerar significativamente o seu fluxo de trabalho, permitindo que você recupere e reexecute rapidamente comandos complexos sem precisar redigitá-los.
Praticar Atalhos de Edição da Linha de Comando
Neste passo, você aprenderá e praticará atalhos úteis de edição na linha de comando. Esses atalhos podem melhorar significativamente a sua eficiência ao digitar e modificar comandos no terminal, permitindo navegar e editar textos sem precisar recorrer constantemente ao 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 linha seguinte.
Vamos tentar exibir as primeiras 3 linhas de dois arquivos de dicionário usando um comando multilinha. 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, o seu terminal exibe um prompt > (ou similar) indicando que está aguardando 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 de 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: Vai para o início da linha de comando.
- Digite o comando acima e pressione
Ctrl+A. O cursor irá para o início da linha.
- Digite o comando acima e pressione
- Ctrl+E: Vai para o final da linha de comando.
- Após pressionar
Ctrl+A, pressioneCtrl+E. O cursor voltará para o final da linha.
- Após pressionar
- Ctrl+U: Apaga do cursor até o início da linha de comando.
- Digite o comando novamente. Posicione o cursor em algum lugar no meio da linha (por exemplo, após "very"). Pressione
Ctrl+U. O texto do cursor até o início será excluído.
- Digite o comando novamente. Posicione o cursor em algum lugar no meio da linha (por exemplo, após "very"). Pressione
- Ctrl+K: Apaga do cursor até o final da linha de comando.
- Digite o comando novamente. Posicione o cursor em algum lugar no meio da linha (por exemplo, após "very"). Pressione
Ctrl+K. O texto do cursor até o final será excluído.
- Digite o comando novamente. Posicione o cursor em algum lugar no meio da linha (por exemplo, após "very"). Pressione
- Ctrl+SetaParaEsquerda (ou Alt+B): Vai para o início da palavra anterior na linha de comando.
- Digite o comando novamente. Posicione o cursor no final da linha. Pressione
Ctrl+SetaParaEsquerdarepetidamente para mover palavra por palavra para a esquerda.
- Digite o comando novamente. Posicione o cursor no final da linha. Pressione
- Ctrl+SetaParaDireita (ou Alt+F): Vai para o final da próxima palavra na linha de comando.
- Posicione o cursor no início da linha. Pressione
Ctrl+SetaParaDireitarepetidamente para mover palavra por palavra para a direita.
- Posicione o cursor no início da linha. Pressione
- Ctrl+R: Pesquisa no histórico de comandos por um padrão.
- Pressione
Ctrl+R. Um prompt(reverse-i-search)aparecerá. Comece a digitar parte de um comando executado anteriormente, por exemplo,date. O terminal mostrará o comando mais recente do seu histórico correspondente. Continue pressionandoCtrl+Rpara alternar entre correspondências mais antigas. Pressione Enter para executar o comando encontrado ou as setas Esquerda/Direita para editá-lo.
- Pressione
Esses atalhos acelerarão significativamente a sua interação com a linha de comando assim que você se habituar a eles. Pratique-os regularmente para criar memória muscular.
Resumo
Neste laboratório, você aprendeu comandos fundamentais do Linux para identificar informações de usuários e do sistema. Você praticou o uso de whoami para determinar o usuário conectado atual e date para exibir a data e a hora atuais do sistema, incluindo várias opções de formatação, como +%R para a hora e +%x para a data. Além disso, você descobriu como executar vários comandos em uma única linha usando um ponto e vírgula, aumentando a eficiência no ambiente de linha de comando.



