Tal como a maioria dos sistemas ope­ra­ti­vos modernos, o Linux também inclui um shell através do qual é possível gerir o sistema com a ajuda de linhas de comando: todas as con­fi­gu­ra­ções efetuadas na interface gráfica (GUI) também podem ser re­a­li­za­das no chamado shell. Apre­sen­ta­mos-lhe os comandos mais im­por­tan­tes e, além disso, ex­pli­ca­mos as suas funções e possíveis uti­li­za­ções.

Lista dos 50 comandos mais im­por­tan­tes do Linux

Comando Descrição
sudo Executa programas com as per­mis­sões de outros uti­li­za­do­res
ls Mostra o conteúdo do diretório como uma lista
cd Navega pela árvore de ficheiros
touch Cria um novo ficheiro
mkdir Cria um diretório
rm Apaga ficheiro ou diretório
rmdir Apaga o diretório
mv Mover ficheiros ou di­re­tó­rios
cp Copia ficheiros ou di­re­tó­rios
pwd Mostra o nome do diretório
zip Gravar ficheiros em arquivos zip
unzip Extrair ficheiros de arquivos zip
ln Cria um link simbólico
cat Agrupa o conteúdo de vários ficheiros
grep Explora ficheiros de texto
diff Compara ficheiros ou di­re­tó­rios
cmp Compara ficheiros ao nível do byte
tar Grava e extrai ficheiros no ficheiro tar
echo Exibe uma cadeia de ca­rac­te­res na saída padrão
clear Limpa a janela do terminal
ssh Ligação a outro com­pu­ta­dor com Secure Shell
wget Des­car­re­gar um ficheiro di­re­ta­mente da Internet
ping Verifica a ligação de rede
ftp, sftp Trans­fe­rir ficheiros através de (S)FTP
ip Gerir in­ter­fa­ces IP
apt/pacman/yum Des­car­re­gar e gerir pacotes de software
netstat Mostra o estado das in­ter­fa­ces de rede
tra­ce­route Ras­tre­a­mento de pacotes de dados
route Exibe e edita tabelas de en­ca­mi­nha­mento IP
dig Solicita in­for­ma­ções do DNS
mount/unmount Adiciona sistemas de ficheiros (con­fi­gu­rar/montar)
dd Copiar ficheiros, partições ou discos bit a bit
chmod Gere as per­mis­sões de acesso
chown Gerencia direitos de pro­pri­e­dade
adduser Adiciona/altera uma conta de uti­li­za­dor
passwd Cria/edita senhas para contas de usuário
groupadd Cria grupos de uti­li­za­do­res
chattr Gere os atributos dos ficheiros
lsattr Mostra os atributos do ficheiro
chgrp Gerencia os grupos de arquivos e di­re­tó­rios
man Abre o manual
shutdown, reboot Desliga ou reinicia o sistema
top Lista dinâmica dos processos em execução
lscpu Mostra in­for­ma­ções sobre o pro­ces­sa­dor
lshw Mostra in­for­ma­ções sobre o hardware
kill In­ter­rompe e encerra um processo com PID
killall In­ter­rompe e encerra processos usando o nome
nice Define as pri­o­ri­da­des dos processos
pgrep Procura o PID através de um termo de pesquisa
ps Mostra uma lista de todos os processos em execução

Comando sudo do Linux

O comando Linux sudo (subs­ti­tute user do) permite que uma chamada ao sistema seja executada com os direitos de um uti­li­za­dor diferente, de forma segura. Nor­mal­mente, é ne­ces­sá­ria a palavra-passe do uti­li­za­dor que efetua a chamada.

Quando o comando é in­tro­du­zido sem indicar qualquer nome de uti­li­za­dor, é utilizado o su­pe­ru­ti­li­za­dor root como uti­li­za­dor.

sudo -u USUARIO LLAMADA
bash

Comando ls do Linux

O comando ls do Linux equivale ao list e é utilizado para mostrar o conteúdo de um diretório (os nomes de todos os seus ficheiros e pastas).

Esta é a sintaxe do comando:

ls [OPCIONES] DIRECTORIO
bash

Se não for es­pe­ci­fi­cado nenhum diretório com o comando ls, este exibe o conteúdo do diretório atual.

Com a ajuda de várias opções, é possível definir quais as in­for­ma­ções a apre­sen­tar e de que forma.

Comando cd do Linux

O comando cd do Linux é a abre­vi­a­tura de «change directory» e é utilizado para navegar pelo diretório.

A sintaxe deste comando segue o seguinte esquema:

cd [OPCIÓN] DIRECTORIO
bash

Se não for indicado nenhum diretório es­pe­cí­fico, o cd muda au­to­ma­ti­ca­mente para o diretório principal do uti­li­za­dor. Se for acom­pa­nhado por um traço (-), o comando cd abre o diretório anterior.

Comando touch do Linux

O comando touch do Linux pode ser utilizado para alterar a data e a hora dos acessos ou das al­te­ra­ções efetuadas num ficheiro. Se for utilizado num ficheiro que não existe, este é criado au­to­ma­ti­ca­mente, o que faz com que este comando também seja utilizado para criar ficheiros vazios.

Para chamar a função touch, é ne­ces­sá­rio seguir este esquema:

touch [OPCIÓN] ARCHIVO
bash

Se o objetivo for alterar a data e a hora de um ficheiro para uma data es­pe­cí­fica, utiliza-se a opção -t, incluindo a data no formato [AA]MMDDhhmm[.ss]

Exemplo:

touch -t 1703231037 file.txt
bash

A data e a hora do acesso e das al­te­ra­ções relativas a este ficheiro foram fixadas em 23 de março de 2017, às 10h37. Se preferir, a alteração pode ser limitada à data de acesso ou de mo­di­fi­ca­ção através das opções -a e -m. Se for utilizada sem a opção -t, é au­to­ma­ti­ca­mente marcada com a data e a hora atuais.

Comando mkdir do Linux

O comando do Linux mkdir cor­res­ponde a «make directory» e permite aos uti­li­za­do­res do Linux criar di­re­tó­rios a partir do zero. Para criar um diretório no diretório atual, utilize a seguinte sintaxe:

mkdir [OPCIÓN] DIRECTORIO
bash

Se pretender criar um novo diretório num ficheiro diferente do atual, deve indicar o caminho absoluto ou relativo para o ficheiro.

Comando rm no Linux

O comando rm no Linux apaga ficheiros ou pastas de forma ir­re­ver­sí­vel. Para tal, segue-se a seguinte estrutura:

rm [OPCIONES] ARCHIVO/ DIRECTORIO
bash

Para eliminar uma pasta jun­ta­mente com todas as suas subpastas, utiliza-se rm com a opção -R (–recursive):

Comando rmdir no Linux

Se for ne­ces­sá­rio eliminar um de­ter­mi­nado diretório, utiliza-se o comando rmdir (remove directory) de acordo com a seguinte sintaxe:

rmdir [OPCIÓN] DIRECTORIO
bash

Com rmdir, no entanto, só é possível eliminar di­re­tó­rios vazios. Se pretender eliminar um ficheiro com todas as suas pastas e subpastas, utilize o comando rm (remove) com a opção -r.

No Digital Guide, en­con­trará outras formas de eliminar um ficheiro no Linux ou eliminar um diretório no Linux.

Comando mv no Linux

O comando mv do Linux (move) copia um ficheiro ou uma pasta e apaga o original. Se isto for feito dentro da mesma pasta, o mv também pode ser utilizado para renomear os ficheiros.

Para tal, segue-se o seguinte esquema:

mv [OPCIÓN] ORIGEN DESTINO

Comando cp do Linux

O comando cp do Linux (copy) é utilizado para copiar ficheiros e segue a seguinte sintaxe:

cp [OPCIONES] ORIGEN DESTINO
bash

O elemento ORIGEM é aquele que deve ser copiado e o DESTINO é definido como um ficheiro ou uma pasta onde o elemento copiado deve ser guardado. Se o DESTINO for definido como um ficheiro já existente, o ficheiro de origem substitui o seu conteúdo. Também é possível criar um novo ficheiro de destino.

Comando pwd do Linux

Utilize o comando Linux pwd (print working directory) para exibir o nome do diretório de trabalho atual.

A sintaxe do comando é a seguinte:

pwd [OPCIONES]
bash

Comando zip do Linux

Utilize o comando zip para compactar vários ficheiros num ficheiro zip. A sintaxe do comando é:

zip ARCHIVOS DESTINO
bash

DESTINO refere-se ao nome ou caminho do ficheiro ZIP re­sul­tante. Por sua vez, ARCHIVOS apresenta os nomes ou caminhos dos ficheiros a comprimir (separados por espaços).

Comando unzip do Linux

Podes usar o unzip para extrair um ficheiro de um arquivo ZIP. A sintaxe é:

unzip ARCHIVO.zip -d DESTINO
bash

ARCHIVO refere-se ao ficheiro zip do qual pode extrair o ficheiro pre­ten­dido. Se preferir, pode es­pe­ci­fi­car um diretório de destino com a opção -d DESTINO, onde os ficheiros re­sul­tan­tes serão guardados. Caso contrário, serão guardados no diretório atual.

Comando ln do Linux

O comando Linux ln (link) cria um link que aponta para um ficheiro ou uma pasta. Isto gera uma nova entrada para esse ficheiro, per­mi­tindo aceder ao mesmo através de um caminho diferente. Para executar o comando ln, é ne­ces­sá­rio incluir, no mínimo, o caminho para o ficheiro de origem.

ln [OPCIONES] ruta/al/archivo de origen
bash

Neste caso, o link é criado no diretório de trabalho atual sem alterar o nome. Outra al­ter­na­tiva consiste em indicar um caminho de destino e atribuir um nome diferente ao link:

ln [OPCIONES] ruta/al/archivo de origen ruta/al/enlace
bash

Comando cat do Linux

O cat do Linux (con­ca­te­nate) foi criado como uma fer­ra­menta para con­ca­te­nar ficheiros e pode ser utilizado como pager para apre­sen­tar o conteúdo dos ficheiros no terminal.

Escreva cat uti­li­zando a seguinte sintaxe para ler e apre­sen­tar um ficheiro na saída padrão stdout:

cat OPCIONES ARCHIVOS
bash

Se incluir vários ficheiros, separe-os com espaços:

cat OPCIONES ARCHIVO1 ARCHIVO2
bash

Comando grep do Linux

Com o comando grep do Linux, é possível pesquisar ficheiros de texto, tais como ficheiros de registo. Como padrão de pesquisa, podem ser uti­li­za­das sequên­cias de ca­rac­te­res ou ex­pres­sões regulares. grep de acordo com esta sintaxe:

grep [OPCIONES] PATRÓN_DE_BÚSQUEDA [ARCHIVOS]
bash

Se grep encontrar uma sequência que cor­res­ponda ao padrão indicado, o terminal exibe o número da linha e es­pe­ci­fica o nome do ficheiro. Regra geral, grep aplica-se a todos os ficheiros do diretório de trabalho atual. A opção -r permite a pesquisa recursiva nos sub­di­re­tó­rios.

