Como a maioria dos sistemas ope­ra­ci­o­nais modernos, o Linux oferece um terminal, que pode ser usado para controlar todo o sistema, por meio de comandos (prompts). Ba­si­ca­mente, todas as con­fi­gu­ra­ções possíveis por interface gráfica do usuário (GUI) podem ser igual­mente exe­cu­ta­das pelo terminal. Conheça os comandos de terminal mais im­por­tan­tes do Linux, entenda suas funções e aprenda a aplicá-los.

Nomes de domínio por US$ 1

Registre ótimos TLDs por menos de US$ 1 no primeiro ano. Esperar para quê? Garanta seu nome de domínio preferido hoje mesmo.

  • inscrição fácil
  • Cer­ti­fi­cado SSL
  • Suporte 24 horas por dia, 365 dias por ano
Comando Descrição
sudo Executa programas com direitos de su­pe­ru­suá­rio
ls Lista o conteúdo do diretório
cd Navega pela árvore de di­re­tó­rios
touch Cria novo arquivo
mkdir Cria novo diretório
rm Deleta arquivo
rmdir Deleta diretório
mv Move arquivo ou diretório
cp Copia arquivo ou diretório
pwd Mostra a posição de um diretório na árvore de di­re­tó­rios
zip Converte arquivos em arquivos zip
unzip Extrai arquivos de arquivos zip
ln Cria link simbólico
cat Combina o conteúdo de arquivos
grep Busca arquivos de texto
diff Encontra di­fe­ren­Ã§as entre arquivos de texto
cmp Alinha arquivos a nível de bytes
tar Cria e des­com­pacta arquivos tar
echo Apresenta cadeia de re­sul­ta­dos na es­pe­ci­fi­ca­Ã§Ã£o padrão
clear Limpa o terminal
ssh Conecta a outro com­pu­ta­dor por secure shell
wget Baixa arquivo di­re­ta­mente da internet
ping Mede a latência pelo servidor
ftp, sftp Transfere arquivos por (S)FTP
ip Consulta e configura in­ter­fa­ces de rede
apt/pacman/yum Baixa e gerencia pacotes de software
netstat Exibe status da interface de rede
tra­ce­route Rastreia pacotes de dados
route Exibe e edita tabelas de ro­te­a­mento IP
dig Solicita in­for­ma­Ã§Ãµes do DNS
mount/unmount Integra arquivos de sistema
dd Copia arquivos, partições e trans­mis­so­res de dados com o bit exato
chmod Gerencia direitos de acesso
chown Gerencia direitos de pro­pri­e­dade
adduser Adiciona e modifica contas de usuários
passwd Cria e edita senhas de usuários
groupadd Cria grupos de usuários
chattr Gerencia atributos de arquivos
lsattr Exibe atributos de arquivos
chgrp Gerencia membros de grupos de arquivos e di­re­tó­rios
man Acessa o manual do usuário
shutdown, reboot Desliga/reinicia o sistema
top Panorama dinâmico de processos
lscpu Exibe in­for­ma­Ã§Ãµes do pro­ces­sa­dor
lshw Exibe in­for­ma­Ã§Ãµes do hardware
kill Para e finaliza processos por PID
killall Para e finaliza processos pelo nome
nice Define a pri­o­ri­dade de processos
pgrep Iden­ti­fica PID por termos de busca
ps Exibe lista de todos os processos em execução

Comando Linux sudo

O comando Linux sudo (subs­ti­tute user do) é capaz de acessar programas e executá-los com direitos de outros usuários. Para tanto, você precisará digitar uma senha: a senha do usuário que está tentando acessar. Caso nenhum usuário seja es­pe­ci­fi­cado, o su­pe­ru­suá­rio root será definido.

sudo -u USUÁRIO PROGRAMA
bash

Comando Linux ls

O comando Linux ls (list) é usado para exibir todo o conteúdo de um diretório, ou seja, os nomes de todos os arquivos e pastas que o compõem. Esta é a sintaxe do comando ls:

ls [ARGUMENTOS] DIRETÓRIO
bash

Se o comando for acionado sem que um diretório seja es­pe­ci­fi­cado, ele listará o conteúdo do diretório atual. Ar­gu­men­tos adi­ci­o­nais permitem con­fi­gu­rar as in­for­ma­ções a serem exibidas, e de que forma.

Comando Linux cd

O comando Linux cd (change directory) é usado para navegar na árvore de di­re­tó­rios. Esta é a sintaxe do comando cd:

cd [ARGUMENTOS] DIRETÓRIO
bash

Se nenhum diretório de destino for es­pe­ci­fi­cado, o comando acessará au­to­ma­ti­ca­mente o diretório home do usuário. Já ao adicionar um traço (-) após cd, este retornará ao diretório anterior.

Comando Linux touch

O comando Linux touch tem a função de modificar registros de data e hora de acessos, e de al­te­ra­ções de arquivos. Ao ser usado com um arquivo não existente, este o criará au­to­ma­ti­ca­mente. O comando também serve, portanto, para criar arquivos vazios. Um comando touch deve ter a seguinte estrutura:

touch [ARGUMENTOS] ARQUIVO
bash

Para acessar registros de um arquivo em uma data es­pe­cí­fica, adicione -t ao comando, seguido da data desejada, no formato [YY]MMDDhhmm[.ss], como mostra o exemplo:

touch -t 1703231037 arquivo.txt
bash

Acima, re­que­re­mos os registros acesso e as al­te­ra­ções feitas em 23 de março de 2017, às 10:37. Restrinja o acesso à alteração ou ao registro de data e hora uti­li­zando -a e -m. Ao ser executado sem o su­ple­mento -t, o comando exibirá o registro de data e hora atual.

Comando Linux mkdir

O comando Linux mkdir (make directory) permite a criação de novos di­re­tó­rios. Use a seguinte sintaxe para criar um novo diretório no diretório local:

mkdir [ARGUMENTOS] NOME DO DIRETÓRIO
bash

Caso você queira criar um diretório em outro local do sistema, deverá es­pe­ci­fi­car seu caminho (absoluto ou relativo).

Comando Linux rm

O comando Linux rm (remove) exclui per­ma­nen­te­mente di­re­tó­rios e arquivos inteiros. Assim é a sua estrutura:

rm [ARGUMENTOS] ARQUIVO/DIRETÓRIO
bash

Caso você queira excluir todos os sub­di­re­tó­rios contidos em um diretório, adicione a rm o argumento -R (–recursive).

Comando Linux rmdir

Se você quiser excluir um diretório es­pe­cí­fico, deve usar o comando rmdir (remove directory), que tem a seguinte sintaxe:

rmdir [ARGUMENTOS] DIRETÓRIO
bash

Di­re­tó­rios vazios só podem ser excluídos por rmdir. Já para excluir um diretório jun­ta­mente com todos os seus sub­di­re­tó­rios e arquivos, você deve usar rm acrescido de -r.

Nossos artigos es­pe­ci­a­li­za­dos exploram, em mais detalhes, como excluir arquivos no Linux e como excluir di­re­tó­rios no Linux.

Comando Linux mv

O comando Linux mv (move) move arquivos ou di­re­tó­rios, excluindo o original. Se for usado dentro do mesmo diretório, o mv sim­ples­mente renomeia o arquivo es­pe­ci­fi­cado. Execute o comando da seguinte forma:

mv [ARGUMENTOS] ORIGEM DESTINO
bash

Comando Linux cp

O comando Linux cp (copy) tem a função de copiar arquivos e di­re­tó­rios. A sintaxe básica do comando é a seguinte:

cp [ARGUMENTOS] ORIGEM DESTINO
bash

ORIGEM aponta o elemento a ser copiado, já DESTINO define o local onde a cópia deve ser ar­ma­ze­nada. Se você es­pe­ci­fi­car um arquivo já existente como arquivo de destino, o conteúdo dele será subs­ti­tuído pelo do arquivo de origem. Há também a opção de se criar um novo arquivo, de nome a ser escolhido, como arquivo de destino.

Comando Linux pwd

Use o comando Linux pwd (print working directory) para exibir o nome do diretório de trabalho atual. Para tanto, utilize a seguinte sintaxe:

pwd [ARGUMENTOS]
bash

Comando Linux zip

Use o comando zip para compactar arquivos em um arquivo zip. Esta é a sintaxe do comando:

zip DESTINO ARQUIVOS
bash

DESTINO diz respeito ao nome ou caminho do arquivo zip a ser criado. Já ARQUIVOS são os arquivos pro­pri­a­mente ditos, ou caminhos de arquivos, a serem com­pac­ta­dos (estes devem ser separados por espaços).

Comando Linux unzip

Utilize o comando unzip para extrair arquivos de um arquivo zip. Para tanto, digite:

unzip ARQUIVO.zip -d DESTINO
bash

ARQUIVO faz re­fe­rên­cia ao arquivo zip de onde os arquivos devem ser extraídos. Op­ci­o­nal­mente, utilize o argumento -d DESTINO para es­pe­ci­fi­car o diretório onde os arquivos extraídos devem ser ar­ma­ze­na­dos. De outra forma, os arquivos serão ar­ma­ze­na­dos no diretório atual.

Comando Linux ln

O comando Linux ln (link) cria um atalho para um arquivo ou diretório, para que ele possa ser acessado por meio de outro caminho. A sintaxe do comando deve conter, pelo menos, o caminho para o arquivo de origem:

ln [ARGUMENTOS] caminho/para/arquivo
bash

Nosso exemplo cria um atalho para o diretório de trabalho atual, de mesmo nome. Também é possível adicionar o caminho de destino do atalho, assim como nomeá-lo:

ln [ARGUMENTOS] caminho/para/arquivo caminho/para/atalho
bash

Comando Linux cat

O comando Linux cat (con­ca­te­nate) foi de­sen­vol­vido para combinar o conteúdo de arquivos. Ele pode ser usado como um ge­ren­ci­a­dor de páginas, pois exibe o conteúdo dos arquivos no terminal. Para ler um arquivo e enviá-lo para stdout (a saída padrão), utilize a seguinte sintaxe:

cat ARGUMENTOS ARQUIVOS
bash

Separe arquivos adi­ci­o­nando um espaço entre eles.

cat ARGUMENTOS ARQUIVO1 ARQUIVO2
bash

Comando Linux grep

Com o comando Linux grep é possível realizar pesquisas em arquivos de texto. Qualquer cadeia de ca­rac­te­res ou de palavras pode ser usada como chave de busca. Esta é a sintaxe do comando grep:

grep [ARGUMENTOS] CHAVE DE BUSCA [ARQUIVO(S)]
bash

Se grep encontrar uma cadeia que cor­res­ponde à chave de busca, o terminal retornará o número da linha e o nome do arquivo cor­res­pon­dente. Em geral, o comando grep realiza buscas em todos os arquivos do diretório atual. Contudo, o argumento -r expande a pesquisa para os sub­di­re­tó­rios.

Comando Linux diff

O comando diff tem a função de comparar dois arquivos. Você também pode utilizá-lo para descobrir se dois di­re­tó­rios contêm os mesmos arquivos. Para executar diff, digite a seguinte sequência no terminal:

diff [ARGUMENTOS] ARQUIVO1 ARQUIVO2
bash

Comando Linux cmp