Comando diff do Linux

O programa diff compara dois ficheiros. Também permite verificar se dois di­re­tó­rios contêm os mesmos ficheiros. É executado com a seguinte sintaxe:

diff [OPCIONES] ARCHIVO1 ARCHIVO2
bash

Comando cmp do Linux

Ao contrário do diff, no cmp a com­pa­ra­ção é feita byte a byte, o que o torna es­pe­ci­al­mente adequado para ficheiros binários. Chama o cmp de acordo com a seguinte sintaxe:

cmp [OPCIONES] ARCHIVO1 ARCHIVO2
bash

Se cmp en­con­tra­das di­fe­ren­ças, o terminal exibe o número de bytes e o número da linha do primeiro ficheiro que apresenta di­fe­ren­ças.

Comando tar do Linux

O comando tar permite gravar ficheiros e pastas de forma se­quen­cial num arquivo tar e utilizá-los como cópias de segurança, se ne­ces­sá­rio. Ao contrário do que acontece com o formato Zip próprio dos sistemas Windows, com tar os direitos de uti­li­za­dor dos ficheiros guardados não se perdem, mesmo após a sua des­com­pres­são. Utilize a seguinte sintaxe:

tar [OPCIONES] ARCHIVOS
bash

Se quiser criar um novo arquivo, utilize tar com as opções -c (criar novo arquivo) e -f (gravar um arquivo no ficheiro indicado ou extraí-lo desse ficheiro). Para mais in­for­ma­ções, consulte o nosso artigo«Programa de arquivo tar: criação de cópias de segurança e ar­qui­va­mento de ficheiros».

Comando echo do Linux

Utilize o comando Linux echo para que o sistema apresente cadeias de ca­rac­te­res, uma por linha, na saída padrão (que nor­mal­mente é o terminal).

A sintaxe básica do comando é:

echo [OPCIONES] CADENA
bash

Comando clear do Linux

O comando clear apaga todos os comandos da sessão.

clear
bash

O uti­li­za­dor recebe um terminal vazio com o prompt à espera de comandos. Os comandos in­tro­du­zi­dos an­te­ri­or­mente são guardados no buffer de re­tro­cesso. Também é possível limpar a janela da consola com o atalho de teclado [CTRL] + [L]

Comando SSH do Linux

Com ssh, pode ligar o seu com­pu­ta­dor a um com­pu­ta­dor externo através do protocolo SSH. Desta forma, ficará na shell de outro com­pu­ta­dor. A sintaxe é:

ssh USUARIO@HOST
bash

USUÁRIO e HOST referem-se ao nome de uti­li­za­dor com o qual pretende iniciar sessão e ao endereço do com­pu­ta­dor externo.

Comando wget do Linux

Podes utilizar o comando Linux wget para des­car­re­gar ficheiros da Internet. Para tal, utiliza a seguinte sintaxe:

wget [OPCIÓN] ENLACE
bash

No campo ENLACE, indique o URL onde o ficheiro se encontra. Se desejar, pode incluir o argumento opcional -c para retomar um download que tenha sido in­ter­rom­pido.

Comando ping do Linux

Utilize o comando Linux ping para verificar a dis­po­ni­bi­li­dade de outros com­pu­ta­do­res na rede. Este comando segue a seguinte sintaxe:

ping [OPCIONES] DESTINO
bash

Além de registar o intervalo de tempo entre o envio do pacote de dados e a receção da resposta (Round Trip Time ou RTT), ping também grava o endereço IP do sistema de destino no terminal. Com ar­gu­men­tos opcionais, é possível definir o número de pacotes ou o intervalo de tempo em segundos após o qual ping termina au­to­ma­ti­ca­mente.

Comandos FTP ou SFTP do Linux

Estes comandos permitem trocar ficheiros entre o sistema local e outro com­pu­ta­dor da rede. Para tal, utiliza-se o FTP (File Transfer Protocol). Para es­ta­be­le­cer a ligação com o servidor FTP do com­pu­ta­dor de destino, utilize o ftp com a sintaxe apre­sen­tada a seguir:

ftp [OPCIONES] [HOST[PUERTO]]
bash

O en­de­re­ça­mento é feito através do nome do host ou do endereço IP. Se desejar, pode es­pe­ci­fi­car um número de porta. Utilize o FTP apenas em redes nas quais confie, uma vez que este protocolo não é seguro. Por motivos de segurança, é pre­fe­rí­vel optar pelo SFTP (SSH File Transfer Protocol). O comando Linux sftp funciona seguindo o mesmo princípio que ftp, embora, neste caso, a trans­fe­rên­cia seja en­crip­tada. O SFTP utiliza o padrão Secure Shell (SSH), bem como os seus métodos de au­ten­ti­ca­ção. Neste artigo, ex­pli­ca­mos como utilizar chaves SSH para uma ligação de rede mais segura.

Comando ip do Linux

O programa de linha de comando ip faz parte do pacote de uti­li­tá­rios iproute2, que permite consultar e con­fi­gu­rar in­ter­fa­ces de rede no terminal. Esta é a sintaxe geral do comando:

ip [OPCIONES] OBJETO [COMANDO [ARGUMENTOS]]
bash

Com a ajuda de objetos, comandos de pesquisa e ar­gu­men­tos, é possível definir qual a ação a ser executada com ip.

O programa suporta objetos como address (endereço IP), link (in­ter­fa­ces de rede), route (entrada na tabela de en­ca­mi­nha­mento) ou tunnel, aos quais podem ser aplicados comandos de pesquisa como add, change, del, list ou show.

Se, por exemplo, pretender obter o endereço IP de uma de­ter­mi­nada interface de rede (eth0), utilize o comando ip com o objeto address, o comando show e o argumento dev eth0:

ip address show dev eth0
bash

Descubra como exibir um endereço IP no Linux com mais detalhes noutro artigo do Digital Guide.

Comandos do Linux: apt, pacman e yum

Cada dis­tri­bui­ção Linux dispõe de um gestor de pacotes que permite des­car­re­gar e gerir pacotes de software. A sintaxe para instalar a aplicação é:

apt install [PAQUETE] # Distribuciones basadas en Debian como Ubuntu
pacman -S [PAQUETE] # Distribuciones basadas en Arch
yum install [PAQUETE] # Distribuciones basadas en Red Hat
bash

[PAQUETE] cor­res­ponde ao nome do pacote ou programa que pretende instalar. Na maioria dos casos, estes comandos são exe­cu­ta­dos com sudo no modo root. Para as restantes dis­tri­bui­ções, que utilizam outros gestores de pacotes, os comandos podem ser di­fe­ren­tes. Cada gestor dispõe também de comandos para remover pacotes, bem como para atualizar listas de pacotes e pacotes ins­ta­la­dos, entre outros. No Ubuntu, os comandos são apre­sen­ta­dos da seguinte forma:

apt remove [PAQUETE] # eliminar paquete
apt update # actualizar lista de paquetes
apt upgrade # actualizar packages
bash

Comando netstat do Linux

O programa de linha de comandos netstat serve para consultar o estado das in­ter­fa­ces de rede e é utilizado seguindo esta sintaxe:

netstat [OPCIONES]
bash

Quando utilizado sem opções, o comando apresenta todos os sockets abertos no terminal. Também é possível utilizar as seguintes opções para consultar tabelas de en­ca­mi­nha­mento (-r), ligações mas­ca­ra­das (-M) ou mensagens de ligação de rede (-N). Podes encontrar mais in­for­ma­ções no nosso artigo«In­tro­du­ção ao netstat».

Comandos tra­ce­route do Linux

Para rastrear o percurso de um pacote de dados IP entre o seu sistema e um com­pu­ta­dor de destino, pode utilizar o comando tra­ce­route para acom­pa­nhar o percurso dos pacotes de dados. Utilize o formato apre­sen­tado a seguir:

traceroute [OPCIONES] NOMBRE_DEL_HOST
bash

Através do traceroute, é possível obter in­for­ma­ções sobre o router e os nós da Internet pelos quais um pacote IP passa quando é en­ca­mi­nhado para um com­pu­ta­dor de destino. Por exemplo, para in­ves­ti­gar a causa de um atraso.

Comando route do Linux

Com o comando route, é possível consultar e editar as tabelas de en­ca­mi­nha­mento IP do kernel. Utiliza-se com a seguinte sintaxe:

route [OPCIONES] [add|del] [-net|-host] OBJETIVO
bash

Se utilizar o comando sem nenhuma opção, obtém-se uma tabela de en­ca­mi­nha­mento completa do núcleo:

route
bash

Se quiser adicionar uma entrada de ro­te­a­mento a uma rede, utilize a opção add:

route add -net 10.0.0.0
bash

Comando dig do Linux

dig é uma fer­ra­menta de pesquisa que permite solicitar in­for­ma­ções aos ser­vi­do­res DNS e apresentá-las no terminal. Este comando é nor­mal­mente utilizado seguindo este esquema para solicitar o endereço IP e quaisquer outras in­for­ma­ções no DNS relativas a um nome de domínio:

dig [@SERVIDOR] [DOMINIO] [TIPO]
bash

SERVIDOR é o servidor DNS ao qual é enviada a so­li­ci­ta­ção e onde se encontra a in­for­ma­ção so­li­ci­tada. Se não for indicado um servidor, dig consulta o servidor DNS padrão que consta no ficheiro /etc/resolv.conf. DOMÍNIO cor­res­ponde ao nome do domínio sobre o qual se procura a in­for­ma­ção ar­ma­ze­nada no DNS. E TIPO permite de­ter­mi­nar o tipo de pedido: ANY (qualquer entrada), A (registo IPv4 de um host) ou AAA (registo IPv6 de um host). O tipo padrão é A.

Comandos mount e unmount do Linux

Para integrar um sistema de ficheiros na estrutura de di­re­tó­rios do sistema operativo através do terminal, o Linux dis­po­ni­bi­liza o comando mount. Esta é a sintaxe geral deste comando:

mount [OPCIONES] DISPOSITIVO MOUNTPOINT
bash

DIS­PO­SI­TIVO = aqui deve ser indicada a rota para o ficheiro de dis­po­si­tivo da unidade que se pretende montar como partição.

MOUNT­POINT = esta no­men­cla­tura cor­res­ponde ao ponto exato na estrutura de di­re­tó­rios do sistema operativo onde se pretende integrar a nova partição. É nor­mal­mente indicada como um caminho absoluto.

Exemplo:

mount /dev/sdd /media/usb
bash

O dis­po­si­tivo sdd encontra-se no diretório /media/usb.

Comando dd do Linux

O programa de linha de comando dd dis­po­ni­bi­liza um método de cópia através do qual os dados são lidos bit a bit a partir de um ficheiro de entrada (if) e gravados num ficheiro de saída (of). O comando segue a seguinte sintaxe:

dd if=Origen of=Destino [OPCIONES]
bash

Nele, podem ser indicados como origem e destino tanto ficheiros in­di­vi­du­ais como partições (/dev/sda1) ou um dis­po­si­tivo completo (/dev/sda).

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

Comando chmod do Linux

O comando chmodalteração de modo) serve para gerir os direitos de acesso em sistemas de ficheiros de tipo Unix (ext2, ext3, ext4, reiser, xfs). A sintaxe geral do chmod é:

chmod [OPCIONES] MODO ARCHIVO
bash

ou

chmod [OPCIONES] MODO DIRECTORIO
bash

MODO refere-se à forma como as per­mis­sões são atri­buí­das. Para saber como criá-las e o que deve ter em conta, leia o nosso artigo sobre a atri­bui­ção de per­mis­sões de acesso com o comando chmod. Com a opção -R, é possível alargar os direitos de forma recursiva às subpastas e aos ficheiros contidos num diretório.

Comando chown do Linux

O comando Linux chown deriva do comando «change owner» e permite definir a pro­pri­e­dade de ficheiros e pastas. Este comando é utilizado da seguinte forma:

chown [OPCIONES] [USUARIO][:[GRUPO]] ARCHIVO
bash

ou

chown [OPCIONES] [USUARIO][:[ GRUPO]] DIRECTORIO
bash

Para definir os direitos de pro­pri­e­tá­rio para uti­li­za­do­res ou grupos, existem quatro com­bi­na­ções possíveis. O pro­pri­e­tá­rio e o grupo de um ficheiro são definidos de acordo com as seguintes in­di­ca­ções:

chown [OPCIONES] nombre_propietario:grupos_archivos.txt
bash
# El grupo se modifica en función de las indicaciones pero el usuario permanece invariable: 
chown [OPCIONES] :grupos_archivos.txt
# Se define al propietario pero el grupo permanece invariable:
chown [OPCIONES] propietario_archivos.txt
# Se vuelve a definir al propietario y el grupo se define por el grupo estándar del usuario activo:  
chown [OPCIONES] nombre_propietario: archivo.txt
# Los cambios se pueden extender a los subdirectorios con ayuda de la opción -R.
bash

Comando adduser do Linux

A opção mais simples para criar uma conta de uti­li­za­dor é a oferecida pelo programa de linha de comandos adduser. Trata-se de um script em Perl baseado no comando Linux useradd e oferece as mesmas fun­ci­o­na­li­da­des de forma simples. O comando adduser requer pri­vi­lé­gios de root e segue a sintaxe apre­sen­tada a seguir:

adduser [OPCIONES] USUARIO
bash

Se utilizar o adduser sem opções, serão criados au­to­ma­ti­ca­mente, além de uma conta de uti­li­za­dor, o ID, o diretório padrão e um grupo com o mesmo nome, como neste exemplo:

adduser test
bash

Em seguida, surge uma janela de diálogo in­te­ra­tiva na qual é possível definir a palavra-passe e outros dados do uti­li­za­dor, tais como o nome ver­da­deiro, o número do es­cri­tó­rio, o número de telefone, etc.

Comando passwd no Linux

Para alterar a palavra-passe de um uti­li­za­dor ou para definir, verificar ou alterar os in­ter­va­los de bloqueio, utilize o comando Linux passwd com a seguinte sintaxe:

passwd [OPCIONES] USUARIO
bash

Para alterar a palavra-passe de outro uti­li­za­dor, é ne­ces­sá­rio ter direitos de ad­mi­nis­tra­dor. Ao digitar o comando passwd sem nome de uti­li­za­dor, pode alterar a sua própria palavra-passe. Se o objetivo for bloquear a palavra-passe de outro uti­li­za­dor, utiliza-se o comando com a opção -l (lock). Outras opções permitem definir uma data de validade para as palavras-passe (-x), bem como in­ter­va­los de aviso (-w) e de ina­ti­vi­dade (-i).

Comando groupadd do Linux

O comando groupadd é utilizado para criar grupos de uti­li­za­do­res. Requer direitos de ad­mi­nis­tra­dor e é executado seguindo esta sintaxe:

sudo groupadd [OPCIONES] GRUPO
bash

Cada grupo criado recebe um iden­ti­fi­ca­dor de grupo único (GID). Os IDs de grupo entre 0 e 99 estão re­ser­va­dos para grupos do sistema. Para definir o GID de um novo grupo de uti­li­za­do­res, utiliza-se o comando com a opção -g (GID). Para criar um grupo do sistema, adiciona-se a opção -r (root).

Comando chattr do Linux

Com o programa chattr (alterar atributo), pode atribuir atributos a ficheiros ou pastas. Utilize chattr de acordo com a seguinte sintaxe para atribuir um atributo:

chattr [OPCIONES] +ATRIBUTO ARCHIVO
bash

Para remover o atributo, substitua o sinal de mais por um sinal de menos. Por exemplo, inclua o atributo -i (imutável) para proteger um ficheiro ou uma pasta contra al­te­ra­ções. No manual do programa chattr, poderá encontrar outros atributos e opções possíveis.

Comando lsattr do Linux

Se quiseres ver quais os atributos definidos para um ficheiro ou diretório, podes utilizar o comando lsattr (listar atributos) seguindo o seguinte esquema:

lsattr [OPCIONES] ARCHIVO/DIRECTORIO
bash

Comando chgrp do Linux

O comando chgrp significa «alterar grupo» e é utilizado para alterar o grupo de um ficheiro ou de um diretório, embora seja ne­ces­sá­rio dispor de per­mis­sões de ad­mi­nis­tra­dor para o poder aplicar a um ficheiro ou diretório es­pe­cí­fico. Além disso, só é possível trabalhar com os grupos aos quais se pertence. chgrp é utilizado seguindo a seguinte estrutura:

chgrp [OPCIONES] GRUPO ARCHIVO
bash

ou

chgrp [OPCIONES] GRUPO DIRECTORIO
bash

A opção -R inclui na operação as subpastas e os ficheiros contidos num diretório.

Comando man do Linux

Digite man para abrir as páginas do manual (man pages) da sua dis­tri­bui­ção Linux na consola. Para tal, siga estes passos:

man [OPCIÓN] TEMA
bash

As páginas de manual do Linux estão or­ga­ni­za­das em 10 secções temáticas: comandos de uti­li­za­dor, chamadas ao sistema, bi­bli­o­teca de funções da linguagem de pro­gra­ma­ção C, formatos de ficheiro, ficheiros de con­fi­gu­ra­ção, jogos, mis­ce­lâ­nea, comandos para ad­mi­nis­tra­ção do sistema, funções do kernel e novos comandos.

Comando shutdown do Linux

Os uti­li­za­do­res com per­mis­sões de ad­mi­nis­tra­dor podem utilizar o comando shutdown do Linux para desligar o sistema. A sintaxe básica é a seguinte:

shutdown [OPCIONES] [TIEMPO] [MENSAJE]
bash

Quando se pretende desligar o sistema, é possível definir o momento exato. Para tal, pode in­tro­du­zir-se uma hora exata (hh:mm) ou uma contagem de­cres­cente (+m). Os outros uti­li­za­do­res ativos no sistema recebem um aviso de des­li­ga­mento, que pode ser com­ple­men­tado com uma mensagem opcional. Se se adicionar a opção -r ao comando, o sistema reinicia após o des­li­ga­mento.

Comando top no Linux

Com o comando top, obtém-se uma lista dinâmica de todos os processos ativos. Para tal, utilize este esquema:

top [OPCIONES]
bash

A apre­sen­ta­ção das in­for­ma­ções sobre os processos pode ser ajustada através de várias opções. O comando suporta, além disso, a uti­li­za­ção das seguintes teclas para ordenar a apre­sen­ta­ção:

  • [P] = ordena os re­sul­ta­dos com base no uso da CPU
  • [M] = ordena a saída de acordo com a uti­li­za­ção da memória
  • [N] = ordena a saída nu­me­ri­ca­mente por PID
  • [A] = ordena a saída por idade
  • [T] = ordena a saída por tempo de CPU utilizado
  • [U USUÁRIO ou UID] = filtra a saída por usuário

Utilize a tecla [H] para aceder às páginas de ajuda e [Q] para sair da vi­su­a­li­za­ção dos processos.

Comando Linux lscpu

Utilize o lscpu (list cpu) desta forma para obter in­for­ma­ções sobre a CPU na consola:

lscpu [OPCIONES]
bash

No manual do seu sistema operativo, pode consultar todas as opções que pode utilizar com o comando.

Comando lshw do Linux

Neste caso, lshw cor­res­ponde a «list hardware» e fornece in­for­ma­ções sobre os com­po­nen­tes de hardware. O comando lshw é utilizado seguindo esta sintaxe:

lshw [OPCIONES]
bash

Este comando também suporta várias opções que permitem ajustar não só o formato de saída (-html, -xml,short, -businfo), mas também o nível de detalhe das in­for­ma­ções apre­sen­ta­das (por exemplo,-sanitize é utilizado para ocultar in­for­ma­ções con­fi­den­ci­ais).

Comando kill do Linux

kill é um programa de consola para cancelar e encerrar processos. O comando é executado de acordo com o seguinte esquema, com um sinal e o ID do processo se­le­ci­o­nado:

kill [OPCIONES] [-SEÑAL] PID
bash

Os sinais mais comuns são:

  1. TERM: força um processo a terminar por si próprio (padrão)
  2. KILL: força o en­cer­ra­mento de um processo (pelo sistema)
  3. STOP: in­ter­rompe um processo
  4. CONT: permite continuar um processo in­ter­rom­pido

Comando killall do Linux

Em com­bi­na­ção com uma palavra-chave, o comando killall do Linux é utilizado para encerrar processos cujo nome coincida exa­ta­mente com ela (são com­pa­ra­dos os primeiros 15 ca­rac­te­res).

killall [OPCIONES] [-SEÑAL] [PROCESO]
bash

A opção -e (–exact) permite alargar a com­pa­ra­ção a todos os ca­rac­te­res do nome do processo.

Comando nice do Linux

O comando nice atribui a um processo, durante o arranque, um valor nice com­pre­en­dido entre -20 e +19, que determina a forma como a ca­pa­ci­dade dis­po­ní­vel do mi­cro­pro­ces­sa­dor é dis­tri­buída. O intervalo men­ci­o­nado equivale aos níveis de pri­o­ri­dade no Linux de 100 a 139. Um processo com um valor nice de -20 tem, assim, uma pri­o­ri­dade mais elevada do que um processo com um valor nice de 19. A sua sintaxe é a seguinte:

nice [OPCIÓN] [COMANDO]
bash

Sem qualquer outra in­for­ma­ção, todos os processos iniciam com um valor nice igual a 0. A opção -n permite definir as pri­o­ri­da­des dos processos. É im­por­tante ter em conta que as pri­o­ri­da­des negativas só podem ser atri­buí­das com direitos de root.

Comando pgrep do Linux

O programa da consola pgrep compara a lista de processos ativos com uma palavra-chave e, em caso de cor­res­pon­dên­cia, apresenta os res­pe­ti­vos PID. A sintaxe básica dessa chamada é:

pgrep [OPCIONES] Término
bash