O comando cmp faz parte do pacote diff e é usado para comparar o conteúdo de arquivos. Ao contrário do diff, o cmp realiza com­pa­ra­ções a nível de byte, sendo, portanto, par­ti­cu­lar­mente adequado a arquivos binários. Esta é sua sintaxe:

cmp [ARGUMENTOS] ARQUIVO1 ARQUIVO2
bash

Se o cmp encontrar di­ver­gên­cias entre os arquivos, o terminal retornará o número do byte e da linha da primeira di­ver­gên­cia.

Comando Linux tar

O comando tar grava arquivos e di­re­tó­rios, em sequência, em um arquivo tar, para que possam ser uti­li­za­dos como cópia de segurança, se ne­ces­sá­rio. Ao contrário do que ocorre com arquivos zip, comuns no Windows, arquivos tar mantém direitos de usuários, mesmo após a des­com­pac­ta­ção. Esta é a sintaxe do comando:

tar [ARGUMENTOS] ARQUIVOS
bash

Caso você queira criar um novo arquivo, utilize tar jun­ta­mente com -c (criar novo arquivo) e -f (salvar arquivo em de­ter­mi­nado arquivo ou lê-lo). Saiba mais sobre backups tar e como criá-los no Linux acessando nosso artigo es­pe­ci­a­li­zado.

Comando Linux echo

Use o comando Linux echo para gerar cadeias de ca­rac­te­res, linha por linha, na saída padrão (ge­ral­mente, no terminal). A base do comando é a seguinte:

echo [ARGUMENTOS] CADEIA DE CARACTERES
bash

Comando Linux clear

Use o comando clear para limpar o conteúdo do terminal.

clear
bash

Ao executar este comando, seu terminal retornará limpo, ou seja, sem qualquer entrada aparente. Porém, todas con­ti­nu­a­rão podendo ser acessadas, caso você role para cima. Também é possível limpar o terminal pres­si­o­nando o atalho [Ctrl] + [L].

Comando Linux ssh

Com ssh é possível conectar o seu com­pu­ta­dor a um com­pu­ta­dor externo, por meio de um protocolo SSH. Assim, você con­se­guirá acessar o terminal deste outro com­pu­ta­dor. Esta é a sintaxe do comando ssh:

ssh USUÁRIO@HOSTNAME
bash

USUÁRIO e HOSTNAME, neste contexto, dizem respeito, res­pec­ti­va­mente, ao nome do usuário para o qual você deseja fazer login e ao endereço do com­pu­ta­dor externo.

Comando Linux wget

O comando Linux wget pode ser usado para baixar arquivos da internet. Esta é sua estrutura:

wget [ARGUMENTO] LINK
bash

Em LINK, adicione o URL onde o arquivo desejado pode ser en­con­trado. Utilize o argumento -c, caso você queira dar pros­se­gui­mento a um download an­te­ri­or­mente in­ter­rom­pido.

Comando Linux ping

Use o comando Linux ping para testar a aces­si­bi­li­dade de outros com­pu­ta­do­res em uma rede. Ele é baseado na seguinte sintaxe:

ping [ARGUMENTOS] DESTINO
bash

Jun­ta­mente com o tempo de ida e volta (RTT) — que é o intervalo de tempo entre o envio do pacote de dados e o re­ce­bi­mento de uma resposta — o ping exibe o endereço IP do sistema de destino no terminal. Use ar­gu­men­tos opcionais para de­ter­mi­nar após quantos pacotes ou segundos o ping deve ser encerrado.

Comandos Linux ftp e sftp

Ambos os comandos, ftp e sftp, pos­si­bi­li­tam trocas de arquivos entre o sistema local e outro com­pu­ta­dor da rede. Use o protocolo FTP (File Transfer Protocol) de acordo com a sintaxe abaixo, para es­ta­be­le­cer uma conexão com o servidor FTP do com­pu­ta­dor de destino:

ftp [ARGUMENTOS] [HOST[PORTA]]
bash

O en­de­re­ça­mento de uma conexão FTP pode ser feito por hostname ou endereço IP, já a es­pe­ci­fi­ca­ção do número da porta é opcional. Faça uso do comando ftp somente em redes con­fiá­veis, por se tratar de um protocolo pouco seguro. Já o SFTP (SSH File Transfer Protocol) realiza trans­fe­rên­cias crip­to­gra­fa­das, por utilizar secure shell (SSH) em seus métodos de au­ten­ti­ca­ção. Aprenda a usar chaves SSH nas suas conexões, com o nosso artigo es­pe­ci­a­li­zado.

Comando Linux ip

O comando Linux ip faz parte da coleção de prompts iproute2, que solicita e configura in­ter­fa­ces de rede pelo terminal. Esta é a sintaxe básica do ip:

ip [ARGUMENTOS] OBJETO [COMANDO[ARGUMENTO]]
bash

A ação a ser executada por ip deve ser definida por objetos, sub­co­man­dos e pelos ar­gu­men­tos cor­res­pon­den­tes.

São vários os objetos su­por­ta­dos pelo comando, como address (endereço IP), link (interface de rede), route (entrada para a tabela de ro­te­a­mento) e tunnel. A estes devem ser adi­ci­o­na­dos sub­co­man­dos, como add, change, del, list e show.

Digamos que você queira acessar o endereço IP de uma interface de rede qualquer (eth0). Neste caso, combine o comando ip com o objeto address, o sub­co­mando show e o argumento dev eth0:

ip address show dev eth0
bash

Aprenda, em detalhes, como exibir um endereço IP no Linux.

Comandos Linux apt, pacman e yum

Toda dis­tri­bui­ção Linux oferece um packet manager (ge­ren­ci­a­dor de pacotes), com o qual você pode baixar e gerenciar pacotes de software. São essas as sintaxes para a ins­ta­la­ção de apli­ca­ti­vos:

apt install [PACOTE] # Distribuições baseadas em Debian, como Ubuntu
pacman -S [PACOTE] # Distribuições baseadas em Arch
yum install [PACOTE] # Distribuições baseadas em Red Hat
bash

PACOTE diz respeito ao nome do pacote ou do programa a ser instalado. Na maioria das vezes, você só con­se­guirá executar comandos de ins­ta­la­ção em com­bi­na­ção com sudo, ou seja, com per­mis­sões root. Observe que a sintaxe desses comandos Linux pode variar um pouco, a depender da dis­tri­bui­ção utilizada, uma vez que cada ge­ren­ci­a­dor de pacotes possui comandos próprios para remoção, atu­a­li­za­ção de lista, e atu­a­li­za­ção de programas ins­ta­la­dos. No Ubuntu, estes são os comandos:

apt remove [PACOTE] # remover pacote
apt update # atualizar lista de pacotes
apt upgrade # atualizar pacotes
bash

Comando Linux netstat

O comando Linux netstat tem a função de consultar o status de in­ter­fa­ces de rede. A sintaxe base do comando é a seguinte:

netstat [ARGUMENTOS]
bash

Digite netstat sem es­pe­ci­fi­car o argumento para exibir todos os sockets abertos no terminal. Use os seguintes ar­gu­men­tos para a exibição da tabela de ro­te­a­mento (-r), das es­ta­tís­ti­cas de interface (-i), das conexões mas­ca­ra­das (-M) e das mensagens de link de rede (-N). Acesse nosso artigo es­pe­ci­a­li­zado para aprender mais sobre netstat.

Comando Linux tra­ce­route

Para rastrear a rota de trans­porte de um pacote de dados IP entre o seu sistema e um com­pu­ta­dor de destino, faça uso do comando Linux traceroute. Aqui está sua sintaxe:

traceroute [ARGUMENTOS] HOSTNAME
bash

Com traceroute, você pode iden­ti­fi­car por quais ro­te­a­do­res e nós um pacote de IP passou, quando à caminho do com­pu­ta­dor de destino. Isto serve, por exemplo, para in­ves­ti­gar a causa de um atraso.

Comando Linux route

Com o comando Linux route, você solicita e edita a tabela de ro­te­a­mento IP do núcleo. Esta é sua sintaxe:

route [ARGUMENTOS] [add|del] [-net|-host] DESTINO
bash

Use o comando sem ar­gu­men­tos para exibir a tabela de ro­te­a­mento do núcleo completa:

route
bash

Se você quiser definir uma rota para uma rede, adicione à sintaxe o sub­co­mando add.

route add -net 10.0.0.0
bash

Comando Linux dig

O comando Linux dig é uma fer­ra­menta de pesquisa que pode ser usada para solicitar in­for­ma­ções sobre o servidor DNS. Ge­ral­mente, o comando é executado para se descobrir o endereço IP e outras in­for­ma­ções do sistema de nomes de domínios de um de­ter­mi­nado domínio. Observe sua estrutura:

dig [@SERVIDOR] [DOMÍNIO] [TIPO]
bash

SERVIDOR faz re­fe­rên­cia ao servidor DNS que deve ser pes­qui­sado para a obtenção das in­for­ma­ções desejadas. Caso nenhum servidor seja es­pe­ci­fi­cado, o comando obterá in­for­ma­ções do DNS padrão, presente no arquivo /etc/resolv.conf. DOMÍNIO diz respeito ao nome de domínio a ser pes­qui­sado para obtenção das in­for­ma­ções do DNS. TIPO es­pe­ci­fica o tipo de consulta: ANY (todas as entradas), A (registro IPv4 de um host) ou AAAA (registro IPv6 de um host). O tipo de so­li­ci­ta­ção padrão é sempre A.

Comandos Linux mount e unmount

Use o comando Linux mount para integrar um sistema de arquivos à estrutura de di­re­tó­rios do sistema ope­ra­ci­o­nal, por meio da árvore de di­re­tó­rios. A sintaxe base do mount é a seguinte:

mount [ARGUMENTOS] DISPOSITIVO MOUNTPOINT
bash

DIS­PO­SI­TIVO nada mais é que o caminho até o arquivo do dis­po­si­tivo de ar­ma­ze­na­mento que você deseja montar como partição. MOUNT­POINT é o local, na estrutura de di­re­tó­rios do sistema ope­ra­ci­o­nal, onde a partição deve ser montada. Via de regra, o ponto de montagem deve ser es­pe­ci­fi­cado por um caminho absoluto.

mount /dev/sdd /media/usb
bash

Neste exemplo, o dis­po­si­tivo sdd será montado no diretório /media/usb.

Comando Linux dd

O comando Linux dd realiza um processo de cópia, no qual dados de um arquivo de entrada (if) são lidos bit a bit e gravados em um arquivo de saída (of). Execute este comando digitando a seguinte sequência no terminal:

dd if=ORIGEM of=DESTINO [ARGUMENTOS]
bash

Como origem e destino, es­pe­ci­fi­que arquivos in­di­vi­du­ais, partições inteiras (por exemplo, /dev/sda1) ou um dis­po­si­tivo de ar­ma­ze­na­mento completo (por exemplo, /dev/sda).

dd if=/dev/sda5 of=/dev/sdb1
bash

Comando Linux chmod

O comando Linux chmod (change mode) é usado para atribuir direitos em sistemas de arquivos do tipo Unix (ext2, ext3, ext4, reiser, xfs). Estas são possíveis sintaxes para o comando chmod:

chmod [ARGUMENTOS] MODO ARQUIVO
bash

e

chmod [ARGUMENTOS] MODO DIRETÓRIO
bash

Em MODO, adicione a máscara de direitos aplicável. Aprenda a criar um sistema como este e no que prestar atenção durante o processo, no nosso tutorial sobre direitos de acesso com chmod. Com a ajuda do argumento -R, expanda os direitos a subpastas e a arquivos contidos em um diretório.

Comando Linux chown

O comando Linux chown (change owner) permite modificar per­mis­sões de pro­pri­e­tá­rio. Entre as sintaxes possíveis estão:

chown [ARGUMENTOS] [USUÁRIO][:[GRUPO]] ARQUIVO
bash

e

chown [ARGUMENTOS] [USUÁRIO][:[GRUPO]] DIRETÓRIO
bash

Para definir direitos de pro­pri­e­tá­rio para um usuário ou grupo, existem quatro com­bi­na­ções possíveis. Pro­pri­e­tá­rio e grupos são con­fi­gu­ra­dos de acordo com a entrada:

chown [ARGUMENTOS] nome_proprietário:nome_grupo arquivo.txt
bash
# O grupo é redefinido de acordo com a entrada e o usuário permanece inalterado:
chown [ARGUMENTOS] :nome_grupo arquivo.txt 
# O administrador é redefinido de acordo com a entrada e o grupo permanece inalterado: 
chown [ARGUMENTOS] nome_proprietário arquivo.txt 
# O usuário é redefinido de acordo com a entrada e o grupo é definido como padrão para o usuário conectado: 
chown [ARGUMENTOS] nome_proprietário: arquivo.txt 
# Alterações são estendidas a subdiretórios com a ajuda do ARGUMENTO `-R`.
bash

Comando Linux adduser

A forma mais simples de se criar uma conta de usuário no Linux é uti­li­zando o comando adduser: um script Perl baseado no comando Linux useradd. Ambos executam as mesmas funções, mas adduser é mais fácil de usar. Contudo, ele requer pri­vi­lé­gios root. Esta é sua sintaxe:

adduser [ARGUMENTOS] USUÁRIO
bash

Use adduser sem ar­gu­men­tos para criar um ID de usuário au­to­ma­ti­ca­mente, um diretório inicial e um grupo de usuários com o mesmo nome, além de uma nova conta.

adduser test
bash

Ao comando se seguirá uma caixa de diálogo in­te­ra­tiva, em que será possível definir senha e outras in­for­ma­ções de usuário (nome real, telefone, lo­ca­li­za­ção do es­cri­tó­rio e outros).

Comando Linux passwd

Use o comando Linux passwd para alterar a senha de um usuário, ou definir/alterar in­ter­va­los de ve­ri­fi­ca­ção. O comando é baseado na seguinte sintaxe:

passwd [ARGUMENTOS] USUÁRIO
bash

Caso você queira alterar a senha de outro usuário, precisará de per­mis­sões root. Use o comando passwd sem nome de usuário para alterar sua própria senha. Se você quiser bloquear a senha, use passwd em conjunto com o argumento -l (–lock). Outros ar­gu­men­tos possíveis são: definir validade de uma senha (-x), avisos (-w), e in­ter­va­los de ve­ri­fi­ca­ção (-i).

Comando Linux groupadd

O comando Linux groupadd é usado para criar grupos de usuários. Utilize groupadd com per­mis­sões root, como mostra o esquema abaixo:

sudo groupadd [ARGUMENTOS] GRUPOS
bash

Cada grupo recém-criado conterá um ID de grupo próprio (GID), sendo IDs de grupo entre 0 e 99 re­ser­va­dos a grupos de sistema. Se você quiser definir o GID de um novo grupo de usuários para si mesmo, digite o comando groupadd com o argumento -g (GID). Para criar um grupo de sistema, utilize -r (root).

Comando Linux chattr

O comando Linux chattr (change attribute) permite a vi­su­a­li­za­ção de arquivos e de di­re­tó­rios com atributos. Use chattr com a seguinte sintaxe, para definir um atributo:

chattr [ARGUMENTOS] +ATRIBUTO ARQUIVO
bash

Substitua o sinal de mais pelo sinal de menos para remover atributos. Por exemplo, utilize o atributo -i para impedir al­te­ra­ções (exclusões ou mo­di­fi­ca­ções) em um arquivo ou diretório. Para conhecer outros atributos e ar­gu­men­tos com­pa­tí­veis, consulte o manual do comando chattr.

Comando Linux lsattr

Se você quer vi­su­a­li­zar os atributos definidos para um arquivo ou diretório, use o comando lsattr (listar atributos), como mostra a sintaxe abaixo:

lsattr [ARGUMENTOS] ARQUIVO/DIRETÓRIO
bash

Comando Linux chgrp

O comando Linux chgrp (change group) tem a função de gerenciar per­mis­sões de grupos para arquivos e di­re­tó­rios. Para usar chgrp em um arquivo ou diretório es­pe­cí­fico, você deverá ter per­mis­sões root e pertencer ao grupo. Estas são as sintaxes do comando:

chgrp [ARGUMENTOS] GRUPO ARQUIVO
bash

e

chgrp [ARGUMENTOS] GRUPO DIRETÓRIO
bash

Adicione o argumento -R para abranger subpastas e arquivos contidos no diretório.

Comando Linux man

O comando Linux man exibe páginas do manual de ins­tru­ções (man-pages) da sua dis­tri­bui­ção Linux, di­re­ta­mente no terminal. Assim é sua sintaxe:

man [ARGUMENTO] TEMA
bash

Manuais Linux são divididos em 10 áreas temáticas: comandos de usuário, chamadas de sistema, funções da linguagem de pro­gra­ma­ção C, formatos de arquivos, arquivos de con­fi­gu­ra­ção, jogos, diversos, comandos de ad­mi­nis­tra­ção de sistema, funções prin­ci­pais, novos comandos.

Comando Linux shutdown

O comando Linux shutdown pode ser usado por usuários root para desligar o sistema. Esta é sua sintaxe:

shutdown [ARGUMENTOS] [TEMPO] [MENSAGEM]
bash

Também é possível programar des­li­ga­men­tos com a definição de um horário. Para isso, adicione à estrutura do comando uma entrada de hora (hh:mm) ou uma contagem re­gres­siva (+m). Com esta con­fi­gu­ra­ção ativada, os demais usuários do sistema serão avisados antes do des­li­ga­mento. Per­so­na­lize uma mensagem, caso deseje. Use o comando shutdown com o argumento -r para rei­ni­ci­a­li­zar o sistema após o des­li­ga­mento.

Comando Linux top

O comando Linux top exibe um panorama de todos os processos em execução. Para executá-lo, faça uso da seguinte estrutura:

top [ARGUMENTOS]
bash

Escolha como in­for­ma­ções sobre processos serão exibidas, uti­li­zando ar­gu­men­tos ou atalhos do teclado:

  • [P] = Ordena a exibição de acordo com a carga da CPU
  • [M] = Ordena a exibição de acordo com re­qui­si­tos de ar­ma­ze­na­mento
  • [N] = Ordena a exibição nu­me­ri­ca­mente, por PID
  • [A] = Ordena a exibição por an­ti­gui­dade
  • [T] = Ordena a exibição por tempo
  • [U USERNAME ou UID] = Filtra a exibição por usuário

Use o atalho de teclado [H] para acessar a página de ajuda e [Q] para fechar o panorama de processos.

Comando Linux lscpu

Faça uso do comando lscpu (list cpu) para ter acesso a in­for­ma­ções sobre a ar­qui­te­tura da CPU, no terminal. Utilize, para tanto, a seguinte estrutura:

lscpu [ARGUMENTOS]
bash

Para encontrar os ar­gu­men­tos com­pa­tí­veis com o comando, consulte o manual do seu sistema ope­ra­ci­o­nal.

Comando Linux lshw

O comando Linux lshw (list hardware) exibe in­for­ma­ções no terminal, sobre com­po­nen­tes de hardware. Use lshw com a seguinte sintaxe:

lshw [ARGUMENTOS]
bash

O comando suporta diversos ar­gu­men­tos, que podem ser usados para con­fi­gu­rar o formato de saída (-html, -xml, -short, -businfo) e a emissão de in­for­ma­ções (digite -sanitize, por exemplo, para ocultar in­for­ma­ções con­fi­den­ci­ais).

Comando Linux kill

O comando Linux kill in­ter­rompe ou finaliza processos. Ele segue o seguinte padrão, composto do sinal desejado e do ID do processo cor­res­pon­dente:

kill [ARGUMENTOS] [-SINAL] PID
bash

Os sinais mais comuns são:

  1. TERM: Padrão para encerrar um processo
  2. KILL: Força o término de um processo (por meio do sistema)
  3. STOP: In­ter­rompe um processo
  4. CONT: Continua um processo pre­vi­a­mente in­ter­rom­pido

Comando Linux killall

Use o comando Linux killall em com­bi­na­ção com um termo de pesquisa es­pe­cí­fico, para encerrar apenas processos com nomes coin­ci­den­tes (os primeiros 15 ca­rac­te­res serão usados para fazer a cor­res­pon­dên­cia).

killall [ARGUMENTOS] [-SINAL] [PROCESSO NOME]
bash

O argumento -e (–exact) permite que a cor­res­pon­dên­cia seja estendida a todos os ca­rac­te­res do nome do processo.

Comando Linux nice

Ao início de um processo realizado em etapas, o comando Linux nice indica um valor (entre -20 e +19) que cor­res­ponde à dis­tri­bui­ção do poder de com­pu­ta­ção do sistema. Estes in­ter­va­los, de -20 a +19, cor­res­pon­dem aos níveis de pri­o­ri­dade do Linux, que variam de 100 a 139. Assim sendo, processos com valor nice -20 têm pri­o­ri­dade mais alta do que processos com valor nice 19. Sozinha, a sintaxe é a seguinte:

nice [ARGUMENTOS] [COMANDO]
bash

Caso não haja es­pe­ci­fi­ca­ção adicional, todos os processos serão iniciados com o valor nice 0. Use o argumento -n para definir a pri­o­ri­dade de um processo. Pri­o­ri­da­des negativas só podem ser atri­buí­das com per­mis­sões root.

Comando Linux pgrep

O comando Linux pgrep compara a lista de processos em execução com um termo de busca, gerando os res­pec­ti­vos PIDs, caso encontre cor­res­pon­dên­cias. A sintaxe é a seguinte:

pgrep [ARGUMENTOS] TERMO DE BUSCA
bash

Por padrão, o pgrep gera PIDs para todos os processos que contêm o termo de busca. Para limitar a busca a cor­res­pon­dên­cias exatas, use o comando com o argumento -x. Para obter o PID ao invés de somente o nome do processo, utilize pgrep com o argumento -l. Assim como grep, pgrep também suporta termos de busca baseados em ex­pres­sões regulares.

Comando Linux ps

O comando Linux ps exibe lista de todos os processos em execução no terminal.

ps [ARGUMENTOS]
bash

Se você deseja obter in­for­ma­ções mais de­ta­lha­das, use ps combinado a -f (detalhada) ou a -F (muito detalhada). Para conhecer ar­gu­men­tos adi­ci­o­nais, consulte o manual do seu sistema ope­ra­ci­o­nal.