Por pre­de­fi­ni­ção, o comando pgrep devolve os PIDs de todos os processos que contêm a palavra-chave. Se a pesquisa tiver de ser limitada a todas as cor­res­pon­dên­cias exatas, utilize a opção -x. Se, além do PID, também pretender obter o nome do processo, combine pgrep com a opção -l. À se­me­lhança da grep, pgrep suporta palavras-chave baseadas em ex­pres­sões regulares.

Comando do Linux com ps

O comando psLinux apresenta uma lista de todos os processos ativos:

ps [OPCIONES]
bash

Se pre­ci­sa­res de um relatório mais detalhado, utiliza ps com as opções -f (detalhado) ou -F (muito detalhado). No manual do sistema operativo, en­con­tra­rás outras opções possíveis.

Comandos Linux adi­ci­o­nais num relance

Comandos básicos

Esta categoria inclui todos os comandos básicos do Linux uti­li­za­dos para gerir o terminal, com os quais é possível limpar a janela da consola, recuperar comandos an­te­ri­o­res a partir do histórico ou encerrar a sessão.

1. sair

Com exit, a sessão atual é encerrada e a consola é fechada.

exit
bash

Também podes usar o atalho de teclado [Ctrl] + [D] em vez disso.

2. ajuda

O comando help é utilizado para apre­sen­tar uma lista de todos os comandos do sistema.

Se in­tro­du­zir help em conjunto com um comando do shell, obterá uma breve descrição do comando em questão.

help COMMAND
bash

3. história

No Bash, os últimos 500 comandos in­tro­du­zi­dos no terminal são guardados no histórico. Esta fun­ci­o­na­li­dade ajuda na in­tro­du­ção de comandos na consola e permite executar novamente um comando in­tro­du­zido an­te­ri­or­mente, se­le­ci­o­nando-o com as setas do teclado e exe­cu­tando-o novamente.

Também é possível consultar o histórico por palavras-chave uti­li­zando o atalho de teclado [CTRL] + [R]. Ao utilizar o comando sem opções nem ar­gu­men­tos, obtém-se a lista completa e numerada de comandos.

history
bash

Para filtrar a saída, o history é combinado através do canal do Linux com o programa grep (ver opções de pesquisa) e uma palavra-chave.

history | grep PALABRA CLAVE
bash

Páginas de ajuda

Não sabe quais são os próximos passos? A este respeito, o Linux dis­po­ni­bi­liza no terminal páginas de ajuda e do­cu­men­ta­ção, como as Unix Man Pages (Manual do Unix) e as páginas de in­for­ma­ção do GNU, que contêm uma descrição exaustiva de todos os programas, comandos, ficheiros de con­fi­gu­ra­ção, formatos de ficheiro e funções do kernel. Com os comandos Linux whatis e apropos na categoria de páginas de ajuda, dispõe de programas de linha de comando que permitem pesquisar as páginas do manual do sistema operativo por palavras-chave.

1. Apropósito Com o comando apropos, são ana­li­sa­dos os títulos e as des­cri­ções das páginas do manual do seu sistema operativo por palavras-chave. Segue o seguinte esquema:

apropos [OPCIONES] PALABRA CLAVE
bash

Este comando suporta várias opções. Com a opção -e, limita a pesquisa a cor­res­pon­dên­cias exatas, mas também pode utilizar ca­rac­te­res curinga (-w «TERMO DE PESQUISA») e ex­pres­sões regulares (-r).

2. In­for­ma­ções

Oinfo abre as páginas de in­for­ma­ção do GNU sobre um de­ter­mi­nado tema. Nor­mal­mente, cor­res­pon­dem ao manual que pode ser acedido com man, embora, ao contrário deste, contenham links que facilitam a navegação no manual. Utilize esta sintaxe:

info [OPCIÓN] TEMA
bash

Se não indicar nenhuma opção nem nenhum tópico, acederá ao menu principal do manual do GNU.

3. pinfo

Com pinfo contas com uma versão do programa info que segue o modelo do navegador de linha de comandos Lynx e apresenta as páginas de in­for­ma­ção com os links des­ta­ca­dos a cores. Para utilizar pinfo, segue-se o mesmo esquema sintático que no info:

pinfo [OPCIONES] TEMA
bash

**4.**whatis O programa whatis permite pesquisar por palavras-chave no manual. Para procurar uma cor­res­pon­dên­cia exata no manual do sistema operativo, o programa é executado com o termo de pesquisa. Se for en­con­trada uma cor­res­pon­dên­cia, whatis apresenta uma breve descrição no terminal.

whatis [OPCIONES] PALABRA CLAVE
bash

whatis (-w '\*PALABRA CLAVE) também suporta ca­rac­te­res curinga e ex­pres­sões regulares (-r).

Operações de diretório

Os comandos do Linux são uti­li­za­dos para realizar operações em di­re­tó­rios, tais como criar, eliminar e gerir di­re­tó­rios no seu sistema através do terminal, bem como para navegar pela árvore de di­re­tó­rios. Os comandos mais im­por­tan­tes nesta categoria são cd, ls, mkdir e rmdir.

Operações com di­re­tó­rios

Os comandos do Linux são uti­li­za­dos para realizar operações em di­re­tó­rios, tais como criar, eliminar e gerir di­re­tó­rios no seu sistema através do terminal, bem como para navegar pela árvore de di­re­tó­rios. Os comandos mais im­por­tan­tes nesta categoria são cd, ls, mkdir e rmdir.

1. chroot

O comando chroot (change root) é utilizado para executar um comando numa raiz diferente. Por exemplo, chroot é utilizado para isolar programas críticos do resto do sistema de ficheiros. A execução do comando requer pri­vi­lé­gios de root e segue a seguinte fórmula:

chroot DIRECTORIO COMANDO
bash

2. mkdir aqui

Com mkdirhier, pode criar hi­e­rar­quias completas de di­re­tó­rios com um único comando:

mkdirhier [OPCIÓN] /home/user/directorio1/directorio2/directorio3
bash

Se «diretório1» e «diretório2» já existirem, «mkdirhier» cria apenas «diretório3». Caso contrário, são criados os três di­re­tó­rios.

3. árvore

Enquanto o comando ls apenas lista o conteúdo de um diretório, o comando tree pode ser utilizado para apre­sen­tar, de forma recursiva, toda a hi­e­rar­quia de di­re­tó­rios como uma estrutura em árvore. O comando utiliza a seguinte sintaxe:

tree [OPCIONES] [DIRECTORIO]
bash

Operações em ficheiros

Os comandos Linux desta categoria permitem realizar várias operações no terminal re­la­ci­o­na­das com ficheiros e, uti­li­zando comandos básicos como cp, mv e rm, é possível copiar, mover, renomear ou eliminar ficheiros do sistema.

1. basename

O comando basename recebe um caminho para um ficheiro e devolve o nome do ficheiro sem o caminho. A sintaxe do comando é a seguinte:

basename [OPCIONES] Ruta/al/archivo [SUFIJO]
bash

O comando pode ser aplicado a vários ficheiros com di­fe­ren­tes opções.

2. comm

Utilize o comando comm para comparar, linha a linha, ficheiros pre­vi­a­mente ordenados (por exemplo, com sort). A execução deste comando baseia-se na seguinte estrutura sintática:

comm [OPCIONES] ARCHIVO1 ARCHIVO2
bash

O comando comm suporta três opções:

  • -1 = ocultar linhas únicas do ARCHIVO1
  • -2 = ocultar linhas únicas do ARQUIVO2
  • -3 = ocultar todas as linhas que aparecem em ambos os ficheiros

3. cortar

O comando cut permite extrair o conteúdo das linhas de texto de um ficheiro (registo ou CSV) por colunas. A sintaxe deste comando é:

cut [OPCIONES] ARCHIVO
bash

Para indicar a posição exata do fragmento a extrair, utilizam-se as opções -b (posição do byte), -c (posição do caractere), -d (caractere de separação) e -f (campo).

4. dirname

dirname é o oposto de basename: o comando permite extrair a parte do caminho de um ficheiro sem mostrar o seu nome. A sua sintaxe é:

dirname [OPCIONES]path/to/file
bash

**5.**ficheiro Com o comando file, é possível obter in­for­ma­ções sobre o tipo ou formato de um ficheiro. Siga o seguinte esquema:

file [OPCIONES] ARCHIVO
bash

6. lsof

O comando Linux lsof equivale ao «list open files», um programa uti­li­tá­rio que apresenta no terminal in­for­ma­ções sobre os ficheiros abertos, ordenados por PID (ID do processo). Para o executar, segue-se o seguinte esquema:

lsof [OPCIONES]
bash

Uma vez que todos os sistemas do tipo UNIX, como o Linux, gerem tudo através de ficheiros («Tudo é um ficheiro»), a lista que lsof devolve é muito extensa. Por isso, costuma-se utilizar opções que res­trin­gem o resultado.

7. md5sum

Com a ajuda do comando md5sum, é possível calcular e verificar somas de ve­ri­fi­ca­ção MD5.

8. colar

À se­me­lhança do cat, o paste apresenta o conteúdo dos ficheiros na saída padrão, mas enquanto cat os apresenta em sequência, paste agrupa-os em colunas. O esquema básico desta função é:

paste [OPCIONES] ARCHIVO1 ARCHIVO2
bash

Com a opção -d, é possível con­fi­gu­rar in­di­vi­du­al­mente o tipo de separador utilizado. Por pre­de­fi­ni­ção, utiliza-se nor­mal­mente a tabulação. Com a opção -s (de serial), é ativado um modo diferente, no qual todas as linhas do primeiro ficheiro de entrada são coladas na primeira linha da saída. Os dados dos restantes ficheiros de entrada são colados a seguir em linhas de saída separadas. Desta forma, cada linha da saída contém apenas o conteúdo de um ficheiro de entrada.

**9.**rename rename permite renomear ficheiros e pastas com a ajuda de ex­pres­sões regulares (regex). Ao contrário do mv, rename permite modificar os nomes de vários ficheiros, parcial ou to­tal­mente. A execução do rename segue o seguinte esquema:

rename [OPCIONES] 'EXPRESIÓN_REGULAR' ARCHIVOS
bash

No caso das subs­ti­tui­ções, as ex­pres­sões regulares seguem a seguinte sintaxe:

s/PATRONDEBUSQUEDA/SUSTITUCIÓN/MODIFICADOR
bash

10. shred

O comandoshred permite apagar ficheiros de forma per­ma­nente, uma vez que os so­bres­creve de tal forma que, mesmo com os melhores meios forenses, não é possível recuperá-los. Este comando é executado seguindo este esquema básico:

shred [OPCIONES] ARCHIVO
bash

11. clas­si­fi­car

O comando sort ordena as listas de ficheiros e as saídas do programa em linhas, por ordem numérica e al­fa­bé­tica. O comando sort é executado da seguinte forma:

sort [OPCIONES] ARCHIVO
bash

Este método pode ser com­ple­men­tado com opções como -n (ordenar nu­me­ri­ca­mente), -R (ordenar ale­a­to­ri­a­mente) ou -r (ordenar em ordem inversa).

12. divisão

O comando split é utilizado para sub­di­vi­dir ficheiros. Segue o seguinte esquema sintático:

split [OPCIONES] [INPUT [PREFIJO]]
bash

INPUT cor­res­ponde ao ficheiro a ser dividido e PREFIXO funciona como prefixo do nome do novo sub­fi­cheiro. Ao renomeá-lo, segue-se o seguinte esquema:

PREFIJOaa, PREFIJOab, PREFIJOac …
bash

Se não for definido nenhum prefixo, split recorre ao padrão x. Com a opção -b (bytes), é possível definir o tamanho das partes em que o ficheiro é dividido. Isto pode ser feito em bytes (b), kilobytes (k) ou megabytes (m). Exemplo:

split -b 95m archivo.tgz split-archivo.tgz.
bash

13. es­ta­tís­tica

Com o comando stat (status), é possível obter a data e a hora dos acessos e das al­te­ra­ções relativas a de­ter­mi­na­dos ficheiros ou di­re­tó­rios. Este comando segue a seguinte sintaxe:

stat [OPCIONES] ARCHIVO
bash

O formato de saída pode ser con­fi­gu­rado através de várias opções.

14. uniq

O comando uniq é fre­quen­te­mente utilizado em conjunto com sort para eliminar linhas du­pli­ca­das nos ficheiros. No exemplo seguinte, o comando sort é ligado ao comando uniq através da barra vertical (|) para se­le­ci­o­nar primeiro um ficheiro e, em seguida, para o apre­sen­tar sem linhas du­pli­ca­das:

sort archivo.txt | uniq
bash

Opções de pesquisa

O Linux também dispõe de vários comandos para explorar o sistema a partir do terminal.

1. encontrar

Com o comando find, é possível localizar um ficheiro no Linux. Utiliza-se de acordo com o seguinte esquema sintático:

find [OPCIONES] [RUTA] [EXPRESIÓN_DE_BÚSQUEDA ][ACCIÓN]
bash

O diretório indicado em RUTA define o ponto de partida da pesquisa, de modo a que sejam ex­plo­ra­dos tanto o diretório como os seus sub­di­re­tó­rios. Se não for indicado nenhum, find começa a explorar a partir do diretório em que se encontra nesse momento (diretório atual).

As opções permitem definir os critérios de pesquisa e as ações. A ação pre­de­fi­nida é -print, que apresenta o resultado da pesquisa na saída padrão (nor­mal­mente a consola). Outras opções permitem filtrar por nome do ficheiro, tamanho do ficheiro, hora de acesso, etc. Estas opções estão listadas na página de manual cor­res­pon­dente.

2. localizar

O programa locate também permite pesquisar ficheiros a partir do terminal, mas, ao contrário do find, não se baseia no diretório de ficheiros, mas sim numa base de dados criada es­pe­ci­fi­ca­mente para esse fim e atu­a­li­zada re­gu­lar­mente. Assim, locate apresenta os re­sul­ta­dos muito mais ra­pi­da­mente do que find. Para pesquisar um de­ter­mi­nado ficheiro na base de dados, o locate é invocado com esta sintaxe:

locate PATRÓN_DE_BÚSQUEDA
bash

O padrão pode conter me­ta­ca­rac­te­res que funcionam como curingas (*). Se os escrever entre aspas, o shell não os in­ter­pre­tará como me­ta­ca­rac­te­res do shell.

3. tre-agrep

tre-agrep também é utilizado para procurar cadeias de ca­rac­te­res em ficheiros de texto com base em padrões, mas, ao contrário do grep, não apresenta apenas cor­res­pon­dên­cias exatas, mas também re­sul­ta­dos apro­xi­ma­dos (como cadeias que contêm pequenos erros or­to­grá­fi­cos). Para tal, o programa recorre à bi­bli­o­teca TRE. A sua sintaxe cor­res­ponde à do comando grep:

tre-agrep [OPCIONES] PATRÓN ARCHIVOS
bash

Nas opções, é possível definir um número máximo de erros. No exemplo seguinte, é indicado o número máximo de erros tolerados:

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

**4.**updatedb A pesquisa com locate só é fiável se o ficheiro /var/lib/locatedb for mantido cons­tan­te­mente atu­a­li­zado. O comando updatedb permite atualizar a base de dados ma­nu­al­mente. Tenha em atenção que, para tal, necessita de direitos de ad­mi­nis­tra­dor:

Updatedb
bash

5. whereis

Com o comando whereis, é possível localizar os ficheiros binários, de código-fonte ou do manual de de­ter­mi­na­dos programas. A sua sintaxe geral é a seguinte:

whereis [OPCIONES] PROGRAMA
bash

Com as opções, é possível res­trin­gir a pesquisa a de­ter­mi­na­dos tipos de ficheiros ou pastas.

6. qual

Para verificar a lo­ca­li­za­ção do ficheiro binário de um programa, utiliza-se o comando which, que apresenta o caminho para o ficheiro. Este comando é executado com a seguinte sintaxe:

which [OPCIONES] PROGRAMA
bash

No modo padrão, which responde com o primeiro ficheiro en­con­trado. Se desejar, a opção -a apresenta todos os ficheiros que cor­res­pon­dem aos critérios de pesquisa.

In­for­ma­ções sobre os uti­li­za­do­res

Utilize os comandos desta categoria para solicitar in­for­ma­ções de­ta­lha­das sobre os uti­li­za­do­res re­gis­ta­dos no sistema, bem como sobre os seus grupos e processos.

1. dedo

O comando finger apresenta in­for­ma­ções sobre os uti­li­za­do­res e, para tal, é combinado com o nome do uti­li­za­dor em questão:

finger [OPCIONES] [USUARIO]
bash

Utilize o finger sem indicar um nome de uti­li­za­dor para solicitar in­for­ma­ções sobre a sua própria conta.

2. grupos

Com o groups, o terminal lista os grupos aos quais pertence uma de­ter­mi­nada conta de uti­li­za­dor.

Quando não é indicado nenhum uti­li­za­dor, groups iden­ti­fica todos os grupos aos quais a sua conta pertence.

Para tal, siga o modelo apre­sen­tado:

groups [OPCIONES] [USUARIO]
bash

3. id

O comando id apresenta os códigos dos uti­li­za­do­res e grupos da conta de uti­li­za­dor se­le­ci­o­nada.

id [OPCIONES] [USUARIO]
bash

Ao adicionar opções, é possível res­trin­gir a pesquisa

4. último

Utilize o comando last de acordo com o esquema indicado abaixo para obter uma lista dos últimos uti­li­za­do­res que iniciaram sessão, jun­ta­mente com a hora de início e de fim da sessão:

last [OPCIONES] [USUARIO]
bash

Para tal, a consola solicita in­for­ma­ções do ficheiro wtmp no /var/log/wtmp. Se a pesquisa se referir a uma conta es­pe­cí­fica, o nome do uti­li­za­dor é adi­ci­o­nado ao comando.

5. w

Neste caso, w devolve uma lista de todos os uti­li­za­do­res com sessão ativa e todos os processos que estão a ser exe­cu­ta­dos. Se adi­ci­o­na­res um nome de uti­li­za­dor, a pesquisa fica limitada a esse uti­li­za­dor:

w [OPCIONES] [USUARIO]
bash

Mais uma vez, pode per­so­na­li­zar o nível de detalhe e o formato da saída através de opções.

6. quem

O comando who apresenta in­for­ma­ções sobre os uti­li­za­do­res ativos no sistema nesse momento, se for utilizado de acordo com a seguinte sintaxe:

who [OPCIÓN] [ARCHIVO]
bash

Por pre­de­fi­ni­ção, who extrai os dados sobre o uti­li­za­dor atual do ficheiro /var/run/utmp, mas, op­ci­o­nal­mente, também é possível indicar estes ficheiros a seguir como fonte da in­for­ma­ção.

7. whoami

Utiliza o comando whoami para obter o teu próprio nome de uti­li­za­dor.

whoami [OPCIONES]
bash

Gestão de contas de uti­li­za­dor

O Linux oferece uma série de programas que permitem criar, eliminar e gerir contas de uti­li­za­dor e grupos através do terminal. Estes aparecem na seguinte lista geral de comandos do Linux para a gestão de contas de uti­li­za­dor, categoria que também inclui os comandos que permitem abrir programas com os direitos de outros uti­li­za­do­res, incluindo os de ad­mi­nis­tra­dor.

1. chfn

O comando chfn, equi­va­lente ao «change finger», permite editar in­for­ma­ções adi­ci­o­nais de uma conta de uti­li­za­dor, incluindo dados como o nome ver­da­deiro do uti­li­za­dor, o número do es­cri­tó­rio e os números de telefone par­ti­cu­lar e pro­fis­si­o­nal. A sintaxe geral do chfn segue esta estrutura:

chfn [OPCIÓN "NUEVO VALOR"] [USUARIO]
bash

Com as opções -f (nome ver­da­deiro), -r (número do es­cri­tó­rio), -w (número oficial) e -h (número privado), define-se quais as in­for­ma­ções do uti­li­za­dor que são subs­ti­tuí­das por um novo valor.

2. chsh

O comando chsh (alterar shell) altera o shell de login de um uti­li­za­dor. Para tal, segue-se o seguinte pro­ce­di­mento:

chsh [OPCIONES] USUARIO
bash

Pode utilizar a opção -s para alterar o shell de login de uma conta de uti­li­za­dor.

3. deluser

O programa de linha de comandos deluser apaga todas as entradas de uma conta de uti­li­za­dor dos ficheiros de contas do sistema. deluser só pode ser utilizado com direitos de ad­mi­nis­tra­dor e segue o seguinte esquema:

deluser [OPCIONES] USUARIO
bash

Se a intenção for apagar todos os ficheiros do uti­li­za­dor no diretório principal, deve-se utilizar o comando jun­ta­mente com a opção --remove-home; se, por outro lado, se pretender eliminar todos os ficheiros do uti­li­za­dor do sistema, deve-se utilizar a opção --remove-all-files.

4. delgroup

O comando delgroup (delete group) é utilizado para eliminar grupos de uti­li­za­do­res e requer direitos de root. Segue esta sintaxe:

delgroup [OPCIONES] GRUPO
bash

5. groupmod

Com groupmod, é possível con­fi­gu­rar tanto o nome como o GID de um grupo de uti­li­za­do­res. O comando é utilizado pelo ad­mi­nis­tra­dor seguindo o seguinte esquema:

groupmod OPCIONES GRUPO
bash

Se utilizar groupmod com a opção -g, pode alterar o GID e, com a opção -n, o nome do grupo.

6. newgrp

O comando newgrp (new group) permite aos uti­li­za­do­res alterar o ID do seu grupo sem terem de encerrar a sessão e iniciar sessão novamente. A sintaxe geral deste comando é:

newgrp [-] [GRUPO]
bash

Se newgrp for acom­pa­nhado pelo parâmetro opcional [-], após a mudança de grupo ocorre um reinício do ambiente do uti­li­za­dor, como se fosse iniciada uma nova sessão. Os uti­li­za­do­res que utilizam o comando sem indicar nenhum grupo são trans­fe­ri­dos para o grupo padrão definido em /etc/passwd.

7. o seu

O comando su também permite mudar tem­po­ra­ri­a­mente de uti­li­za­dor para efetuar chamadas ao sistema com as per­mis­sões de outro uti­li­za­dor, mas, ao contrário do sudo, neste caso os comandos não são exe­cu­ta­dos di­re­ta­mente; é ne­ces­sá­rio mudar de iden­ti­dade porque o comando não solicita a palavra-passe do uti­li­za­dor que o invoca, mas sim a do uti­li­za­dor cujos direitos se pretende assumir. A sintaxe geral do comando segue esta ordem:

su [OPCIONES] [USUARIO]
bash

Uma so­li­ci­ta­ção sem nome de uti­li­za­dor seleciona o uti­li­za­dor root.

8. usermod

O comando usermod permite editar contas já criadas. Utilize o usermod com pri­vi­lé­gios de root, seguindo o seguinte esquema:

usermod [OPCIONES] USUARIO
bash

Com a ajuda das opções, pode definir quais as al­te­ra­ções a efetuar. Por exemplo, com -l NUEVO_NOMBRE pode alterar o nome de uti­li­za­dor. Para encontrar mais opções, consulte a página cor­res­pon­dente do manual.

Gestão do sistema

Nesta categoria, ex­pli­ca­mos os comandos do Linux para a ad­mi­nis­tra­ção do sistema. Com eles, pode, por exemplo, reiniciar ou desligar o sistema a partir da consola e até programar essas ações.

1. re­gis­ta­dor

Utilize logger para a seguinte sintaxe:

logger "MENSAJE"
bash

O ficheiro de registo do sistema encontra-se na posição /var/log/syslog.

2. reiniciar

O comandoreboot permite reiniciar o sistema, sendo ne­ces­sá­rio ter per­mis­sões de root para o fazer.

reboot [OPCIONES]
bash

3. rtcwake

No caso do rtcwake, trata-se de um comando que permite programar o arranque, a suspensão e o des­li­ga­mento do com­pu­ta­dor. Escreve-se assim:

rtcwake [OPCIONES] [MODO] [Tiempo]
bash

Em MODO, selecione o modo (-m) em que o sistema deve entrar durante um de­ter­mi­nado período (-s para tiempo en segundos). Op­ci­o­nal­mente, também pode «ativar» o sistema num momento definido (-t para tiempo Unix).

In­for­ma­ções do sistema

Esta categoria reúne todos os programas de linha de comandos que permitem obter in­for­ma­ções e mensagens de estado do sistema, para se ter uma visão geral do seu estado geral.

1. data

O comando date permite-lhe saber a data e a hora do sistema.

date [OPCIONES] [FORMATO DE SALIDA]
bash

Se, ao iniciar um programa, precisar de utilizar uma data es­pe­cí­fica (rtcwake), a opção -d (data) permite-lhe defini-la. O comando também suporta outras opções para alterar o formato da data e da hora.

2. df

Digite o comando df (disk free) no terminal, seguindo o seguinte formato:

df [OPCIONES]
bash

Quando o comando é utilizado em conjunto com um de­ter­mi­nado ficheiro, o sistema apresenta o espaço livre em disco na partição onde o ficheiro se encontra. A opção -l (local) limita o df a sistemas de ficheiros locais. Também suporta opções que permitem con­fi­gu­rar o formato de saída.

3. dmesg

O programa dmesg (display message) apresenta as mensagens de di­ag­nós­tico do buffer do kernel e permite localizar erros no hardware ou no con­tro­la­dor. Utilize dmesg com esta sintaxe:

dmesg [OPCIONES]
bash

A saída dmesg contém todas as mensagens geradas durante o arranque do sistema e, por isso, é bastante extensa. Isso faz com que seja fre­quen­te­mente acom­pa­nhada por um pager como more, less ou tail.

4. gratuito

O comando free mostra a uti­li­za­ção da memória com esta sintaxe:

free [OPCIONES]
bash

Como resultado, obtém dois valores: Mem (Memória) e Swap. free também suporta a opção –h, com a qual obtém a in­for­ma­ção num formato legível.

5. nome do host

Utilize o comando hostname com esta sintaxe para que o terminal exiba o nome DNS do sistema.

hostname [OPCIONES]
bash

6. uname

O comando uname cor­res­ponde unix name e é utilizado para solicitar in­for­ma­ções sobre o kernel. O comando suporta várias opções que permitem filtrar a saída das in­for­ma­ções.

uname [OPCIONES]
bash

7. tempo de atividade

Para saber há quanto tempo o sistema está em fun­ci­o­na­mento desde o último arranque sem ter sido rei­ni­ci­ado, utilize o comando uptime com a seguinte sintaxe:

Uptime
bash

8. vmstat

Com a ajuda da fer­ra­menta de mo­ni­to­ri­za­ção vmstat, é possível obter in­for­ma­ções sobre a memória virtual, sobre os processos de gravação e leitura no disco rígido, bem como sobre a atividade do pro­ces­sa­dor central. Digite vmstat desta forma para obter os valores médios desde o último arranque do sistema:

vmstat [OPCIONES]
bash

O comando vmstat também oferece um modo de mo­ni­to­ri­za­ção contínua, através do qual é possível solicitar os valores num intervalo de tempo, em segundos, com a frequên­cia que for ne­ces­sá­ria.

vmstat [OPCIONES] [INTERVALO [REPETICIONES]]
bash

In­for­ma­ções sobre o hardware

Os comandos Linux incluídos nesta categoria fornecem in­for­ma­ções de­ta­lha­das sobre os com­po­nen­tes de hardware nos quais o sistema está a ser executado.

1. lspci

Utilize o comando lscpu (list cpu) desta forma para obter in­for­ma­ções sobre a CPU na consola.

lscpu [OPCIONES]
bash

No manual do seu sistema operativo, pode consultar todas as opções que pode utilizar com o comando.

**2.**lsusb Se quiser obter in­for­ma­ções de­ta­lha­das sobre os dis­po­si­ti­vos USB, introduza o comando lsusb (list usb) no terminal da seguinte forma:

lsusb [OPCIONES]
bash

No manual do sistema operativo, também en­con­trará as opções com­pa­tí­veis com este comando.

Gestão de processos

No Linux, as ins­tân­cias de um programa em execução são de­no­mi­na­das processos. Os comandos a seguir fazem parte do conjunto padrão de fer­ra­men­tas de gestão de processos e permitem su­per­vi­si­oná-los fa­cil­mente a partir do terminal e intervir, se ne­ces­sá­rio.

1. chrt

Com chrt, temos um programa para o controlo avançado de processos que permite verificar e con­fi­gu­rar os atributos em tempo real (regras de agen­da­mento ou pla­ne­a­mento de processos e pri­o­ri­da­des) de processos ativos, ou executar comandos e os seus ar­gu­men­tos com de­ter­mi­na­dos atributos em tempo real. Escreve-se com esta sintaxe:

chrt [OPCIONES] [PRIORIDAD] PID/COMANDO [ARGUMENTOS]
bash

Para de­ter­mi­nar os atributos em tempo real de de­ter­mi­na­dos processos, utilize o chrt sem indicar qualquer pri­o­ri­dade, jun­ta­mente com a opção -p.

Com a ajuda das opções, chrt também permite con­fi­gu­rar ou definir o controlo da pro­gra­ma­ção de processos em execução ou recém-iniciados. En­con­trará mais in­for­ma­ções sobre este assunto na respetiva página de manual.

2. ionizar

O comando ionice é utilizado para alterar a pri­o­ri­dade de um processo que utiliza a interface de E/S do kernel. A sintaxe geral do comando é:

ionice [OPCIONES] COMANDO
bash

Para poder executar o comando ionice, é ne­ces­sá­rio dispor de per­mis­sões de ad­mi­nis­tra­dor. O comando distingue três tipos de agen­da­mento, que são es­pe­ci­fi­ca­dos através da opção -c e de um valor que pode variar entre 1 e 3:

  • 1 = Tempo real: a operação de E/S é executada ime­di­a­ta­mente.
  • 2 = Best Effort (melhor esforço): a operação de E/S é executada assim que possível.
  • 3 = Idle (inativo): a operação de E/S só é executada quando não houver nenhum outro processo que requeira tempo de E/S.

3. nohup

Nor­mal­mente, quando um uti­li­za­dor encerra uma sessão na consola com exit, por exemplo, todos os processos de­pen­den­tes são en­cer­ra­dos au­to­ma­ti­ca­mente. O comando nohup do Linux (no hangup) retira um processo da sessão em curso, de modo a que este possa per­ma­ne­cer ativo mesmo depois de o uti­li­za­dor ter encerrado a sua sessão.

nohup COMANDO
bash

4. pidof

No caso do programa pidof, obtêm-se da consola os números de iden­ti­fi­ca­ção de todos os processos de um programa. Solicita os PID com o pidof, seguindo este esquema:

pidof [OPCIONES] PROGRAMA
bash

Quando se pretende obter apenas o ID do primeiro processo, combina-se a opção pidof com a opção -s (single shot).

5. pdkill

Tal como kill, pkill também envia um sinal a um de­ter­mi­nado processo, embora o di­re­ci­o­na­mento não se faça apenas com o PID, mas sim com um termo-chave que é comparado com o nome dos processos ativos e pode ser formulado como uma expressão regular. pkill também envia o sinal padrão TERM, caso não seja definido qualquer outro sinal. A sintaxe geral do comando é a seguinte:

pkill [OPCIONES] [-SEÑAL] [TÉRMINO]
bash

Graças às várias opções dis­po­ní­veis, podemos res­trin­gir o comando aos processos de um de­ter­mi­nado uti­li­za­dor (-U UID), aos processos filhos de um processo pai (-P PID), aos processos recentes (-n) ou aos mais antigos (-o).

6. pstree

Utilize pstree para obter uma lista em forma de árvore de todos os processos atu­al­mente em execução. Siga a seguinte sintaxe:

pstree [OPCIONES]
bash

Ao utilizar várias opções, pode definir o formato e a amplitude da saída.

7. renice

O comando renice permite alterar a pri­o­ri­dade de um processo ativo. É executado com a seguinte sintaxe:

renice PRIORIDAD [OPCIONES]
bash

**8.**sleep O comando sleep do Linux é utilizado para in­ter­rom­per, por um de­ter­mi­nado período de tempo, a sessão atual na consola. A sintaxe geral do comando é a seguinte:

sleep CIFRA[SUFIJO]
bash

Se invocar o sleep sem sufixo, o número indicado é in­ter­pre­tado como um intervalo em segundos (s), mas também é possível in­ter­rom­per a sessão por alguns minutos (m), algumas horas (h) ou mesmo por dias (d).

9. taskset

No caso do taskset, estamos perante um comando para o controlo avançado de processos, utilizado em sistemas com pro­ces­sa­do­res mul­ti­nú­cleo para atribuir processos ou programas aos núcleos. Este comando é executado com pri­vi­lé­gios de ad­mi­nis­tra­dor e utiliza um dos seguintes esquemas:

taskset [OPCIONES] MÁSCARA ORDEN
taskset [OPCIONES] -p PID
bash

A atri­bui­ção de processos e tarefas a um núcleo da CPU é feita através de uma máscara de bits he­xa­de­ci­mal. Dado que a atri­bui­ção através de máscaras de bits não é muito intuitiva, taskset é fre­quen­te­mente utilizada em conjunto com a opção -c (–cpu-list), que permite uma atri­bui­ção numérica dos pro­ces­sa­do­res (ou seja, 0, 5, 7, 9-11).

Pager

Para manter a visão geral mesmo no caso de ficheiros com várias páginas, os comandos desta categoria, de­no­mi­nada Pager, permitem se­le­ci­o­nar as partes que se pretende mostrar no terminal e até folhear os ficheiros de forma in­te­ra­tiva.

1. cabeçalho

O comando head do Linux é utilizado para exibir a primeira parte de um ficheiro. A sua sintaxe geral é a seguinte:

head [OPCIONES] Archivo
bash

Utilize a opção -n NÚMERO_LÍNEAS para definir quantas linhas, a partir da primeira, devem ser apre­sen­ta­das na consola.

2. menos

O comando less do Linux exibe o conteúdo de um ficheiro de texto na consola. A sua sintaxe geral é a seguinte:

less [OPCIONES] ARCHIVO
bash

A vi­su­a­li­za­ção ocorre au­to­ma­ti­ca­mente no modo in­te­ra­tivo, o que permite ao uti­li­za­dor folhear o documento ou pesquisá-lo por palavras-chave. A tecla [Q] fecha o modo de leitura in­te­ra­tiva — no manual do programa, en­con­trará mais atalhos de teclado ou opções dis­po­ní­veis para este comando.

3. tail

Enquanto head mostra, por pre­de­fi­ni­ção, as primeiras 10 linhas de um ficheiro, tail mostra as últimas 10. Ambos os pagers são uti­li­za­dos da mesma forma (ver head).

Editores

No Linux, não é ne­ces­sá­rio utilizar um programa de edição de texto para alterar ficheiros de con­fi­gu­ra­ção, editar trechos de código ou escrever notas curtas, pois é possível abrir editores de texto simples no terminal. A seguir, apre­sen­ta­mos três comandos que deve conhecer.

1. emacs

O Emacs é um editor de texto mul­ti­pla­ta­forma que pode ser ampliado através de uma interface de pro­gra­ma­ção. Por pre­de­fi­ni­ção, inicia com uma interface gráfica de uti­li­za­dor, mas se se in­tro­du­zir a opção --no-window-system, também pode ser aberto no terminal.

emacs --no-window-system
bash

O Emacs tem um tutorial integrado ao qual podes aceder através do atalho de teclado [CTRL] + [H], [T].

2. nano

O Nano é um editor de texto baseado em terminal. Embora ofereça um conjunto de fun­ci­o­na­li­da­des mais reduzido do que outros editores se­me­lhan­tes (como o Vim), distingue-se deste pela sua maior fa­ci­li­dade de uti­li­za­ção. A sua sintaxe básica é a seguinte:

nano [OPCIONES] ARCHIVO
bash

O comando abre o ficheiro so­li­ci­tado numa janela de edição no terminal. Se invocar o nano sem indicar um nome de ficheiro, é criado um novo ficheiro de texto que é guardado no diretório atual.

3. vim

No caso do Vim (Vi Improved), trata-se de uma versão melhorada do editor Vi, que o supera com inúmeras fun­ci­o­na­li­da­des, tais como realce de sintaxe, um sistema de ajuda abran­gente, scripting nativo, au­to­com­ple­tar de código e seleção visual de texto.

Este programa de código aberto oferece vários modos de fun­ci­o­na­mento para a edição de ficheiros de texto simples e pode ser utilizado tanto no terminal como numa aplicação portátil com interface gráfica (GVim). A sua principal área de aplicação é a edição de código de pro­gra­ma­ção.

Quando iniciado na consola, o Vim é utilizado através do teclado. Nor­mal­mente, o comando é executado com um ficheiro de texto, seguindo este formato:

vim [OPCIONES] ARCHIVO
bash

O Vim oferece, através do programa vimtutor — que também é iniciado na linha de comandos —, uma in­tro­du­ção exaustiva ao Vim. O nosso artigo sobre o editor Linux Vim também serve para apro­fun­dar os co­nhe­ci­men­tos sobre a ins­ta­la­ção do programa e os seus di­fe­ren­tes modos de fun­ci­o­na­mento.

Gestão de redes

Também é possível gerir redes no terminal uti­li­zando o Linux. Quer se trate de verificar uma ligação, solicitar in­for­ma­ções ao DNS, con­fi­gu­rar in­ter­fa­ces ou enviar ficheiros para outro com­pu­ta­dor, basta uma linha de comando para realizar o que pretende.

1. arp

O comando arp permite abrir e editar a cache ARP do seu sistema operativo. Se o utilizar sem o mo­di­fi­ca­dor arpo conteúdo da tabela ARP no terminal.

arp [OPCIÓN]
bash

Podes utilizar várias opções para filtrar o resultado obtido ou para apagar e criar entradas:

  • -a HOST = Limitar a saída às entradas de um de­ter­mi­nado nome de host ou de um endereço IP:
  • -s HOST DIRECCIÓN_MAC = Criar uma entrada ARP es­pe­ci­fi­cando o nome do host e o endereço MAC
  • -d HOST = Apagar uma entrada ARP

2. iw

O programa iw é utilizado para con­fi­gu­rar in­ter­fa­ces sem fios e con­so­li­dou-se como a al­ter­na­tiva mais recente ao iwconfig. Este comando baseia-se numa sintaxe se­me­lhante à do ip:

iw [OPCIONES] OBJETO [COMANDO]
bash

Alguns objetos que podem ser usados com o iw são:

  • dev NOME_DA_INTERFACE = Interface de rede
  • phy NOME_DO_DIS­PO­SI­TIVO = Dis­po­si­tivo sem fios (por nome)
  • phy#ÍNDICE_DO_DIS­PO­SI­TIVO = Dis­po­si­tivo sem fios (por índice)
  • reg = Agente regulador para con­fi­gu­rar a região e o país

Na secção cor­res­pon­dente do manual, é possível consultar uma apre­sen­ta­ção dos comandos e das opções.

3. nslookup

Tal como dig, nslookup também serve para resolver nomes. O comando está dis­po­ní­vel em dois modos de fun­ci­o­na­mento: in­te­ra­tivo e não in­te­ra­tivo. Para iniciar o nslookup no modo não in­te­ra­tivo, o programa é executado em com­bi­na­ção com um nome de host ou um endereço IP.

nslookup [OPCIONES] [HOST/IP ]
bash

Para iniciar o modo in­te­ra­tivo, introduza o comando nslookup no terminal sem qualquer in­for­ma­ção adicional e, em seguida, inclua os nomes de host ou endereços IP para vi­su­a­li­zar os endereços IP ou nomes de host as­so­ci­a­dos.

Uma vez que o comando está ofi­ci­al­mente obsoleto, recomenda-se aos uti­li­za­do­res que utilizem dig em vez dele.

4. rsync

O comando rsync permite sin­cro­ni­zar ficheiros lo­cal­mente ou numa rede. Para tal, são primeiro com­pa­ra­dos o tamanho e a data das al­te­ra­ções dos ficheiros em questão. A sintaxe do comando é a seguinte:

rsync [OPCIONES] ORIGEN DESTINO
bash

O comando rsync é nor­mal­mente executado com a opção -a, que é res­pon­sá­vel pela cópia de todas as subpastas, bem como dos links sim­bó­li­cos, jun­ta­mente com os direitos de uti­li­za­dor.

5. scp

Com o comando Linux scp (secure copy) , dispõe de outro programa para trans­fe­rir dados de forma segura na rede: scp copia dados de um com­pu­ta­dor para outro, uti­li­zando também para isso o protocolo de rede SSH. O programa cliente funciona quase como a opção cp, embora seja utilizado em todos os sistemas com esta sintaxe:

scp [OPCIONES] ARCHIVO [[user@]remote_host:]RUTA
bash

A indicação do caminho no com­pu­ta­dor é precedida pelo nome de uti­li­za­dor e pelo nome do host remoto. Os ficheiros locais podem ser re­fe­ren­ci­a­dos através de caminhos relativos ou absolutos.

Exemplos:

scp /home/max/images/image.jpg max@example.com:/home/max/archiv
bash

Graças a outras opções, pode con­fi­gu­rar o modo de trans­fe­rên­cia e a en­crip­ta­ção.

6. tty

O comando tty exibe o nome do ficheiro do terminal definido como entrada padrão. A sintaxe geral do comando é a seguinte:

tty [OPCIONES]
bash

Arquivar e compactar

O Linux dis­po­ni­bi­liza várias tec­no­lo­gias para comprimir e empacotar ficheiros, embora seja im­por­tante ter em conta que nem sempre um processo de ar­qui­va­mento implica uma com­pres­são. Por exemplo, o programa de ar­qui­va­mento de ficheiros tar é fre­quen­te­mente utilizado em conjunto com programas de com­pres­são como gzip, bzip2 ou xz.

1. gzip

No caso do gzip, estamos perante um programa que permite comprimir e des­com­pri­mir ficheiros fa­cil­mente no terminal. A sua sintaxe geral segue esta estrutura:

gzip [OPCIONES] ARCHIVOS
bash

Deve ter em conta que, por pre­de­fi­ni­ção, gzip apaga o ficheiro original ao compactá-lo, algo que, por outro lado, pode evitar com a ajuda da opção -k. O programa também pode ser utilizado em vários ficheiros ao mesmo tempo: cada ficheiro original é então con­ver­tido num ficheiro gz in­de­pen­dente. Para gravar vários ficheiros num único ficheiro com­pac­tado, utiliza-se o gzip em conjunto com o programa de com­pac­ta­ção tar. Se se tratar de des­com­pac­tar um ficheiro gz, combina-se o comando gzip com a opção -d ou utiliza-se o comando gunzip.

2. bzip2

Uma al­ter­na­tiva popular ao gzip é o programa de linha de comandos bzip2. Uti­li­zando a mesma sintaxe que o anterior, este baseia-se, no entanto, num processo de com­pres­são em três fases que permite um maior grau de com­pres­são. Os ficheiros que foram com­pri­mi­dos com o bzip2 têm a extensão .bz2. Utilize bzip com este esquema para comprimir ficheiros:

bzip2 [OPCIONES] ARCHIVOS
bash

bzip2 também pode ser aplicado em ficheiros tar. A des­com­pres­são ocorre aqui de forma se­me­lhante ao bzip com a opção -d.

3. xz

O comando xz converte ficheiros para o formato de com­pres­são de dados com o mesmo nome. Para executar o programa, segue-se o mesmo pro­ce­di­mento que para os comandos gzip e bzip2.

xz [OPCIONES] ARCHIVOS
bash

Os ficheiros com­pac­ta­dos com xz têm a extensão .xz. A des­com­pres­são é também realizada com a opção -d (tal como nas opções gzip e bzip). Em al­ter­na­tiva, também é possível utilizar o comando unxz.

Tal como os ficheiros gz e bz2, os ficheiros xz também não são com­pac­ta­dos. Quando se pretende incluir vários ficheiros no mesmo ficheiro com­pac­tado xz, é ne­ces­sá­rio recorrer à fer­ra­menta de com­pac­ta­ção tar.

4. cpio

cpio (copy in, copy out) é um programa de ar­qui­va­mento que permite gravar dados num ficheiro (.cpio) e extraí-los desse ficheiro.

Gestão de partições

Quando se trabalha com Linux, para poder aceder a um sistema de ficheiros lo­ca­li­zado numa partição diferente, este tem de estar integrado na estrutura de di­re­tó­rios do sistema operativo. Este pro­ce­di­mento é designado por**«montar»**uma partição e pode ser realizado na interface gráfica do uti­li­za­dor. Uti­li­zando o terminal de linha de comandos, o uti­li­za­dor dispõe também de programas como lsblk, blkid e mount, com os quais pode solicitar in­for­ma­ções sobre os dis­po­si­ti­vos de bloco (block devices) ligados e montá-los ou desmontá-los conforme ne­ces­sá­rio.

1. lsblk

Com o comando lsglk (list block devices), obtém-se uma visão geral de todos os dis­po­si­ti­vos e partições in­cor­po­ra­dos no sistema operativo, apre­sen­ta­dos numa estrutura em árvore (não precisam ne­ces­sa­ri­a­mente de estar montados).

lsblk [OPCIONES]
bash

A saída pode ser per­so­na­li­zada uti­li­zando a opção -o (–output) e uma lista dos atributos pre­ten­di­dos para solicitar dados adi­ci­o­nais, tais como o número de iden­ti­fi­ca­ção (UUID), o tipo de sistema de ficheiros (FSTYPE) ou o estado (STATE).

Na con­fi­gu­ra­ção padrão, os dis­po­si­ti­vos vazios não são tidos em conta, mas devem ser incluídos na visão geral se lsblk for combinada com a opção -a (–all). Para solicitar in­for­ma­ções sobre um de­ter­mi­nado dis­po­si­tivo, utiliza-se o seguinte esquema:

lsblk [OPCIONES] DISPOSITIVO
bash

2. blkid

blkid também fornece in­for­ma­ções sobre os dis­po­si­ti­vos ligados ao hardware, de forma se­me­lhante ao comando blk. Ao utilizar o comando com o seguinte formato, é possível solicitar o número de iden­ti­fi­ca­ção (UUID) e o tipo de sistema de ficheiros (TYPE) de todos os dis­po­si­ti­vos de bloco ligados:

blkid [OPCIONES]
bash

Com a opção -o e o valor list, obtém-se a saída em forma de tabela.

blkid -o list
bash

Mis­ce­lâ­nea

A seguir, descrevem-se alguns comandos que não se enquadram em nenhuma das ca­te­go­rias enu­me­ra­das até agora.

1. pseu­dó­nimo

A interação com o shell é nor­mal­mente feita através de comandos que podem ser uti­li­za­dos para chamar programas de linha de comandos com o mesmo nome. Utiliza-se uma chamada de programa para cada ação que se pretenda realizar através do terminal. O comando Linux alias permite-lhe definir nomes curtos para as chamadas de programas. Utilize-o alias seguindo o esquema apre­sen­tado a seguir:

alias APODO = 'COMANDO'
bash

Substitua COMANDO pela linha de comando, incluindo as opções. Isto irá inserir a cadeia de ca­rac­te­res inserida no lugar do marcador APODO.

2. em

Com o comando at, de acordo com este esquema, programa-se a execução de uma de­ter­mi­nada ordem:

at FECHA HORA
bash

Em seguida, introduza o comando e saia do modo in­te­ra­tivo com [CTRL] + [D].

**3.**cal Ao utilizar cal de acordo com o esquema a seguir, obtém-se uma vista de ca­len­dá­rio no terminal:

cal [OPCIONES] [[MES] Año]
bash

4. pr

O programa de linha de comandos pr permite preparar ficheiros para impressão. Para tal, siga a seguinte sintaxe:

pr [OPCIONES] Archivo
bash

Na con­fi­gu­ra­ção padrão, pr gera um cabeçalho que contém o nome do ficheiro, a data atual e o número da página.

5. script

Com o comando script, é possível gravar uma sessão no ficheiro typescript. Se este já contiver uma gravação de uma sessão anterior, esta será subs­ti­tuída. O registo da sessão começa au­to­ma­ti­ca­mente quando o programa é iniciado:

script
bash

Utilize o atalho de teclado [CTRL] + [D] para terminar a gravação. Se, em vez de typescript, preferir gravar a sessão num ficheiro diferente, introduza o comando script jun­ta­mente com o nome do ficheiro ou o caminho.

6. e seguintes

seq permite obter uma sequência de números na saída padrão, para o que se define um valor inicial, um valor final e, even­tu­al­mente, o tipo de in­cre­mento.

seq [OPCIONES] VALOR INICIAL INCREMENTO VALOR FINAL
bash

7. tasksel

Com o comando tasksel, obtém-se suporte para a ins­ta­la­ção de apli­ca­ções padrão, como um servidor de e-mail, DNS, OpenSSH ou LAMP. Se utilizar esta fer­ra­menta, todos os pacotes e programas ne­ces­sá­rios para uma de­ter­mi­nada tarefa são ins­ta­la­dos au­to­ma­ti­ca­mente na sequência correta. Com a opção «–list-tasks», o «tasksel» apresenta uma lista de todas as apli­ca­ções padrão dis­po­ní­veis.

tasksel --list-tasks
bash

Se pretender obter in­for­ma­ções adi­ci­o­nais sobre uma aplicação da lista, inclua a opção --task-desc no comando, jun­ta­mente com as in­for­ma­ções cor­res­pon­den­tes. Se pretender que o terminal mostre todos os pacotes per­ten­cen­tes à tarefa «mail-server», utilize o comando com a opção --task-packages.

A ins­ta­la­ção de todos os pacotes de uma aplicação padrão é iniciada através do sub­co­mando install. Para tal, é ne­ces­sá­rio ter direitos de ad­mi­nis­tra­dor.

8. tee

O comando tee do Linux permite duplicar a saída de um programa. Para tal, uma parte da saída é re­di­re­ci­o­nada para a saída padrão e outra é gravada no ficheiro indicado no comando tee a sua sintaxe:

tee [OPCIONES] ARCHIVO
bash

tee é fre­quen­te­mente acom­pa­nhado pela barra vertical (|) como operador:

ls | tee ejemplo.txt
bash

9. hora

Utilize o comando time de acordo com o esquema a seguir para obter in­for­ma­ções sobre o tempo de execução dos programas que inicia no terminal:

time [OPCIONES] Comando [ARGUMENTOS]
bash

10. tr

Utilize tr para apagar ca­rac­te­res ou substituí-los por outros. Para tal, tr lê o fluxo de dados da entrada padrão e escreve-os na saída padrão de acordo com a mo­di­fi­ca­ção pre­ten­dida. No caso de subs­ti­tui­ção, tr é utilizado com dois ar­gu­men­tos:

tr OPCIÓN CANTIDAD1 CANTIDAD2
bash

O segundo argumento (CANTIDADE2) substitui o primeiro (CANTIDADE1). Para apagar uma sequência de ca­rac­te­res, utiliza-se a opção -d e indica-se a sequência como argumento.

tr -d SECUENCIA
bash

Este comando costuma ser combinado com os ope­ra­do­res «maior que» ou «menor que» para efetuar ajustes nos ficheiros.

tr 'a-z' 'A-Z' < ejemplo1.txt > ejemplo2.txt
bash

Aqui, tr lê o conteúdo do ficheiro ejemplo1.txt, substitui as letras mi­nús­cu­las de a a z por maiús­cu­las e grava o resultado no ficheiro ejemplo2.txt.

11. parede

O comando wall permite enviar uma mensagem a todos os uti­li­za­do­res ativos no sistema num de­ter­mi­nado momento. Para executar o programa, escreva na consola:

wall
bash

Confirme com [Enter] e escreva a sua mensagem, que também pode confirmar com [Enter] e enviar com o atalho de teclado [CTRL]+[D]. Todos os uti­li­za­do­res ativos no sistema nesse momento recebem a no­ti­fi­ca­ção no terminal como uma mensagem de difusão. Tenha em atenção que, para poder receber mensagens de outros uti­li­za­do­res, tem de permitir que estes tenham acesso de escrita ao seu terminal. Para tal, utilize o comando mesg:

Se quiser enviar o conteúdo de um ficheiro a todos os uti­li­za­do­res ativos, utilize wall com o operador de re­di­re­ci­o­na­mento < e o nome do ficheiro em questão:

wall < NOMBRE DEL ARCHIVO
bash

12. assistir

Com o comando watch, é possível executar um comando em in­ter­va­los regulares, sendo este invocado através da seguinte sintaxe:

watch [OPCIONES] COMANDO
bash

O intervalo de tempo durante o qual o comando enviado com watch deve ser executado é definido pela opção -n (em segundos). watch é encerrado com a com­bi­na­ção [CTRL] + [C].

13. WC

O comando wc do Linux (word count) fornece o número de linhas, palavras, letras, ca­rac­te­res ou bytes de um ficheiro de texto, sempre que ne­ces­sá­rio.

wc [OPCIONES] ARCHIVO
bash

Se wc for executado sem opções, a saída cor­res­ponde ao esquema LÍNEAS PALABRAS CARACTERES ARCHIVO, mas o comando suporta outras opções que permitem filtrar a saída: -l (líneas), -C (bytes), -m (caracteres),-L (longitud de la línea más larga) e -w (palabras).

14. xargs

O comando xargs do Linux permite passar a saída de um comando para outro comando como argumento. Nor­mal­mente, utiliza-se a barra vertical (|) como operador de re­di­re­ci­o­na­mento. O xargs é utilizado com esta sintaxe:

COMANDO1 | xargs [OPCIONES] COMANDO2
bash

O comando xargs é utilizado, por exemplo, em conjunto com find: no exemplo seguinte, find iden­ti­fica todos os ficheiros do diretório atual que cor­res­pon­dem ao padrão *.tmp e apresenta os seus nomes na saída padrão, onde são passados ao comando rm como argumento.

$ find . -name '*.tmp' | xargs rm
bash

Esta lista de comandos do Linux não pretende ser uma lista exaustiva de todos os comandos, mas abrange apenas os comandos es­tri­ta­mente es­sen­ci­ais e explica alguns exemplos da sua aplicação quo­ti­di­ana em sistemas Unix-like. Se procura uma descrição completa destes e de outros comandos, terá de consultar as páginas do manual do seu sistema operativo, cuja versão online se encontra no projeto Linux man-pages de Michael Kerrisk.

Ir para o menu principal