Outros comandos Linux

Comandos Linux básicos

Na categoria de comandos básicos, você en­con­trará os prin­ci­pais comandos para controlar o terminal, como para limpar a vi­si­bi­li­dade, recuperar entradas an­te­ri­o­res ou encerrar uma sessão.

1. exit O comando exit encerra a sessão e fecha o terminal.

exit
bash

Para executar a mesma ação, você também pode utilizar o atalho de teclado [Ctrl] + [D].

2. help

Use o comando help para receber uma lista com todos os comandos de terminal internos. Digite help em com­bi­na­ção com um outro comando para obter uma breve descrição de suas funções.

help COMANDO
bash

3. history

O bash salva, no histórico, os últimos 500 comandos inseridos no terminal. Ele funciona como as­sis­tente de entradas, per­mi­tindo que usuários examinem a lista de comandos an­te­ri­o­res por meio das sentas do teclado, e os execute novamente, se ne­ces­sá­rio.

Pesquise no histórico uti­li­zando palavras-chave, depois de pres­si­o­nar o atalho [Ctrl] + [R]. Você também pode vi­su­a­li­zar lista completa e numerada de comandos exe­cu­ta­dos no terminal. Para isso, digite history sem utilizar nenhum argumento.

history
bash

Se você quiser filtrar re­sul­ta­dos, combine history com o comando grep (consultar ar­gu­men­tos de busca) e com um termo de busca, adi­ci­o­nando um Linux pipe à estrutura.

history | grep TERMO DE BUSCA
bash

Comandos Linux de ajuda

Se você não souber agir em uma situação es­pe­cí­fica, não se desespere. O Linux dis­po­ni­bi­liza páginas de ajuda e do­cu­men­ta­ções no terminal, como o Unix man-pages e o GNU info pages. Elas contêm ins­tru­ções de­ta­lha­das sobre: terminal, chamadas de sistema, arquivos de con­fi­gu­ra­ção, formatos de arquivo e funções prin­ci­pais.

Use o comando Linux whatis combinado ao apropos, para não somente acessar páginas de ajuda no terminal, mas pesquisar, dentro destas páginas, por palavras-chave.

1. apropos

Use apropos para pesquisar por títulos e des­cri­ções dentro dos manuais do seu sistema ope­ra­ci­o­nal, uti­li­zando palavras-chave:

apropos [ARGUMENTOS] TERMO DE BUSCA
bash

O comando oferece suporte a di­fe­ren­tes ar­gu­men­tos. Use -e para limitar a pesquisa a cor­res­pon­dên­cias exatas, ou curingas (como -w '*TERMO DE BUSCA) e ex­pres­sões regulares (como -r).

2. info

Com o comando Linux info, você obterá todas as páginas de in­for­ma­ção do GNU sobre um tema es­pe­cí­fico. Na maioria dos casos, estas páginas são as mesmas acessadas pelo comando man. Contudo, ao executar o comando info, ao invés de receber as ins­tru­ções pelo terminal, você ganhará acesso a links contendo ins­tru­ções, para serem acessados pelo navegador. O formato facilita a leitura. A estrutura do comando pode ser observada abaixo:

info [ARGUMENTOS] TEMA
bash

Ao utilizar info sem delimitar o tema da pesquisa, você receberá um link que o levará para a página de in­for­ma­ção principal do GNU.

3. pinfo

O comando Linux pinfo é uma variação do info. A diferença é que pinfo abre o navegador de linha de comando Lynx, exibindo lá links para páginas de in­for­ma­ção. A sintaxe é a mesma:

pinfo [ARGUMENTOS] TEMA
bash

4. whatis

O comando Linux whatis pode ser usado para pesquisar palavras-chave em páginas de manuais. Digite termos de busca comuns para encontrar cor­res­pon­dên­cias exatas no manual do seu sistema ope­ra­ci­o­nal. Ao encontrar o termo procurado, o whatis retorna com uma breve descrição no terminal.

whatis [ARGUMENTOS] TERMO DE BUSCA
bash

Você também pode reservar espaços usando whatis -w '\*TERMO DE BUSCA', assim como adicionar ex­pres­sões regulares, com -r.

Comandos Linux de di­re­tó­rios

Você pode usar comandos Linux de di­re­tó­rios para criá-los, exclui-los ou gerenciá-los, di­re­ta­mente pelo terminal, bem como para navegar pela árvore de di­re­tó­rios. Os comandos mais im­por­tan­tes para di­re­tó­rios são: cd, ls, mkdir e rmdir, já ex­plo­ra­dos por este tutorial. Outros prompts comumente uti­li­za­dos estão listados abaixo:

1. chroot

O comando chroot (change root) serve para executar uma ação em um diretório root diferente daquele que está sendo utilizado no momento. Use chroot para isolar programas críticos do restante do sistema de arquivos. Para executar este comando, você deverá ter pri­vi­lé­gios root, conforme mostra a estrutura abaixo:

chroot DIRETÓRIO COMANDO
bash

2. mkdirhier

Com mkdirhier, você consegue criar hi­e­rar­quias de di­re­tó­rios inteiras, com uma única linha de comando:

mkdirhier [ARGUMENTOS] /home/usuário/diretório1/diretório2/diretório3
bash

Se diretório1 e diretório2 já existirem, o comando mkdirhier criará apenas o diretório3. Caso nenhum deles exista, todos os três di­re­tó­rios serão criados.

3. tree

Enquanto ls lista apenas o conteúdo de um diretório, o comando tree exibe toda a hi­e­rar­quia de di­re­tó­rios re­cur­si­va­mente, como estrutura de árvore. Utilize-o com a seguinte sintaxe:

tree [ARGUMENTOS] [DIRETÓRIO]
bash

Comandos Linux de arquivos

Os comandos Linux apre­sen­ta­dos nesta seção permitem que você execute ações em arquivos, a partir do terminal. Os comandos básicos cp, mv e rm, copiam, movem, renomeiam ou excluem arquivos do seu sistema. Fora estes, é im­por­tante conhecer:

1. basename

Ao adicionar um caminho de arquivo ao comando basename, ele retornará o nome do arquivo sem indicar o caminho padrão. Observe a sintaxe abaixo:

basename [ARGUMENTOS] caminho/para/arquivo [SUFIXO]
bash

Expanda este comando adi­ci­o­nando ar­gu­men­tos a ele.

2. comm

Use o comando comm para comparar, linha por linha, arquivos ordenados (por exemplo, por sort). Execute-o inserindo a seguinte sintaxe no terminal:

comm [ARGUMENTOS] ARQUIVO1 ARQUIVO2
bash

O comando suporta três ar­gu­men­tos:

  • -1: Suprime linhas ex­clu­si­vas do ARQUIVO1
  • -2: Suprime linhas ex­clu­si­vas do ARQUIVO2
  • -3: Suprime todas as linhas contidas em ambos os arquivos

3. cut

O comando Linux cut extrai (corta) o conteúdo de um arquivo, a partir de uma linha de texto de um arquivo (por exemplo, arquivos de registro ou CSV). Observe a sintaxe:

cut [ARGUMENTOS] ARQUIVO
bash

A posição exata da seção a ser extraída pode ser definida por -b (posição de byte), -c (posição de caractere), -d (de­li­mi­ta­dor) ou -f (campo).

4. dirname

O comando dirname é a con­tra­par­tida do comando basename. Ele extrai parte do caminho de um arquivo e o exibe no terminal, sem conter o nome do arquivo. A sintaxe de dirname é:

dirname [ARGUMENTOS] caminho/para/arquivo
bash

5. file

Com o comando file, você solicita in­for­ma­ções sobre o tipo de um arquivo, como mostra a sintaxe base:

file [ARGUMENTO] ARQUIVO
bash

6. lsof

O comando Linux lsof (list open files) ocupa-se em fornecer in­for­ma­ções sobre arquivos abertos no terminal, clas­si­fi­cando-os por PID (ID do processo). Para executá-lo, utilize a sintaxe:

lsof [ARGUMENTOS]
bash

Sistemas Unix como o Linux adotam a política “tudo é um arquivo”, por isso, a lista gerada pelo comando lsof costuma ser extensa. Utilize ar­gu­men­tos para limitar os re­sul­ta­dos.

7. md5sum

O comando md5sum ajuda a calcular e checar somas de ve­ri­fi­ca­ções MD5 em arquivos.

8. paste

Parecido com cat, o comando paste também permite a saída de conteúdos de arquivos pelo output padrão. En­tre­tanto, enquanto cat somente combina conteúdos, paste une coluna com coluna. Sua sintaxe básica é a seguinte:

paste [ARGUMENTOS] ARQUIVO1 ARQUIVO2…
bash

Você pode per­so­na­li­zar o separador de paste, adi­ci­o­nando à estrutura dele o argumento -d. Apesar de ta­bu­la­ções serem usadas como se­pa­ra­do­res padrão, um segundo modo pode ser ativado pelo argumento -s (serial). Ele faz com que todas as linhas do primeiro arquivo de entrada sejam trans­fe­ri­das para a primeira linha do arquivo de saída. Já os dados de todos os outros arquivos de entrada seguem em linhas de saída di­fe­ren­tes. Assim, cada linha da saída contém o conteúdo de apenas um arquivo de entrada.

9. rename

O comando Linux rename permite renomear arquivos e di­re­tó­rios com a ajuda de ex­pres­sões regulares (regex). Ao contrário de mv, rename é adequado para operar arquivos em que nomes devem ser par­ci­al­mente ou to­tal­mente ajustados. Esta é sua sintaxe:

rename [ARGUMENTOS] 'EXPRESSÕES REGULARES' ARQUIVO
bash

EX­PRES­SÕES REGULARES devem ser subs­ti­tuí­das de acordo com a seguinte estrutura:

S/TERMO DE BUSCA/SUBSTITUTO/MODIFICADOR
bash

10. shred

O comando shred exclui arquivos, com segurança, pelo terminal. Os elementos apontados são so­bres­cri­tos durante o processo de exclusão, não sendo possível a res­tau­ra­ção. A sintaxe do comando é a seguinte:

shred [ARGUMENTOS] ARQUIVO
bash

11. sort

Use o comando sort para ordenar listas de arquivos e re­sul­ta­dos do terminal nu­me­ri­ca­mente, al­fa­be­ti­ca­mente ou por linha. A sintaxe de sort é a seguinte:

sort [ARGUMENTOS] ARQUIVO
bash

Per­so­na­lize o método de ordenação com o uso de ar­gu­men­tos. Por exemplo, por número (-n), ale­a­to­ri­a­mente (-R) ou in­ver­sa­mente (-r).

12. split

O comando Linux split é usado para dividir arquivos. A sintaxe é a seguinte:

split [ARGUMENTOS] [ENTRADA [PREFIXO]]
bash

ENTRADA cor­res­ponde ao arquivo a ser dividido e PREFIXO atua nos nomes dos arquivos par­ti­ci­pan­tes, seguindo o padrão abaixo:

PREFIXOaa, PREFIXOab, PREFIXOac …
bash

Caso nenhum prefixo seja definido, split usará o prefixo padrão x. Adicione o argumento -b (bytes) para es­pe­ci­fi­car o tamanho dos arquivos parciais. Ele também pode ser es­pe­ci­fi­cado por kilobytes (k) e megabytes (m).

split -b 95m arquivo.tgz arquivo-dividido.tgz.
bash

13. stat

O comando stat (status) gera carimbos de data e hora de acesso, assim como carimbos de al­te­ra­ções, nos arquivos e di­re­tó­rios se­le­ci­o­na­dos. Esta é a sintaxe do comando:

stat [ARGUMENTOS] ARQUIVO
bash

O formato de saída pode ser per­so­na­li­zado com o uso de ar­gu­men­tos.

14. uniq

O comando uniq é nor­mal­mente utilizado em com­bi­na­ção com sort, para limpar arquivos ordenados, oriundos de linhas du­pli­ca­das. No exemplo abaixo, sort é vinculado por pipe (|) ao comando uniq para, pri­mei­ra­mente, ordenar um arquivo e, em seguida, recriá-lo sem as linhas du­pli­ca­das.

sort arquivo.txt | uniq
bash

Comandos Linux de pesquisa

O Linux dis­po­ni­bi­liza inúmeros comando de pesquisa para serem usados di­re­ta­mente no terminal.

1. find

Com find, você consegue pesquisar dentro de um arquivo Linux. Para tanto, utilize a seguinte sintaxe:

find [ARGUMENTOS] [DIRETÓRIO] [BUSCA_CONDICIONAL] [AÇÕES]
bash

Insira, em DIRETÓRIO, o diretório onde a pesquisa deve ser realizada. Ela também se expandirá aos sub­di­re­tó­rios. Caso nenhum diretório seja es­pe­ci­fi­cado, o find buscará dentro do diretório de trabalho atual.

Ar­gu­men­tos permitem que você defina critérios de busca e ações a serem exe­cu­ta­das. A ação padrão é -print. Ela determina que todos os re­sul­ta­dos de busca sejam emitidos na saída padrão (ge­ral­mente, no terminal). Outros ar­gu­men­tos pos­si­bi­li­tam filtragem pelo nome do arquivo, por tamanho, por hora de acesso etc. Encontre todos os ar­gu­men­tos possíveis no manual cor­res­pon­dente.

2. locate

O comando locate também busca arquivos pelo terminal. Ao contrário de find, contudo, ele realiza buscas num banco de dados es­pe­ci­al­mente criado e atu­a­li­zado re­gu­lar­mente. O comando locate é capaz de emitir re­sul­ta­dos muito mais ra­pi­da­mente que o find. Para pesquisar um arquivo es­pe­cí­fico em um banco de dados, faça uso da seguinte estrutura:

locate TERMO DE BUSCA
bash

Aqui, TERMO DE BUSCA suporta me­ta­ca­rac­te­res e espaços re­ser­va­dos (*). Coloque-os entre aspas para impedir o terminal de in­ter­pretá-los.

3. tre-agrep

O comando Linux tre-agrep também é usado para pesquisar cadeias de ca­rac­te­res em arquivos de texto, a partir de um termo de busca. Mas, ao contrário de grep, tre-agrep não exibe somente cor­res­pon­dên­cias exatas, mas também re­sul­ta­dos parecidos, que podem conter, por exemplo, alguma letra errada ou ausente. Este comando é baseado na bi­bli­o­teca TRE, tornando-a dis­po­ní­vel ao terminal. Sua sintaxe cor­res­ponde à do comando grep:

tre-agrep [ARGUMENTOS] TERMO DE BUSCA ARQUIVO(S)
bash

Adi­ci­o­nando ar­gu­men­tos à estrutura, você define a to­le­rân­cia a di­ver­gên­cias. No nosso exemplo, toleramos uma única di­ver­gên­cia.

tre-agrep -1 'Linux' test .txt
bash

4. updatedb

O comando de busca locate só funciona cor­re­ta­mente se o arquivo /var/lib/locatedb for re­gu­lar­mente atu­a­li­zado. É aí que o comando updatedb entra, por pos­si­bi­li­tar a atu­a­li­za­ção manual deste banco de dados. Você precisa de per­mis­sões root para executá-lo:

updatedb
bash

5. whereis

Com o comando whereis, você é capaz de localizar o código binário, o código-fonte ou os arquivos de manual do programa es­pe­ci­fi­cado. A sintaxe do comando é a seguinte:

whereis [ARGUMENTOS] PROGRAMA
bash

Utilize ar­gu­men­tos para limitar a pesquisa a de­ter­mi­na­dos tipos de arquivos e di­re­tó­rios.

6. which

Se você quiser iden­ti­fi­car os arquivos binários de um programa, use o comando which com a seguinte sintaxe:

which [ARGUMENTOS] PROGRAMA
bash

Por padrão, o comando which exibe logo o primeiro arquivo que encontrar. Use o argumento -a para que todos os arquivos que atendam aos critérios de busca sejam mostrados.

Comandos Linux de in­for­ma­ções sobre usuários

Alguns comandos Linux garantem acesso a in­for­ma­ções de­ta­lha­das sobre usuários re­gis­tra­dos no sistema, assim como a grupos e seus res­pec­ti­vos processos.

1. finger

O comando finger serve para acessar in­for­ma­ções de usuário. Combine-o com o nome do usuário desejado:

finger [ARGUMENTOS] [USUÁRIO]
bash

Ao digitar somente finger, sem es­pe­ci­fi­car um nome de usuário, o terminal retornará in­for­ma­ções sobre a sua própria conta.

2. groups

O comando groups lista par­ti­ci­pa­ções em grupos de uma conta de usuário es­pe­cí­fica. Use groups sem es­pe­ci­fi­car um nome de usuário para obter a lista de todos os grupos da sua própria conta. Assim é a sintaxe de groups:

groups [ARGUMENTOS] [USUÁRIO]
bash

3. id

O comando Linux id retorna IDs dos usuários e grupos es­pe­ci­fi­ca­dos. Caso você queira obter seus próprios IDs, basta executar o comando sem es­pe­ci­fi­car um nome de usuário.

id [ARGUMENTOS] [USUÁRIO]
bash

Limite o intervalo de saída fazendo uso de ar­gu­men­tos.

4. last

Use o comando last, com o padrão mostrado abaixo, para receber lista com todos os usuários que se co­nec­ta­ram re­cen­te­mente ao sistema, incluindo horários de login e logout.

last [ARGUMENTOS] [USUÁRIO]
bash

As in­for­ma­ções a serem exibidas serão obtidas do arquivo wtmp, em /var/log/wtmp. Para solicitar in­for­ma­ções sobre apenas uma de­ter­mi­nada conta, digite o comando, seguido do nome de usuário desejado.

5. w

O comando w gera lista de todos os usuários re­gis­tra­dos, e também inclui todos os processos por eles exe­cu­ta­dos. Use w em com­bi­na­ção com um nome de usuário para obter in­for­ma­ções somente sobre este usuário:

w [ARGUMENTOS] [USUÁRIO]
bash

Tanto o intervalo quanto o formato da saída podem ser per­so­na­li­za­dos com o uso de ar­gu­men­tos.

6. who

O comando who apresenta in­for­ma­ções de­ta­lha­das sobre usuários re­gis­tra­dos no sistema. Esta é sua sintaxe:

who [ARUGUMENTOS] [ORIGEM]
bash

Por padrão, who exibe dados sobre usuários atu­al­mente re­gis­tra­dos, já que baseia-se no arquivo /var/run/utmp. Você tem a opção de es­pe­ci­fi­car outros arquivos como fonte de in­for­ma­ção.

7. whoami

Use o comando whoami para obter dados sobre o seu usuário.

whoami [ARGUMENTOS]
bash

Comandos Linux para gerenciar usuários

Comandos Linux permitem que você crie, exclua e gerencie usuários e grupos di­re­ta­mente pelo terminal. Reunimos, abaixo, os prin­ci­pais comandos para gerenciar usuários no Linux, assim como comandos para acessar direitos de outros usuários, com o su­pe­ru­suá­rio root.

1. chfn

O comando chfn (change finger) pos­si­bi­lita a per­so­na­li­za­ção de in­for­ma­ções sobre a conta de um usuário, adi­ci­o­nando a ela o nome real, a lo­ca­li­za­ção do es­cri­tó­rio e o número do telefone, seja este par­ti­cu­lar ou comercial. A sintaxe é a seguinte:

chfn [ARGUMENTOS "NOVA INFORMAÇÃO"] [USUÁRIO]
bash

A NOVA IN­FOR­MA­ÇÃO deve ser adi­ci­o­nada jun­ta­mente com o res­pec­tivo argumento: -f para nome real, -r para lo­ca­li­za­ção do es­cri­tó­rio, -w para telefone comercial e -h para telefone par­ti­cu­lar.

2. chsh

O comando Linux chsh (change shell) altera o shell de login do usuário es­pe­ci­fi­cado. Para tanto, utilize a seguinte estrutura:

chsh [ARGUMENTOS] USUÁRIO
bash

Também é possível utilizar o argumento -s em conjunto com o comando chsh para alterar o shell de login de uma conta.

3. deluser

O comando deluser exclui todas as entradas da conta de usuário es­pe­ci­fi­cada, dos arquivos de contas do sistema. Para executar deluser, você precisa de per­mis­sões root e da seguinte sintaxe:

deluser [ARGUMENTOS] USUÁRIO
bash

Se você também quiser excluir todos os arquivos do diretório inicial do usuário, use deluser jun­ta­mente com --remove-home. Se quiser excluir todos os arquivos do usuário do sistema, combine o comando a --remove-all-files.

4. delgroup

O comando delgroup (delete group) exclui um grupo de usuários existente. Para executar o comando, você precisa de per­mis­sões root. A sintaxe de delgroup é:

delgroup [ARGUMENTOS] GRUPO
bash

5. groupmod

Nomes e IDs de grupos de usuários (GID) exis­ten­tes podem ser mo­di­fi­ca­dos pelo comando groupmod. Ele necessita de per­mis­sões roote possui a seguinte sintaxe:

groupmod ARGUMENTOS GROUP
bash

Use groupmod com -g para per­so­na­li­zar o GID. Com o argumento -n, so­bres­creva o nome do grupo.

6. newgrp

O comando newgrp (new group) permite que usuários re­gis­tra­dos alterem o ID do grupo atual, sem a ne­ces­si­dade de re­a­li­za­rem logout seguido de login. Esta é a estrutura do comando:

newgrp [-] [GRUPO]
bash

Se o comando newgrp for usado com o parâmetro opcional [-], a alteração causará uma rei­ni­ci­a­li­za­ção do ambiente de usuário, que exigirá novo login. Se você executar newgrp sem es­pe­ci­fi­car um grupo, aquele que estiver es­pe­ci­fi­cado em /etc/passwd será mo­di­fi­cado.

7. su

O comando su pos­si­bi­lita al­te­ra­ções tem­po­rá­rias de usuários, permitido que ações sejam exe­cu­ta­das com direitos de outros usuários. Ao contrário de sudo, su não é um comando direto, e sim uma mudança de iden­ti­dade. Ao invés de solicitar a senha do usuário de origem, a senha do usuário de destino é exigida. Esta é sua sintaxe:

su [ARGUMENTOS] [USUÁRIO]
bash

Ao utilizar este comando sem es­pe­ci­fi­car o usuário, root será o usuário de destino.

8. usermod

O comando usermod permite que contas de usuários an­te­ri­or­mente criadas possam ser editadas. Use usermod com per­mis­sões root e a seguinte sintaxe:

usermod [ARGUMENTOS] USUÁRIO
bash

As mo­di­fi­ca­ções devem ser feitas com a ajuda de ar­gu­men­tos. Para alterar o nome de usuário, por exemplo, adicione à estrutura -l NOVO NOME. Para mais opções, acesse a página de manual cor­res­pon­dente.

Comandos Linux de sistema

Nesta categoria, você conhecerá comandos Linux para controlar seu sistema. Utilize-os para reiniciar e desligar o sistema pelo terminal, assim como para con­fi­gu­rar um timer, se desejar.

1. logger

Use logger com a seguinte estrutura:

logger "MENSAGEM"
bash

Localize o registro no sistema em /var/log/syslog.

2. reboot

O comando reboot reinicia o sistema. Para tanto, ele deve ser executado com per­mis­sões root.

reboot [ARGUMENTOS]
bash

3. rtcwake

O comando rtcwake pos­si­bi­lita que você determine quando seu sistema deve ligar e desligar, au­to­ma­ti­ca­mente, com a ajuda de um timer. Esta é a sintaxe do comando:

rtcwake [ARGUMENTOS] [MODO] [TEMPO]
bash

Determine como o sistema deve ser desligado (-m MODE), e em que momento (-s TEMPO EM SEGUNDOS). Também existe a opção de ligar o sistema em um horário definido por (-t UNIXTIME).

Comandos Linux de in­for­ma­ções sobre o sistema

Comandos desta categoria permitem que você obtenha in­for­ma­ções e re­la­tó­rios sobre o status do seu sistema, para ter uma ideia geral do seu fun­ci­o­na­mento.

1. date

O comando date exibe a data e a hora con­fi­gu­ra­das no sistema.

date [ARGUMENTOS] [FORMATO]
bash

Caso você deseje trabalhar com tempos es­pe­cí­fi­cos para o contexto de pro­gra­ma­ção (veja rtcwake), faça essa con­fi­gu­ra­ção adi­ci­o­nando ao comando date o argumento -d 'DATE'. Vários formatos podem ser con­fi­gu­ra­dos para a exibição de in­for­ma­ções sobre data e hora.

2. df

Use o comando df (disk free) de acordo com a estrutura abaixo:

df [ARGUMENTOS] [ARQUIVO]
bash

Adicione um arquivo es­pe­cí­fico ao comando, para o sistema es­pe­ci­fi­car apenas o espaço livre da partição onde ele está lo­ca­li­zado. Caso você não o faça, o espaço livre no disco rígido das partições montadas será exibido. O argumento -l (local) restringe o df ao sistema de arquivos local, e também permite a per­so­na­li­za­ção do formato de exibição.

3. dmesg

O comando dmesg (display message) exibe in­for­ma­ções sobre o buffer circular no terminal, per­mi­tindo a iden­ti­fi­ca­ção e lo­ca­li­za­ção de falhas de driver e hardware. Ele tem a seguinte sintaxe:

dmesg [ARGUMENTOS]
bash

Por conter todas as mensagens da rotina de ini­ci­a­li­za­ção do sistema, o resultado do comando é longo. A depender do nível de detalhes que você deseja obter, utilize dmesg em com­bi­na­ção com os ar­gu­men­tos more, less e tail.

4. free

O comando free fornece in­for­ma­ções sobre o uso da memória. Esta é sua sintaxe:

free [ARGUMENTOS]
bash

O comando lhe retornará dois re­sul­ta­dos: Mem e Swap. Adicione -h a free para que o uso da memória seja exibido em formato legível por humanos.

5. hostname

Use hostname para ter acesso aos nomes DNS do sistema. Este é o padrão do comando:

hostname [ARGUMENTOS]
bash

6. uname

O comando Linux uname (unix name) tem a função de exibir in­for­ma­ções sobre o núcleo do sistema. Utilize variados ar­gu­men­tos para filtrar re­sul­ta­dos e obter somente as in­for­ma­ções que você deseja. Encontre estes ar­gu­men­tos no res­pec­tivo manual.

uname [ARGUMENTOS]
bash

7. uptime

Se você quiser saber há quanto tempo seu sistema está em execução desde a última rei­ni­ci­a­li­za­ção, digite o comando uptime no terminal:

uptime
bash

8. vmstat

Com a ajuda da fer­ra­menta de mo­ni­to­ra­mento vmstat, você pode acessar in­for­ma­ções sobre memória virtual, pro­ce­di­men­tos de leitura e gravação no disco, e atividade da CPU. Execute vmstat de acordo com a seguinte sintaxe, para gerar valores desde a última ini­ci­a­li­za­ção do sistema:

vmstat [ARGUMENTOS]
bash

O vmstat também oferece um modo de mo­ni­to­ra­mento contínuo, que acessa os valores do sistema sempre que so­li­ci­tado, em um intervalo de tempo definido em segundos.

vmstat [ARGUMENTOS] [INTERVALO [REPETIÇÕES]]
bash

Comandos Linux de in­for­ma­ções sobre hardware

Comandos Linux desta categoria fornecem in­for­ma­ções de­ta­lha­das sobre os com­po­nen­tes de hardware do seu sistema.

1. lspci

Use o comando lspci (list pci) para obter in­for­ma­ções, em detalhes, sobre dis­po­si­ti­vos PCI. Este é o padrão a ser seguido:

lspci [ARGUMENTOS]
bash

Para conhecer os ar­gu­men­tos que podem ser com­bi­na­dos a este comando, consulte o manual do seu sistema ope­ra­ci­o­nal.

2. lsusb

Use lsusb (list usb) para obter in­for­ma­ções de­ta­lha­das, no terminal, sobre dis­po­si­ti­vos USB co­nec­ta­dos.

lsusb [OPTIONS]
bash

Para conhecer os ar­gu­men­tos que podem ser com­bi­na­dos a este comando, consulte o manual do seu sistema ope­ra­ci­o­nal.

Comandos Linux para gerenciar processos

No Linux, qualquer programa em execução é clas­si­fi­cado como um processo. Os comandos Linux listados nesta seção permitem que você su­per­vi­si­one todos os processos em execução no seu sistema, com fa­ci­li­dade, pelo terminal. Alguns também pos­si­bi­li­tam o ge­ren­ci­a­mento e o controle de processos, de acordo com a sua vontade.

1. chrt

O comando Linux chrt encarrega-se de controlar, em tempo real, a pri­o­ri­dade de cada processo, per­mi­tindo ajustes dos processos em execução, pelo terminal. Utilize-o com a seguinte sintaxe:

chrt [ARGUMENTOS] [PRIORIDADE] PID/COMANDO [ARGUMENTO]
bash

Também é possível utilizar chrt sem es­pe­ci­fi­car uma pri­o­ri­dade. Com­ple­mente-o com o argumento -p para iden­ti­fi­car atributos, em tempo real, dos processos es­pe­ci­fi­ca­dos. O comando também permite que processos em execução ou recém-iniciados sejam agendados e regulados, com a ajuda de ar­gu­men­tos. Para descobri-los, consulte o manual do seu sistema.

2. ionice

O comando Linux ionice é usado para modificar a pri­o­ri­dade de processos que utilizam a interface de entrada e saída (E/S). Esta é a sintaxe do comando:

ionice [ARGUMENTOS] COMANDO
bash

Para conseguir executar o ionice, você precisa de per­mis­sões root. O comando faz distinção entre três classes de agen­da­mento, que devem ser es­pe­ci­fi­ca­das pelo argumento -c class. Os valores, 1, 2 e 3, cor­res­pon­dem a:

  • 1 = Tempo real: A ação E/S é executada ime­di­a­ta­mente
  • 2 = Melhor esforço: A ação E/S é executada o mais rápido possível
  • 3 = Inativo: A ação E/S só é executada quando nenhum outro processo ocupar a E/S

3. nohup

Nor­mal­mente, todos os processos exe­cu­ta­dos por um usuário são en­cer­ra­dos, au­to­ma­ti­ca­mente, assim que o terminal é fechado (exit). Contudo, o comando Linux nohup (no hangup) de­sas­so­cia o comando es­pe­ci­fi­cado da sessão corrente, para que ele continue a ser executado mesmo após o logout.

nohup COMANDO
bash

4. pidof

O comando Linux pidof gera números de iden­ti­fi­ca­ção de processos (PIDs) para todos os programas em execução. Gere PIDs usando pidof da seguinte maneira:

pidof [ARGUMENTOS] PROGRAMA
bash

Caso você necessite gerar um ID somente para o primeiro processo, digite pidof em com­bi­na­ção com o argumento -s (single shot).

5. pidkill

Assim como kill, o comando pkill também envia um sinal ao processo es­pe­ci­fi­cado. No entanto, este não utiliza o PID para encontrar o processo, e sim o termo de busca cor­res­pon­dente ao nome do processo em execução — também é possível localizar o processo por expressão regular. O comando pkill encaminha o sinal padrão TERM quando nenhum outro sinal é definido. Esta é sua sintaxe:

pkill [ARGUMENTOS] [-SINAL] [TERMO DE BUSCA]
bash

Ar­gu­men­tos podem ser adi­ci­o­na­dos à expressão para limitar a atuação do comando a processos de um usuário es­pe­cí­fico (-U UID), a sub­pro­ces­sos de um processo pai (-P PID), ou aos processos mais novos (-n) ou mais antigos (-o).

6. pstree

Use o comando Linux pstree para que todos os processos em execução sejam exibidos em estrutura de árvore. A sintaxe geral do comando é a seguinte:

pstree [ARGUMENTOS]
bash

Per­so­na­lize o formato e o intervalo dos re­sul­ta­dos uti­li­zando ar­gu­men­tos.

7. renice

O comando renice permite per­so­na­li­zar a pri­o­ri­dade de um processo em execução. Esta é sua sintaxe:

renice PRIORIDADE [ARGUMENTOS]
bash

8. sleep

O comando Linux sleep in­ter­rompe a sessão atual do terminal por um período de­ter­mi­nado de tempo. A estrutura de sleep é a seguinte:

sleep NÚMERO[SUFIXO]
bash

Digite sleep sem sufixo para que o número es­pe­ci­fi­cado seja in­ter­pre­tado em segundos (s). Também in­ter­rompa a sessão do terminal por minutos (m), horas (h) ou dias (d).

9. taskset

O comando Linux taskset pode ser usado para controlar processos de modo avançado, quando sistemas com vários pro­ces­sa­do­res estão sendo uti­li­za­dos. Ele pode, por exemplo, atribuir processos e comandos a pro­ces­sa­do­res es­pe­cí­fi­cos. Para fazer uso do taskset, você deverá ter per­mis­sões root. Esta é sua estrutura:

taskset [ARGUMENTOS] MÁSCARA COMANDO
taskset [ARGUMENTOS] -p PID
bash

A atri­bui­ção de um processo ou comando a um pro­ces­sa­dor é feita por máscaras de bits he­xa­de­ci­mais. Como atri­bui­ções por máscaras de bits não são tão in­tui­ti­vas, o taskset costuma ser usado em conjunto com o argumento -c (–cpu-list), que atribui cor­res­pon­den­tes numéricos a pro­ces­sa­do­res (por exemplo, 0, 5, 7, 9-11).

Comandos Linux de paginação

Quer obter um panorama sobre o conteúdo de um arquivo extenso? Comandos Linux de paginação lhe permitem se­le­ci­o­nar seções de arquivos para que sejam exibidas pelo terminal, podendo assim serem per­cor­ri­das de modo in­te­ra­tivo.

1. head

O comando Linux head tem a função de gerar a primeira parte de um arquivo. Esta é sua sintaxe:

head [ARGUMENTOS] ARQUIVO
bash

Combine o comando com -n NÚMERO DE LINHAS para es­pe­ci­fi­car a quan­ti­dade de linhas a serem exibidas, a começar do início.

2. less

O comando less exibe o conteúdo de um arquivo de texto di­re­ta­mente no terminal. A estrutura pode ser en­con­trada abaixo:

less [ARGUMENTOS] ARQUIVO
bash

Ao acessar um documento pelo terminal, você poderá interagir ati­va­mente com ele, per­cor­rendo-o, se­le­ci­o­nando-o ou buscando por trechos uti­li­zando palavras-chave. Encerre o modo de leitura in­te­ra­tivo com o atalho de teclado [Q]. Descubra outras teclas de controle no manual do seu sistema ope­ra­ci­o­nal.

3. tail

Enquanto head exibe as primeiras 10 linhas do arquivo por você de­ter­mi­nado, o comando Linux tail exibe as últimas 10. Ambos utilizam o mesmo padrão, portanto consulte head para conhecê-lo.

Comandos Linux de edição

No Linux, você não precisa instalar um software de pro­ces­sa­mento de texto para per­so­na­li­zar arquivos de con­fi­gu­ra­ção, editar trechos de códigos ou fazer pequenas anotações. Acesse editores de texto pelo terminal, para trabalhar com do­cu­men­tos escritos. Abaixo, indicamos três in­te­res­san­tes programas:

1. Emacs

Emacs é um editor de texto mul­ti­pla­ta­forma, que pode ser expandido conforme desejado, por interface de pro­gra­ma­ção. Por padrão, o programa também oferece uma interface gráfica de usuário, mas pode ser aberto pelo terminal, se combinado ao argumento --no-window-system:

emacs --no-window-system
bash

Acesse tutoriais sobre o Emacs uti­li­zando o atalho de teclado [CTRL] + [H], [T].

2. Nano

Nano é um editor de texto baseado em terminal. Apesar de oferecer menos recursos que editores similares (como o Vim), ele é es­pe­ci­al­mente fácil de usar. Utilize esta sintaxe para acessar o programa:

nano [ARGUMENTOS] ARQUIVOS
bash

Com o Nano, você consegue abrir arquivos de texto no terminal, que podem ser editados. Ao utilizar a sintaxe do programa sem es­pe­ci­fi­car o arquivo a ser aberto, o terminal criará um novo arquivo de texto e o ar­ma­ze­nará no diretório es­pe­ci­fi­cado.

3. Vim

Vim (Vi Improved) é derivado do editor de texto Vi e se destaca por suas várias extensões, como realce de sintaxe, abran­gente sistema de ajuda, scripts nativos, pre­en­chi­mento au­to­má­tico de códigos e seleção visual de textos.

Este programa de código aberto oferece vários modos de edição de arquivos de texto puro, e pode ser usado tanto no terminal quanto por uma aplicação, que conta com interface gráfica de usuário própria (GVim). Este editor é utilizado, prin­ci­pal­mente, para a edição de códigos-fonte.

Caso você inicie o Vim pelo terminal, terá de operá-lo pelo teclado. Utilize a seguinte sintaxe para chegar ao programa:

vim [ARGUMENTOS] ARQUIVO
bash

O argumento para Vim vimtutor fornece extensa in­tro­du­ção ao editor, também no terminal. Acesse nosso artigo es­pe­ci­a­li­zado no editor Linux Vim para mais in­for­ma­ções sobre ins­ta­la­ção e modos de operação do programa.

Comandos Linux para gerenciar rede

Você também pode gerenciar sua rede com fa­ci­li­dade, pelo terminal do Linux. Entre as pos­si­bi­li­da­des estão testar conexão, solicitar in­for­ma­ções DNS, con­fi­gu­rar interface e enviar arquivos para outros com­pu­ta­do­res na rede. Os prin­ci­pais comandos do tipo estão listados abaixo.

1. arp

O comando arp permite que você acesse e manipule o cache ARP do seu sistema ope­ra­ci­o­nal. Use arp sem adicionar ar­gu­men­tos a ele para ter acesso ao conteúdo da tabela ARP.

arp [ARGUMENTO]
bash

Al­ter­na­ti­va­mente, limite a exibição dos re­sul­ta­dos com ar­gu­men­tos, ou crie e delete entradas:

  • -a HOSTNAME = Limita re­sul­ta­dos para hostnames es­pe­cí­fi­cos.
  • -s HOSTNAME MAC_ADDRESS = Cria entrada ARP com hostname e endereço MAC es­pe­ci­fi­ca­dos
  • -d HOSTNAME = Exclui entrada ARP

2. iw

O comando Linux iw é usado para a con­fi­gu­rar in­ter­fa­ces WLAN, fun­ci­o­nando como al­ter­na­tiva ao iwconfig. Execute-o uti­li­zando uma sintaxe se­me­lhante à do comando ip:

iw [ARGUMENTOS] OBJETO [COMANDO]
bash

Estes são os ar­gu­men­tos possíveis:

  • dev NOME_INTERFACE = Interface de rede
  • phy NOME_DIS­PO­SI­TIVO = Dis­po­si­tivo WLAN (por nome)
  • phy#ÍNDICE_DIS­PO­SI­TIVO = Dis­po­si­tivo WLAN (por índice)
  • reg = Agente regulador para con­fi­gu­rar de­fi­ni­ções regionais e de país

Você pode encontrar mais detalhes sobre os comandos listados no manual do seu sistema ope­ra­ci­o­nal.

3. nslookup

Assim como dig, o comando nslookup também é aplicado à resolução de nomes, sendo este dis­po­ní­vel em dois modos: in­te­ra­tivo e não in­te­ra­tivo. Para usar o nslookup no modo não in­te­ra­tivo, execute o comando com­bi­nando-o com um hostname ou endereço IP.

nslookup [ARGUMENTOS] [HOST/IP]
bash

Para iniciar o modo in­te­ra­tivo, digite nslookup no terminal sem adicionar qualquer outra in­for­ma­ção. Em seguida, insira hostnames ou endereços IP para vi­zu­a­li­zar os hostnames ou endereços IP as­so­ci­a­dos. Contudo, como este comando está ofi­ci­al­mente de­sa­tu­a­li­zado, re­co­men­da­mos que você opte pelo comando dig sempre que possível.

4. rsync

O comando Linux rsync sin­cro­niza arquivos lo­cal­mente ou em rede. Para tanto, ele compara o tamanho e o tempo de mo­di­fi­ca­ção dos mesmos. Esta é sua sintaxe:

rsync [ARGUMENTOS] FONTE(S) DESTINO
bash

O comando costuma ser executado em conjunto com o argumento -a, que garante que todos os sub­di­re­tó­rios e links sim­bó­li­cos sejam copiados, e que todos os direitos de usuário sejam efe­ti­va­dos.

5. scp

Com o comando Linux scp (secure copy) você tem mais um modo de trans­fe­rir dados em rede, de maneira segura, di­re­ta­mente pelo terminal. O comando copia dados de um com­pu­ta­dor em outro, uti­li­zando o protocolo de rede SSH. Parecido com o comando cp, scp abrange todo o sistema, se utilizado de acordo com a sintaxe:

scp [ARGUMENTOS] ARQUIVO [[USUÁRIO@]host_remoto:]CAMINHO
bash

Se você es­pe­ci­fi­car o caminho que leva ao com­pu­ta­dor remoto, este deverá ser pres­ce­dido pelo nome do usuário e pelo hostname. Já arquivos locais devem ser en­de­re­ça­dos por caminhos relativos ou absolutos. Observe o exemplo:

scp/home/max/images/image.jpg max@exemplo.com:/home/max/archive
bash

Ar­gu­men­tos permitem que você configure o modo de trans­fe­rên­cia e as opções de crip­to­gra­fia.

6. tty

O comando tty retorna nomes de arquivos, no terminal, definidos como entradas padrão. A sintaxe é esta:

tty [ARGUMENTOS]
bash

Comandos Linux para comprimir e compactar

No Linux, arquivos podem ser com­pri­mi­dos e com­pac­ta­dos com as mais di­fe­ren­tes tec­no­lo­gias. Contudo, é im­por­tante saber que nem todo arquivo com­pri­mido é com­pac­tado. Portanto, para compactar arquivos, você deve utilizar o comando tar. Combine-o a outros comandos, como gzip, bzip2 e xz, para realizar com­pac­ta­ções jun­ta­mente com com­pres­sões.

1. gzip

O gzip permite que você comprima e des­com­prima arquivos com fa­ci­li­dade, pelo terminal. Utilize, para tanto, a seguinte sintaxe:

gzip [ARGUMENTOS] ARQUIVO(S)
bash

Por padrão, o comando gzip deleta o arquivo original durante o processo de com­pres­são. Para evitar a exclusão, use o argumento -k. Este comando pode seja usado em múltiplos arquivos ao mesmo tempo, em caso de ne­ces­si­dade. Cada um dos arquivos com­pri­mi­dos é con­ver­tido ao formato .gz. Caso você deseje agrupar vários arquivos em um único arquivo com­pac­tado, combine gzip e tar. Para des­com­pri­mir, combine gzip e -d.

2. bzip2

O comando bzip2 é similar ao gzip. Contudo, apesar de utilizar a mesma sintaxe do primeiro, esse executa um processo de com­pres­são baseado em três estágios, o que permite uma redução ainda maior do tamanho dos arquivos. Ao serem com­pri­mi­dos por este comando, arquivos recebem a extensão .bz2. Aqui está sua estrutura:

bzip2 [ARGUMENTOS] ARQUIVO(S)
bash

O comando bzip2 também pode ser executado con­jun­ta­mente com tar. A des­com­pres­são é feita da mesma forma que a executada por gzip, com a ajuda do argumento -d.

3. xz

O comando Linux xz comprime arquivos, con­ver­tendo-os em arquivos de ter­mi­na­ção .xz. A sintaxe é similar à dos outros que executam esta função:

xz [ARGUMENTOS] ARQUIVO(S)
bash

Para des­com­pri­mir arquivos .xz, utilize o comando combinado ao argumento d. Também é possível des­com­pac­tar arquivos exe­cu­tando o comando unxz. Assim como arquivos .gz e .bz2, arquivos .xz não são com­pac­ta­dos, mas somente com­pri­mi­dos. Para agrupar vários arquivos .xz em um único arquivo com­pac­tado, utilize o comando em conjunto com tar.

4. cpio

O programa de com­pac­ta­ção cpio (copy in copy out) permite a gravação de dados em um arquivo com­pac­tado (.cpio), assim como a extração.

Comandos Linux para gerenciar partições

Se você quiser acessar um sistema de arquivos em outra partição do Linux, deverá integrá-lo à estrutura de di­re­tó­rios do seu sistema ope­ra­ci­o­nal primeiro — processo que recebe o nome de montar partições, e que também pode ser feito por interface gráfica de usuário. Com os comandos lsblk, blkid e mount, também é possível solicitar in­for­ma­ções sobre dis­po­si­ti­vos de ar­ma­ze­na­mento em bloco, assim como montá-los ou desmontá-los, se ne­ces­sá­rio.

1. lsblk

Use o comando Linux lsblk (list block devices) para exibir, como estrutura de árvore, todos os dis­po­si­ti­vos de ar­ma­ze­na­mento em bloco e partições co­nec­ta­dos, mesmo que não estejam di­re­ta­mente en­vol­vi­dos. Utilize a seguinte sintaxe:

lsblk [ARGUMENTOS]
bash

Modifique, in­di­vi­du­al­mente, os re­sul­ta­dos apre­sen­ta­dos e a lista de atributos, fazendo uso do argumento -o (–output). Assim, você obterá acesso a in­for­ma­ções adi­ci­o­nais, como ao número de iden­ti­fi­ca­ção (UUID), ao sistema de arquivos (FSTYPE) e ao estado (STATE).

Quando con­fi­gu­ra­dos no modo padrão, dis­po­si­ti­vos de ar­ma­ze­na­mento vazios são ignorados. Caso você deseje incluí-los entre os re­sul­ta­dos, combine lsblk e -a (–all). Para solicitar in­for­ma­ções sobre um único dis­po­si­tivo es­pe­cí­fico, digite lsblk com a seguinte sintaxe:

lsblk [ARGUMENTOS] DISPOSITIVO
bash

2. blkid

Assim como lsblk, blkid também expõe in­for­ma­ções sobre os dis­po­si­ti­vos de ar­ma­ze­na­mento em bloco co­nec­ta­dos. Use blkid com a seguinte sintaxe, para ter acesso ao número de iden­ti­fi­ca­ção (UUID) e ao tipo de sistema de arquivos (TYPE) de cada um deles.

blkid [ARGUMENTOS]
bash

Para que o resultado seja apre­sen­tado em forma de tabela, adicione à expressão o argumento -o, seguido de list. Também é possível limitar o blkid a um dis­po­si­tivo es­pe­cí­fico:

blkid [ARGUMENTOS] DISPOSITIVO
bash

Comandos Linux diversos

Apre­sen­ta­mos, na lista abaixo, im­por­tan­tes comandos Linux, de variadas ca­te­go­rias que não se encaixam nas an­te­ri­o­res.

1. alias

Ge­ral­mente, usuários interagem com o terminal de um sistema ope­ra­ci­o­nal por meio da digitação de comandos. Estes, cor­res­pon­dem à ação desejada, que deve ser executada. O comando Linux alias permite que você customize os comandos que mais utiliza, per­so­na­li­zando seus nomes. Aqui está sua sintaxe:

alias NOME_PERSONALIZADO= 'COMANDO'
bash

Substitua o espaço reservado a COMANDO por qualquer comando padrão, inclusive com ar­gu­men­tos. A ação o vinculará ao NOME_PER­SO­NA­LI­ZADO inserido.

2. at

Execute o comando at, com a seguinte sintaxe, para executar um comando com controle de tempo.

at TEMPO
bash

Em seguida, digite o comando a ser con­tro­lado e encerre o modo in­te­ra­tivo, por meio do atalho de teclado [CTRL] + [D].

3. cal

Use cal para vi­su­a­li­zar um ca­len­dá­rio no terminal. A estrutura está indicada abaixo:

cal [ARGUMENTOS] [[MÊS] ANO]
bash

4. pr

Faça uso do comando Linux pr para preparar arquivos de texto para impressão, como mostra a sintaxe:

pr [ARGUMENTOS] ARQUIVO
bash

Na con­fi­gu­ra­ção padrão, pr gera um cabeçalho de página contendo o nome do arquivo, a data corrente e o número da página.

5. script

O comando script permite o registro de uma sessão do terminal, que será salva em um arquivo typescript. Caso outra seção já esteja salva no typescript, esta será so­bres­crita. A gravação se iniciará au­to­ma­ti­ca­mente, assim que o comando for executado pelo terminal.

script
bash

Use a o atalho de teclado [CTRL] + [D] para encerrar a gravação. Se você quiser salvar a gravação em outro arquivo que não no typescript, use script em com­bi­na­ção com um nome ou caminho de arquivo.

6. seq

Faça uso do comando Linux seq para que o terminal gere uma série numérica padrão. Para tanto, defina o valor inicial, o valor final e um in­cre­mento (opcional).

seq [ARGUMENTOS] VALOR_INICIAL INCREMENTO VALOR_FINAL
bash

7. tasksel

O comando tasksel ajuda a instalar apli­ca­ções padrão (ser­vi­do­res de e-mail, ser­vi­do­res DNS, ser­vi­do­res OpenSSH, ser­vi­do­res LAMP e outros). Com ele, você consegue au­to­ma­ti­zar a ins­ta­la­ção dos pacotes e programas que precisa, e organizar as tarefas na ordem certa. Ao digitar tasksel e --list-tasks, você gerará uma lista com todas as apli­ca­ções padrão dis­po­ní­veis.

tasksel --list-tasks
bash

Para ter acesso a mais in­for­ma­ções sobre um apli­ca­tivo padrão da lista, combine tasksel, --task-desc e a tarefa cor­res­pon­dente. Para obter uma lista com todos os pacotes que pertencem à tarefa “mail-server”, por exemplo, use o comando tasksel com o argumento --task-packages.

Para instalar todos os pacotes de um apli­ca­tivo padrão, faça uso do sub­co­mando install, mas este requer per­mis­sões root.

8. tee

O comando Linux tee duplica a saída de um programa: uma saída funciona como padrão e a outra é gravada no arquivo es­pe­ci­fi­cado por tee.

tee [ARGUMENTOS] ARQUIVO
bash

O comando é nor­mal­mente usado em com­bi­na­ção com o operador de re­di­re­ci­o­na­mento pipe (|):

ls | tee exemplo.txt
bash

9. time

Faça uso do comando Linux time, seguido da seguinte sintaxe, para iden­ti­fi­car o tempo de execução dos comandos que você iniciou no terminal.

time [ARGUMENTOS] COMANDO [ARGUMENTOS]
bash

10. tr

Digite tr no terminal para excluir um conjunto de ca­rac­te­res es­pe­cí­fico ou substituí-lo por outro. O comando tr tem a ca­pa­ci­dade de ler fluxos de dados com entradas padrão (por exemplo, um arquivo) e de gravá-los, na saída padrão, conforme a mo­di­fi­ca­ção executada. Se um conjunto de ca­rac­te­res tiver de ser subs­ti­tuído por outro, adicione estes dois ar­gu­men­tos:

tr ARGUMENTO CONJUNTO_CARACTERES1 CONJUNTO_CARACTERES2
bash

O segundo argumento (CONJUNTO_CA­RAC­TE­RES2) subs­ti­tuirá o primeiro (CONJUNTO_CA­RAC­TE­RES1). Para deletar uma sequência de ca­rac­te­res, combine tr ao argumento -d e digite o conjunto a ser excluído.

tr -d CONJUNTO_CARACTERES
bash

Esse comando é ge­ral­mente utilizado em com­bi­na­ção com ope­ra­do­res de re­di­re­ci­o­na­mento (< e >) para a re­a­li­za­ção de mo­di­fi­ca­ções nos arquivos.

tr 'a-z' 'A-Z' < exemplo1.txt > exemplo2.txt
bash

Ao ser usado, tr lê o conteúdo do arquivo exemplo1.txt, substitui as letras mi­nús­cu­las de a a z pelas maiús­cu­las e salva o resultado no arquivo exemplo2.txt.

11. wall

O comando wall envia uma mensagem a todos os usuários re­gis­tra­dos no sistema. Execute-o com a seguinte sintaxe:

wall
bash

Após pres­si­o­nar [Enter] para executar o comando, digite a mensagem que gostaria de trans­mi­tir. Ao final, pressione [Enter] mais uma vez e conclua o envio com o atalho de teclado [CTRL] + [D]. Todos os usuários re­gis­tra­dos no sistema receberão sua mensagem, enviada pelo terminal. Im­por­tante destacar que, para que estes possam receber co­mu­ni­ca­ções pelo terminal, você deverá concedê-los acesso a elas, fazendo uso do comando mesg:

Para enviar o conteúdo do arquivo a todos os usuários re­gis­tra­dos, use wall em com­bi­na­ção com um re­di­re­ci­o­na­mento de entrada e o res­pec­tivo nome do arquivo:

wall < ARQUIVO
bash

12. watch

O comando Linux watch permite a con­fi­gu­ra­ção de um comando a ser executado em in­ter­va­los regulares de tempo. Utilize a seguinte sintaxe:

watch [ARGUMENTOS] COMANDO
bash

O intervalo de tempo para a execução deve ser dado em segundos, com a uti­li­za­ção do argumento -n SECONDS. Para encerrar o watch, utilize o atalho de teclado [CTRL] + [C].

13. wc

O comando Linux wc (word count) mostra o número de linhas, palavras, letras, ca­rac­te­res e/ou bytes de um arquivo de texto. Solicite estas in­for­ma­ções com a sintaxe:

wc [ARGUMENTOS] ARQUIVO
bash

Se wc for utilizado sem ar­gu­men­tos, o resultado cor­res­pon­derá ao padrão LINHAS PALAVRAS CARACTERES ARQUIVO. Para filtrar re­sul­ta­dos, utilize os seguintes ar­gu­men­tos: -l (linhas), -c (bytes), -m (ca­rac­te­res), -L (com­pri­mento da linha mais longa) e -w (palavras).

14. xargs

O comando Linux xargs permite que você transfira o resultado de um comando anterior a um novo comando, como argumento. Via de regra, ele é combinado a um pipe (|), que funciona como operador de desvio. Esta é a sintaxe do xargs:

COMANDO1| xargs [ARGUMENTOS] COMANDO2
bash

O comando pode ser usado em com­bi­na­ção com find, por exemplo. Abaixo, find iden­ti­fica todos os arquivos no diretório atual que se encaixam no termo de busca *.tmp e exibe seus nomes no formato padrão. Então, os arquivos com o nome xargs são aceitos e re­pas­sa­dos como ar­gu­men­tos ao comando rm.

find . -NOME '*.tmp' | xargs rm
bash

A lista de comandos Linux apre­sen­tada aqui não tem qualquer pretensão de ser completa, mas cer­ta­mente inclui os comandos mais básicos do Linux e apresenta exemplos de aplicação no trabalho diário com sistemas ope­ra­ci­o­nais Unix. Para des­cri­ções de­ta­lha­das e completas sobre comandos Linux, consulte o manual do seu sistema ope­ra­ci­o­nal. Acesse, também, páginas de ajuda e do­cu­men­ta­ções no Linux man-pages project, elaborado por Michael Kerrisk.

Ir para o menu principal