Os comandos mais importantes do Linux
Tal como a maioria dos sistemas operativos 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 configurações efetuadas na interface gráfica (GUI) também podem ser realizadas no chamado shell. Apresentamos-lhe os comandos mais importantes e, além disso, explicamos as suas funções e possíveis utilizações.
Lista dos 50 comandos mais importantes do Linux
| Comando | Descrição |
|---|---|
| sudo | Executa programas com as permissões de outros utilizadores |
| 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 diretórios |
| cp | Copia ficheiros ou diretó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 diretórios |
| cmp | Compara ficheiros ao nível do byte |
| tar | Grava e extrai ficheiros no ficheiro tar |
| echo | Exibe uma cadeia de caracteres na saída padrão |
| clear | Limpa a janela do terminal |
| ssh | Ligação a outro computador com Secure Shell |
| wget | Descarregar um ficheiro diretamente da Internet |
| ping | Verifica a ligação de rede |
| ftp, sftp | Transferir ficheiros através de (S)FTP |
| ip | Gerir interfaces IP |
| apt/pacman/yum | Descarregar e gerir pacotes de software |
| netstat | Mostra o estado das interfaces de rede |
| traceroute | Rastreamento de pacotes de dados |
| route | Exibe e edita tabelas de encaminhamento IP |
| dig | Solicita informações do DNS |
| mount/unmount | Adiciona sistemas de ficheiros (configurar/montar) |
| dd | Copiar ficheiros, partições ou discos bit a bit |
| chmod | Gere as permissões de acesso |
| chown | Gerencia direitos de propriedade |
| adduser | Adiciona/altera uma conta de utilizador |
| passwd | Cria/edita senhas para contas de usuário |
| groupadd | Cria grupos de utilizadores |
| chattr | Gere os atributos dos ficheiros |
| lsattr | Mostra os atributos do ficheiro |
| chgrp | Gerencia os grupos de arquivos e diretórios |
| man | Abre o manual |
| shutdown, reboot | Desliga ou reinicia o sistema |
| top | Lista dinâmica dos processos em execução |
| lscpu | Mostra informações sobre o processador |
| lshw | Mostra informações sobre o hardware |
| kill | Interrompe e encerra um processo com PID |
| killall | Interrompe e encerra processos usando o nome |
| nice | Define as prioridades 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 (substitute user do) permite que uma chamada ao sistema seja executada com os direitos de um utilizador diferente, de forma segura. Normalmente, é necessária a palavra-passe do utilizador que efetua a chamada.
Quando o comando é introduzido sem indicar qualquer nome de utilizador, é utilizado o superutilizador root como utilizador.
sudo -u USUARIO LLAMADAbashComando 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] DIRECTORIObashSe não for especificado 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 informações a apresentar e de que forma.
Comando cd do Linux
O comando cd do Linux é a abreviatura de «change directory» e é utilizado para navegar pelo diretório.
A sintaxe deste comando segue o seguinte esquema:
cd [OPCIÓN] DIRECTORIObashSe não for indicado nenhum diretório específico, o cd muda automaticamente para o diretório principal do utilizador. Se for acompanhado 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 alterações efetuadas num ficheiro. Se for utilizado num ficheiro que não existe, este é criado automaticamente, o que faz com que este comando também seja utilizado para criar ficheiros vazios.
Para chamar a função touch, é necessário seguir este esquema:
touch [OPCIÓN] ARCHIVObashSe o objetivo for alterar a data e a hora de um ficheiro para uma data específica, utiliza-se a opção -t, incluindo a data no formato [AA]MMDDhhmm[.ss]
Exemplo:
touch -t 1703231037 file.txtbashA data e a hora do acesso e das alteraçõ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 modificação através das opções -a e -m. Se for utilizada sem a opção -t, é automaticamente marcada com a data e a hora atuais.
Comando mkdir do Linux
O comando do Linux mkdir corresponde a «make directory» e permite aos utilizadores do Linux criar diretórios a partir do zero. Para criar um diretório no diretório atual, utilize a seguinte sintaxe:
mkdir [OPCIÓN] DIRECTORIObashSe 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 irreversível. Para tal, segue-se a seguinte estrutura:
rm [OPCIONES] ARCHIVO/ DIRECTORIObashPara eliminar uma pasta juntamente com todas as suas subpastas, utiliza-se rm com a opção -R (–recursive):
Comando rmdir no Linux
Se for necessário eliminar um determinado diretório, utiliza-se o comando rmdir (remove directory) de acordo com a seguinte sintaxe:
rmdir [OPCIÓN] DIRECTORIObashCom rmdir, no entanto, só é possível eliminar diretó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, encontrará 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 DESTINOComando cp do Linux
O comando cp do Linux (copy) é utilizado para copiar ficheiros e segue a seguinte sintaxe:
cp [OPCIONES] ORIGEN DESTINObashO 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]bashComando zip do Linux
Utilize o comando zip para compactar vários ficheiros num ficheiro zip. A sintaxe do comando é:
zip ARCHIVOS DESTINObashDESTINO refere-se ao nome ou caminho do ficheiro ZIP resultante. 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 DESTINObashARCHIVO refere-se ao ficheiro zip do qual pode extrair o ficheiro pretendido. Se preferir, pode especificar um diretório de destino com a opção -d DESTINO, onde os ficheiros resultantes 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, permitindo aceder ao mesmo através de um caminho diferente. Para executar o comando ln, é necessário incluir, no mínimo, o caminho para o ficheiro de origem.
ln [OPCIONES] ruta/al/archivo de origenbashNeste caso, o link é criado no diretório de trabalho atual sem alterar o nome. Outra alternativa consiste em indicar um caminho de destino e atribuir um nome diferente ao link:
ln [OPCIONES] ruta/al/archivo de origen ruta/al/enlacebashComando cat do Linux
O cat do Linux (concatenate) foi criado como uma ferramenta para concatenar ficheiros e pode ser utilizado como pager para apresentar o conteúdo dos ficheiros no terminal.
Escreva cat utilizando a seguinte sintaxe para ler e apresentar um ficheiro na saída padrão stdout:
cat OPCIONES ARCHIVOSbashSe incluir vários ficheiros, separe-os com espaços:
cat OPCIONES ARCHIVO1 ARCHIVO2bashComando 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 utilizadas sequências de caracteres ou expressões regulares. grep de acordo com esta sintaxe:
grep [OPCIONES] PATRÓN_DE_BÚSQUEDA [ARCHIVOS]bashSe grep encontrar uma sequência que corresponda ao padrão indicado, o terminal exibe o número da linha e especifica 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 subdiretórios.
Comando diff do Linux
O programa diff compara dois ficheiros. Também permite verificar se dois diretórios contêm os mesmos ficheiros. É executado com a seguinte sintaxe:
diff [OPCIONES] ARCHIVO1 ARCHIVO2bashComando cmp do Linux
Ao contrário do diff, no cmp a comparação é feita byte a byte, o que o torna especialmente adequado para ficheiros binários. Chama o cmp de acordo com a seguinte sintaxe:
cmp [OPCIONES] ARCHIVO1 ARCHIVO2bashSe cmp encontradas diferenças, o terminal exibe o número de bytes e o número da linha do primeiro ficheiro que apresenta diferenças.
Comando tar do Linux
O comando tar permite gravar ficheiros e pastas de forma sequencial num arquivo tar e utilizá-los como cópias de segurança, se necessário. Ao contrário do que acontece com o formato Zip próprio dos sistemas Windows, com tar os direitos de utilizador dos ficheiros guardados não se perdem, mesmo após a sua descompressão. Utilize a seguinte sintaxe:
tar [OPCIONES] ARCHIVOSbashSe 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 informações, consulte o nosso artigo«Programa de arquivo tar: criação de cópias de segurança e arquivamento de ficheiros».
Comando echo do Linux
Utilize o comando Linux echo para que o sistema apresente cadeias de caracteres, uma por linha, na saída padrão (que normalmente é o terminal).
A sintaxe básica do comando é:
echo [OPCIONES] CADENAbashComando clear do Linux
O comando clear apaga todos os comandos da sessão.
clearbashO utilizador recebe um terminal vazio com o prompt à espera de comandos. Os comandos introduzidos anteriormente são guardados no buffer de retrocesso. 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 computador a um computador externo através do protocolo SSH. Desta forma, ficará na shell de outro computador. A sintaxe é:
ssh USUARIO@HOSTbashUSUÁRIO e HOST referem-se ao nome de utilizador com o qual pretende iniciar sessão e ao endereço do computador externo.
Comando wget do Linux
Podes utilizar o comando Linux wget para descarregar ficheiros da Internet. Para tal, utiliza a seguinte sintaxe:
wget [OPCIÓN] ENLACEbashNo 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 interrompido.
Comando ping do Linux
Utilize o comando Linux ping para verificar a disponibilidade de outros computadores na rede. Este comando segue a seguinte sintaxe:
ping [OPCIONES] DESTINObashAlé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 argumentos opcionais, é possível definir o número de pacotes ou o intervalo de tempo em segundos após o qual ping termina automaticamente.
Comandos FTP ou SFTP do Linux
Estes comandos permitem trocar ficheiros entre o sistema local e outro computador da rede. Para tal, utiliza-se o FTP (File Transfer Protocol). Para estabelecer a ligação com o servidor FTP do computador de destino, utilize o ftp com a sintaxe apresentada a seguir:
ftp [OPCIONES] [HOST[PUERTO]]bashO endereçamento é feito através do nome do host ou do endereço IP. Se desejar, pode especificar 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, é preferível optar pelo SFTP (SSH File Transfer Protocol). O comando Linux sftp funciona seguindo o mesmo princípio que ftp, embora, neste caso, a transferência seja encriptada. O SFTP utiliza o padrão Secure Shell (SSH), bem como os seus métodos de autenticação. Neste artigo, explicamos 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 utilitários iproute2, que permite consultar e configurar interfaces de rede no terminal. Esta é a sintaxe geral do comando:
ip [OPCIONES] OBJETO [COMANDO [ARGUMENTOS]]bashCom a ajuda de objetos, comandos de pesquisa e argumentos, é possível definir qual a ação a ser executada com ip.
O programa suporta objetos como address (endereço IP), link (interfaces de rede), route (entrada na tabela de encaminhamento) 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 determinada interface de rede (eth0), utilize o comando ip com o objeto address, o comando show e o argumento dev eth0:
ip address show dev eth0bashDescubra como exibir um endereço IP no Linux com mais detalhes noutro artigo do Digital Guide.
Comandos do Linux: apt, pacman e yum
Cada distribuição Linux dispõe de um gestor de pacotes que permite descarregar 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 Hatbash[PAQUETE] corresponde ao nome do pacote ou programa que pretende instalar. Na maioria dos casos, estes comandos são executados com sudo no modo root. Para as restantes distribuições, que utilizam outros gestores de pacotes, os comandos podem ser diferentes. Cada gestor dispõe também de comandos para remover pacotes, bem como para atualizar listas de pacotes e pacotes instalados, entre outros. No Ubuntu, os comandos são apresentados da seguinte forma:
apt remove [PAQUETE] # eliminar paquete
apt update # actualizar lista de paquetes
apt upgrade # actualizar packagesbashComando netstat do Linux
O programa de linha de comandos netstat serve para consultar o estado das interfaces de rede e é utilizado seguindo esta sintaxe:
netstat [OPCIONES]bashQuando 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 encaminhamento (-r), ligações mascaradas (-M) ou mensagens de ligação de rede (-N). Podes encontrar mais informações no nosso artigo«Introdução ao netstat».
Comandos traceroute do Linux
Para rastrear o percurso de um pacote de dados IP entre o seu sistema e um computador de destino, pode utilizar o comando traceroute para acompanhar o percurso dos pacotes de dados. Utilize o formato apresentado a seguir:
traceroute [OPCIONES] NOMBRE_DEL_HOSTbashAtravés do traceroute, é possível obter informações sobre o router e os nós da Internet pelos quais um pacote IP passa quando é encaminhado para um computador de destino. Por exemplo, para investigar a causa de um atraso.
Comando route do Linux
Com o comando route, é possível consultar e editar as tabelas de encaminhamento IP do kernel. Utiliza-se com a seguinte sintaxe:
route [OPCIONES] [add|del] [-net|-host] OBJETIVObashSe utilizar o comando sem nenhuma opção, obtém-se uma tabela de encaminhamento completa do núcleo:
routebashSe quiser adicionar uma entrada de roteamento a uma rede, utilize a opção add:
route add -net 10.0.0.0bashComando dig do Linux
dig é uma ferramenta de pesquisa que permite solicitar informações aos servidores DNS e apresentá-las no terminal. Este comando é normalmente utilizado seguindo este esquema para solicitar o endereço IP e quaisquer outras informações no DNS relativas a um nome de domínio:
dig [@SERVIDOR] [DOMINIO] [TIPO]bashSERVIDOR é o servidor DNS ao qual é enviada a solicitação e onde se encontra a informação solicitada. Se não for indicado um servidor, dig consulta o servidor DNS padrão que consta no ficheiro /etc/resolv.conf. DOMÍNIO corresponde ao nome do domínio sobre o qual se procura a informação armazenada no DNS. E TIPO permite determinar 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 diretórios do sistema operativo através do terminal, o Linux disponibiliza o comando mount. Esta é a sintaxe geral deste comando:
mount [OPCIONES] DISPOSITIVO MOUNTPOINTbashDISPOSITIVO = aqui deve ser indicada a rota para o ficheiro de dispositivo da unidade que se pretende montar como partição.
MOUNTPOINT = esta nomenclatura corresponde ao ponto exato na estrutura de diretórios do sistema operativo onde se pretende integrar a nova partição. É normalmente indicada como um caminho absoluto.
Exemplo:
mount /dev/sdd /media/usbbashO dispositivo sdd encontra-se no diretório /media/usb.
Comando dd do Linux
O programa de linha de comando dd disponibiliza 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]bashNele, podem ser indicados como origem e destino tanto ficheiros individuais como partições (/dev/sda1) ou um dispositivo completo (/dev/sda).
dd if=/dev/sda5 of=/dev/sdb1bashComando 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 ARCHIVObashou
chmod [OPCIONES] MODO DIRECTORIObashMODO refere-se à forma como as permissões são atribuídas. Para saber como criá-las e o que deve ter em conta, leia o nosso artigo sobre a atribuição de permissõ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 propriedade de ficheiros e pastas. Este comando é utilizado da seguinte forma:
chown [OPCIONES] [USUARIO][:[GRUPO]] ARCHIVObashou
chown [OPCIONES] [USUARIO][:[ GRUPO]] DIRECTORIObashPara definir os direitos de proprietário para utilizadores ou grupos, existem quatro combinações possíveis. O proprietário e o grupo de um ficheiro são definidos de acordo com as seguintes indicações:
chown [OPCIONES] nombre_propietario:grupos_archivos.txtbash# 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.bashComando adduser do Linux
A opção mais simples para criar uma conta de utilizador é 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 funcionalidades de forma simples. O comando adduser requer privilégios de root e segue a sintaxe apresentada a seguir:
adduser [OPCIONES] USUARIObashSe utilizar o adduser sem opções, serão criados automaticamente, além de uma conta de utilizador, o ID, o diretório padrão e um grupo com o mesmo nome, como neste exemplo:
adduser testbashEm seguida, surge uma janela de diálogo interativa na qual é possível definir a palavra-passe e outros dados do utilizador, tais como o nome verdadeiro, o número do escritório, o número de telefone, etc.
Comando passwd no Linux
Para alterar a palavra-passe de um utilizador ou para definir, verificar ou alterar os intervalos de bloqueio, utilize o comando Linux passwd com a seguinte sintaxe:
passwd [OPCIONES] USUARIObashPara alterar a palavra-passe de outro utilizador, é necessário ter direitos de administrador. Ao digitar o comando passwd sem nome de utilizador, pode alterar a sua própria palavra-passe. Se o objetivo for bloquear a palavra-passe de outro utilizador, 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 intervalos de aviso (-w) e de inatividade (-i).
Comando groupadd do Linux
O comando groupadd é utilizado para criar grupos de utilizadores. Requer direitos de administrador e é executado seguindo esta sintaxe:
sudo groupadd [OPCIONES] GRUPObashCada grupo criado recebe um identificador de grupo único (GID). Os IDs de grupo entre 0 e 99 estão reservados para grupos do sistema. Para definir o GID de um novo grupo de utilizadores, 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 ARCHIVObashPara 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 alteraçõ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/DIRECTORIObashComando 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 necessário dispor de permissões de administrador para o poder aplicar a um ficheiro ou diretório específico. Além disso, só é possível trabalhar com os grupos aos quais se pertence. chgrp é utilizado seguindo a seguinte estrutura:
chgrp [OPCIONES] GRUPO ARCHIVObashou
chgrp [OPCIONES] GRUPO DIRECTORIObashA 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 distribuição Linux na consola. Para tal, siga estes passos:
man [OPCIÓN] TEMAbashAs páginas de manual do Linux estão organizadas em 10 secções temáticas: comandos de utilizador, chamadas ao sistema, biblioteca de funções da linguagem de programação C, formatos de ficheiro, ficheiros de configuração, jogos, miscelânea, comandos para administração do sistema, funções do kernel e novos comandos.
Comando shutdown do Linux
Os utilizadores com permissões de administrador podem utilizar o comando shutdown do Linux para desligar o sistema. A sintaxe básica é a seguinte:
shutdown [OPCIONES] [TIEMPO] [MENSAJE]bashQuando se pretende desligar o sistema, é possível definir o momento exato. Para tal, pode introduzir-se uma hora exata (hh:mm) ou uma contagem decrescente (+m). Os outros utilizadores ativos no sistema recebem um aviso de desligamento, que pode ser complementado com uma mensagem opcional. Se se adicionar a opção -r ao comando, o sistema reinicia após o desligamento.
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]bashA apresentação das informações sobre os processos pode ser ajustada através de várias opções. O comando suporta, além disso, a utilização das seguintes teclas para ordenar a apresentação:
- [P] = ordena os resultados com base no uso da CPU
- [M] = ordena a saída de acordo com a utilização da memória
- [N] = ordena a saída numericamente 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 visualização dos processos.
Comando Linux lscpu
Utilize o lscpu (list cpu) desta forma para obter informações sobre a CPU na consola:
lscpu [OPCIONES]bashNo manual do seu sistema operativo, pode consultar todas as opções que pode utilizar com o comando.
Comando lshw do Linux
Neste caso, lshw corresponde a «list hardware» e fornece informações sobre os componentes de hardware. O comando lshw é utilizado seguindo esta sintaxe:
lshw [OPCIONES]bashEste 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 informações apresentadas (por exemplo,-sanitize é utilizado para ocultar informações confidenciais).
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 selecionado:
kill [OPCIONES] [-SEÑAL] PIDbashOs sinais mais comuns são:
TERM: força um processo a terminar por si próprio (padrão)KILL: força o encerramento de um processo (pelo sistema)STOP: interrompe um processoCONT: permite continuar um processo interrompido
Comando killall do Linux
Em combinação com uma palavra-chave, o comando killall do Linux é utilizado para encerrar processos cujo nome coincida exatamente com ela (são comparados os primeiros 15 caracteres).
killall [OPCIONES] [-SEÑAL] [PROCESO]bashA opção -e (–exact) permite alargar a comparação a todos os caracteres do nome do processo.
Comando nice do Linux
O comando nice atribui a um processo, durante o arranque, um valor nice compreendido entre -20 e +19, que determina a forma como a capacidade disponível do microprocessador é distribuída. O intervalo mencionado equivale aos níveis de prioridade no Linux de 100 a 139. Um processo com um valor nice de -20 tem, assim, uma prioridade mais elevada do que um processo com um valor nice de 19. A sua sintaxe é a seguinte:
nice [OPCIÓN] [COMANDO]bashSem qualquer outra informação, todos os processos iniciam com um valor nice igual a 0. A opção -n permite definir as prioridades dos processos. É importante ter em conta que as prioridades negativas só podem ser atribuí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 correspondência, apresenta os respetivos PID. A sintaxe básica dessa chamada é:
pgrep [OPCIONES] TérminobashPor predefiniçã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 correspondências 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. À semelhança da grep, pgrep suporta palavras-chave baseadas em expressões regulares.
Comando do Linux com ps
O comando psLinux apresenta uma lista de todos os processos ativos:
ps [OPCIONES]bashSe precisares de um relatório mais detalhado, utiliza ps com as opções -f (detalhado) ou -F (muito detalhado). No manual do sistema operativo, encontrarás outras opções possíveis.
Comandos Linux adicionais num relance
Comandos básicos
Esta categoria inclui todos os comandos básicos do Linux utilizados para gerir o terminal, com os quais é possível limpar a janela da consola, recuperar comandos anteriores a partir do histórico ou encerrar a sessão.
1. sair
Com exit, a sessão atual é encerrada e a consola é fechada.
exitbashTambém podes usar o atalho de teclado [Ctrl] + [D] em vez disso.
2. ajuda
O comando help é utilizado para apresentar uma lista de todos os comandos do sistema.
Se introduzir help em conjunto com um comando do shell, obterá uma breve descrição do comando em questão.
help COMMANDbash3. história
No Bash, os últimos 500 comandos introduzidos no terminal são guardados no histórico. Esta funcionalidade ajuda na introdução de comandos na consola e permite executar novamente um comando introduzido anteriormente, selecionando-o com as setas do teclado e executando-o novamente.
Também é possível consultar o histórico por palavras-chave utilizando o atalho de teclado [CTRL] + [R]. Ao utilizar o comando sem opções nem argumentos, obtém-se a lista completa e numerada de comandos.
historybashPara 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 CLAVEbashPáginas de ajuda
Não sabe quais são os próximos passos? A este respeito, o Linux disponibiliza no terminal páginas de ajuda e documentação, como as Unix Man Pages (Manual do Unix) e as páginas de informação do GNU, que contêm uma descrição exaustiva de todos os programas, comandos, ficheiros de configuraçã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 analisados os títulos e as descrições das páginas do manual do seu sistema operativo por palavras-chave. Segue o seguinte esquema:
apropos [OPCIONES] PALABRA CLAVEbashEste comando suporta várias opções. Com a opção -e, limita a pesquisa a correspondências exatas, mas também pode utilizar caracteres curinga (-w «TERMO DE PESQUISA») e expressões regulares (-r).
2. Informações
Oinfo abre as páginas de informação do GNU sobre um determinado tema. Normalmente, correspondem 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] TEMAbashSe 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 informação com os links destacados a cores. Para utilizar pinfo, segue-se o mesmo esquema sintático que no info:
pinfo [OPCIONES] TEMAbash**4.**whatis O programa whatis permite pesquisar por palavras-chave no manual. Para procurar uma correspondência exata no manual do sistema operativo, o programa é executado com o termo de pesquisa. Se for encontrada uma correspondência, whatis apresenta uma breve descrição no terminal.
whatis [OPCIONES] PALABRA CLAVEbashwhatis (-w '\*PALABRA CLAVE) também suporta caracteres curinga e expressões regulares (-r).
Operações de diretório
Os comandos do Linux são utilizados para realizar operações em diretórios, tais como criar, eliminar e gerir diretórios no seu sistema através do terminal, bem como para navegar pela árvore de diretórios. Os comandos mais importantes nesta categoria são cd, ls, mkdir e rmdir.
Operações com diretórios
Os comandos do Linux são utilizados para realizar operações em diretórios, tais como criar, eliminar e gerir diretórios no seu sistema através do terminal, bem como para navegar pela árvore de diretórios. Os comandos mais importantes 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 privilégios de root e segue a seguinte fórmula:
chroot DIRECTORIO COMANDObash2. mkdir aqui
Com mkdirhier, pode criar hierarquias completas de diretórios com um único comando:
mkdirhier [OPCIÓN] /home/user/directorio1/directorio2/directorio3bashSe «diretório1» e «diretório2» já existirem, «mkdirhier» cria apenas «diretório3». Caso contrário, são criados os três diretórios.
3. árvore
Enquanto o comando ls apenas lista o conteúdo de um diretório, o comando tree pode ser utilizado para apresentar, de forma recursiva, toda a hierarquia de diretórios como uma estrutura em árvore. O comando utiliza a seguinte sintaxe:
tree [OPCIONES] [DIRECTORIO]bashOperações em ficheiros
Os comandos Linux desta categoria permitem realizar várias operações no terminal relacionadas com ficheiros e, utilizando 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]bashO comando pode ser aplicado a vários ficheiros com diferentes opções.
2. comm
Utilize o comando comm para comparar, linha a linha, ficheiros previamente ordenados (por exemplo, com sort). A execução deste comando baseia-se na seguinte estrutura sintática:
comm [OPCIONES] ARCHIVO1 ARCHIVO2bashO 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] ARCHIVObashPara 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/filebash**5.**ficheiro Com o comando file, é possível obter informações sobre o tipo ou formato de um ficheiro. Siga o seguinte esquema:
file [OPCIONES] ARCHIVObash6. lsof
O comando Linux lsof equivale ao «list open files», um programa utilitário que apresenta no terminal informações sobre os ficheiros abertos, ordenados por PID (ID do processo). Para o executar, segue-se o seguinte esquema:
lsof [OPCIONES]bashUma 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 restringem o resultado.
7. md5sum
Com a ajuda do comando md5sum, é possível calcular e verificar somas de verificação MD5.
8. colar
À semelhanç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 ARCHIVO2bashCom a opção -d, é possível configurar individualmente o tipo de separador utilizado. Por predefinição, utiliza-se normalmente 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 expressões regulares (regex). Ao contrário do mv, rename permite modificar os nomes de vários ficheiros, parcial ou totalmente. A execução do rename segue o seguinte esquema:
rename [OPCIONES] 'EXPRESIÓN_REGULAR' ARCHIVOSbashNo caso das substituições, as expressões regulares seguem a seguinte sintaxe:
s/PATRONDEBUSQUEDA/SUSTITUCIÓN/MODIFICADORbash10. shred
O comandoshred permite apagar ficheiros de forma permanente, uma vez que os sobrescreve 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] ARCHIVObash11. classificar
O comando sort ordena as listas de ficheiros e as saídas do programa em linhas, por ordem numérica e alfabética. O comando sort é executado da seguinte forma:
sort [OPCIONES] ARCHIVObashEste método pode ser complementado com opções como -n (ordenar numericamente), -R (ordenar aleatoriamente) ou -r (ordenar em ordem inversa).
12. divisão
O comando split é utilizado para subdividir ficheiros. Segue o seguinte esquema sintático:
split [OPCIONES] [INPUT [PREFIJO]]bashINPUT corresponde ao ficheiro a ser dividido e PREFIXO funciona como prefixo do nome do novo subficheiro. Ao renomeá-lo, segue-se o seguinte esquema:
PREFIJOaa, PREFIJOab, PREFIJOac …bashSe 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.bash13. estatística
Com o comando stat (status), é possível obter a data e a hora dos acessos e das alterações relativas a determinados ficheiros ou diretórios. Este comando segue a seguinte sintaxe:
stat [OPCIONES] ARCHIVObashO formato de saída pode ser configurado através de várias opções.
14. uniq
O comando uniq é frequentemente utilizado em conjunto com sort para eliminar linhas duplicadas nos ficheiros. No exemplo seguinte, o comando sort é ligado ao comando uniq através da barra vertical (|) para selecionar primeiro um ficheiro e, em seguida, para o apresentar sem linhas duplicadas:
sort archivo.txt | uniqbashOpçõ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]bashO diretório indicado em RUTA define o ponto de partida da pesquisa, de modo a que sejam explorados tanto o diretório como os seus subdiretó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 predefinida é -print, que apresenta o resultado da pesquisa na saída padrão (normalmente 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 correspondente.
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 especificamente para esse fim e atualizada regularmente. Assim, locate apresenta os resultados muito mais rapidamente do que find. Para pesquisar um determinado ficheiro na base de dados, o locate é invocado com esta sintaxe:
locate PATRÓN_DE_BÚSQUEDAbashO padrão pode conter metacaracteres que funcionam como curingas (*). Se os escrever entre aspas, o shell não os interpretará como metacaracteres do shell.
3. tre-agrep
tre-agrep também é utilizado para procurar cadeias de caracteres em ficheiros de texto com base em padrões, mas, ao contrário do grep, não apresenta apenas correspondências exatas, mas também resultados aproximados (como cadeias que contêm pequenos erros ortográficos). Para tal, o programa recorre à biblioteca TRE. A sua sintaxe corresponde à do comando grep:
tre-agrep [OPCIONES] PATRÓN ARCHIVOSbashNas 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.txtbash**4.**updatedb A pesquisa com locate só é fiável se o ficheiro /var/lib/locatedb for mantido constantemente atualizado. O comando updatedb permite atualizar a base de dados manualmente. Tenha em atenção que, para tal, necessita de direitos de administrador:
Updatedbbash5. whereis
Com o comando whereis, é possível localizar os ficheiros binários, de código-fonte ou do manual de determinados programas. A sua sintaxe geral é a seguinte:
whereis [OPCIONES] PROGRAMAbashCom as opções, é possível restringir a pesquisa a determinados tipos de ficheiros ou pastas.
6. qual
Para verificar a localizaçã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] PROGRAMAbashNo modo padrão, which responde com o primeiro ficheiro encontrado. Se desejar, a opção -a apresenta todos os ficheiros que correspondem aos critérios de pesquisa.
Informações sobre os utilizadores
Utilize os comandos desta categoria para solicitar informações detalhadas sobre os utilizadores registados no sistema, bem como sobre os seus grupos e processos.
1. dedo
O comando finger apresenta informações sobre os utilizadores e, para tal, é combinado com o nome do utilizador em questão:
finger [OPCIONES] [USUARIO]bashUtilize o finger sem indicar um nome de utilizador para solicitar informações sobre a sua própria conta.
2. grupos
Com o groups, o terminal lista os grupos aos quais pertence uma determinada conta de utilizador.
Quando não é indicado nenhum utilizador, groups identifica todos os grupos aos quais a sua conta pertence.
Para tal, siga o modelo apresentado:
groups [OPCIONES] [USUARIO]bash3. id
O comando id apresenta os códigos dos utilizadores e grupos da conta de utilizador selecionada.
id [OPCIONES] [USUARIO]bashAo adicionar opções, é possível restringir a pesquisa
4. último
Utilize o comando last de acordo com o esquema indicado abaixo para obter uma lista dos últimos utilizadores que iniciaram sessão, juntamente com a hora de início e de fim da sessão:
last [OPCIONES] [USUARIO]bashPara tal, a consola solicita informações do ficheiro wtmp no /var/log/wtmp. Se a pesquisa se referir a uma conta específica, o nome do utilizador é adicionado ao comando.
5. w
Neste caso, w devolve uma lista de todos os utilizadores com sessão ativa e todos os processos que estão a ser executados. Se adicionares um nome de utilizador, a pesquisa fica limitada a esse utilizador:
w [OPCIONES] [USUARIO]bashMais uma vez, pode personalizar o nível de detalhe e o formato da saída através de opções.
6. quem
O comando who apresenta informações sobre os utilizadores ativos no sistema nesse momento, se for utilizado de acordo com a seguinte sintaxe:
who [OPCIÓN] [ARCHIVO]bashPor predefinição, who extrai os dados sobre o utilizador atual do ficheiro /var/run/utmp, mas, opcionalmente, também é possível indicar estes ficheiros a seguir como fonte da informação.
7. whoami
Utiliza o comando whoami para obter o teu próprio nome de utilizador.
whoami [OPCIONES]bashGestão de contas de utilizador
O Linux oferece uma série de programas que permitem criar, eliminar e gerir contas de utilizador e grupos através do terminal. Estes aparecem na seguinte lista geral de comandos do Linux para a gestão de contas de utilizador, categoria que também inclui os comandos que permitem abrir programas com os direitos de outros utilizadores, incluindo os de administrador.
1. chfn
O comando chfn, equivalente ao «change finger», permite editar informações adicionais de uma conta de utilizador, incluindo dados como o nome verdadeiro do utilizador, o número do escritório e os números de telefone particular e profissional. A sintaxe geral do chfn segue esta estrutura:
chfn [OPCIÓN "NUEVO VALOR"] [USUARIO]bashCom as opções -f (nome verdadeiro), -r (número do escritório), -w (número oficial) e -h (número privado), define-se quais as informações do utilizador que são substituídas por um novo valor.
2. chsh
O comando chsh (alterar shell) altera o shell de login de um utilizador. Para tal, segue-se o seguinte procedimento:
chsh [OPCIONES] USUARIObashPode utilizar a opção -s para alterar o shell de login de uma conta de utilizador.
3. deluser
O programa de linha de comandos deluser apaga todas as entradas de uma conta de utilizador dos ficheiros de contas do sistema. deluser só pode ser utilizado com direitos de administrador e segue o seguinte esquema:
deluser [OPCIONES] USUARIObashSe a intenção for apagar todos os ficheiros do utilizador no diretório principal, deve-se utilizar o comando juntamente com a opção --remove-home; se, por outro lado, se pretender eliminar todos os ficheiros do utilizador do sistema, deve-se utilizar a opção --remove-all-files.
4. delgroup
O comando delgroup (delete group) é utilizado para eliminar grupos de utilizadores e requer direitos de root. Segue esta sintaxe:
delgroup [OPCIONES] GRUPObash5. groupmod
Com groupmod, é possível configurar tanto o nome como o GID de um grupo de utilizadores. O comando é utilizado pelo administrador seguindo o seguinte esquema:
groupmod OPCIONES GRUPObashSe 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 utilizadores 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]bashSe newgrp for acompanhado pelo parâmetro opcional [-], após a mudança de grupo ocorre um reinício do ambiente do utilizador, como se fosse iniciada uma nova sessão. Os utilizadores que utilizam o comando sem indicar nenhum grupo são transferidos para o grupo padrão definido em /etc/passwd.
7. o seu
O comando su também permite mudar temporariamente de utilizador para efetuar chamadas ao sistema com as permissões de outro utilizador, mas, ao contrário do sudo, neste caso os comandos não são executados diretamente; é necessário mudar de identidade porque o comando não solicita a palavra-passe do utilizador que o invoca, mas sim a do utilizador cujos direitos se pretende assumir. A sintaxe geral do comando segue esta ordem:
su [OPCIONES] [USUARIO]bashUma solicitação sem nome de utilizador seleciona o utilizador root.
8. usermod
O comando usermod permite editar contas já criadas. Utilize o usermod com privilégios de root, seguindo o seguinte esquema:
usermod [OPCIONES] USUARIObashCom a ajuda das opções, pode definir quais as alterações a efetuar. Por exemplo, com -l NUEVO_NOMBRE pode alterar o nome de utilizador. Para encontrar mais opções, consulte a página correspondente do manual.
Gestão do sistema
Nesta categoria, explicamos os comandos do Linux para a administração do sistema. Com eles, pode, por exemplo, reiniciar ou desligar o sistema a partir da consola e até programar essas ações.
1. registador
Utilize logger para a seguinte sintaxe:
logger "MENSAJE"bashO ficheiro de registo do sistema encontra-se na posição /var/log/syslog.
2. reiniciar
O comandoreboot permite reiniciar o sistema, sendo necessário ter permissões de root para o fazer.
reboot [OPCIONES]bash3. rtcwake
No caso do rtcwake, trata-se de um comando que permite programar o arranque, a suspensão e o desligamento do computador. Escreve-se assim:
rtcwake [OPCIONES] [MODO] [Tiempo]bashEm MODO, selecione o modo (-m) em que o sistema deve entrar durante um determinado período (-s para tiempo en segundos). Opcionalmente, também pode «ativar» o sistema num momento definido (-t para tiempo Unix).
Informações do sistema
Esta categoria reúne todos os programas de linha de comandos que permitem obter informaçõ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]bashSe, ao iniciar um programa, precisar de utilizar uma data especí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]bashQuando o comando é utilizado em conjunto com um determinado 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 configurar o formato de saída.
3. dmesg
O programa dmesg (display message) apresenta as mensagens de diagnóstico do buffer do kernel e permite localizar erros no hardware ou no controlador. Utilize dmesg com esta sintaxe:
dmesg [OPCIONES]bashA saída dmesg contém todas as mensagens geradas durante o arranque do sistema e, por isso, é bastante extensa. Isso faz com que seja frequentemente acompanhada por um pager como more, less ou tail.
4. gratuito
O comando free mostra a utilização da memória com esta sintaxe:
free [OPCIONES]bashComo resultado, obtém dois valores: Mem (Memória) e Swap. free também suporta a opção –h, com a qual obtém a informaçã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]bash6. uname
O comando uname corresponde unix name e é utilizado para solicitar informações sobre o kernel. O comando suporta várias opções que permitem filtrar a saída das informações.
uname [OPCIONES]bash7. tempo de atividade
Para saber há quanto tempo o sistema está em funcionamento desde o último arranque sem ter sido reiniciado, utilize o comando uptime com a seguinte sintaxe:
Uptimebash8. vmstat
Com a ajuda da ferramenta de monitorização vmstat, é possível obter informações sobre a memória virtual, sobre os processos de gravação e leitura no disco rígido, bem como sobre a atividade do processador central. Digite vmstat desta forma para obter os valores médios desde o último arranque do sistema:
vmstat [OPCIONES]bashO comando vmstat também oferece um modo de monitorização contínua, através do qual é possível solicitar os valores num intervalo de tempo, em segundos, com a frequência que for necessária.
vmstat [OPCIONES] [INTERVALO [REPETICIONES]]bashInformações sobre o hardware
Os comandos Linux incluídos nesta categoria fornecem informações detalhadas sobre os componentes de hardware nos quais o sistema está a ser executado.
1. lspci
Utilize o comando lscpu (list cpu) desta forma para obter informações sobre a CPU na consola.
lscpu [OPCIONES]bashNo manual do seu sistema operativo, pode consultar todas as opções que pode utilizar com o comando.
**2.**lsusb Se quiser obter informações detalhadas sobre os dispositivos USB, introduza o comando lsusb (list usb) no terminal da seguinte forma:
lsusb [OPCIONES]bashNo manual do sistema operativo, também encontrará as opções compatíveis com este comando.
Gestão de processos
No Linux, as instâncias de um programa em execução são denominadas processos. Os comandos a seguir fazem parte do conjunto padrão de ferramentas de gestão de processos e permitem supervisioná-los facilmente a partir do terminal e intervir, se necessário.
1. chrt
Com chrt, temos um programa para o controlo avançado de processos que permite verificar e configurar os atributos em tempo real (regras de agendamento ou planeamento de processos e prioridades) de processos ativos, ou executar comandos e os seus argumentos com determinados atributos em tempo real. Escreve-se com esta sintaxe:
chrt [OPCIONES] [PRIORIDAD] PID/COMANDO [ARGUMENTOS]bashPara determinar os atributos em tempo real de determinados processos, utilize o chrt sem indicar qualquer prioridade, juntamente com a opção -p.
Com a ajuda das opções, chrt também permite configurar ou definir o controlo da programação de processos em execução ou recém-iniciados. Encontrará mais informações sobre este assunto na respetiva página de manual.
2. ionizar
O comando ionice é utilizado para alterar a prioridade de um processo que utiliza a interface de E/S do kernel. A sintaxe geral do comando é:
ionice [OPCIONES] COMANDObashPara poder executar o comando ionice, é necessário dispor de permissões de administrador. O comando distingue três tipos de agendamento, que são especificados 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 imediatamente.
- 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
Normalmente, quando um utilizador encerra uma sessão na consola com exit, por exemplo, todos os processos dependentes são encerrados automaticamente. O comando nohup do Linux (no hangup) retira um processo da sessão em curso, de modo a que este possa permanecer ativo mesmo depois de o utilizador ter encerrado a sua sessão.
nohup COMANDObash4. pidof
No caso do programa pidof, obtêm-se da consola os números de identificação de todos os processos de um programa. Solicita os PID com o pidof, seguindo este esquema:
pidof [OPCIONES] PROGRAMAbashQuando 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 determinado processo, embora o direcionamento 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]bashGraças às várias opções disponíveis, podemos restringir o comando aos processos de um determinado utilizador (-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 atualmente em execução. Siga a seguinte sintaxe:
pstree [OPCIONES]bashAo utilizar várias opções, pode definir o formato e a amplitude da saída.
7. renice
O comando renice permite alterar a prioridade de um processo ativo. É executado com a seguinte sintaxe:
renice PRIORIDAD [OPCIONES]bash**8.**sleep O comando sleep do Linux é utilizado para interromper, por um determinado período de tempo, a sessão atual na consola. A sintaxe geral do comando é a seguinte:
sleep CIFRA[SUFIJO]bashSe invocar o sleep sem sufixo, o número indicado é interpretado como um intervalo em segundos (s), mas também é possível interromper 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 processadores multinúcleo para atribuir processos ou programas aos núcleos. Este comando é executado com privilégios de administrador e utiliza um dos seguintes esquemas:
taskset [OPCIONES] MÁSCARA ORDEN
taskset [OPCIONES] -p PIDbashA atribuição de processos e tarefas a um núcleo da CPU é feita através de uma máscara de bits hexadecimal. Dado que a atribuição através de máscaras de bits não é muito intuitiva, taskset é frequentemente utilizada em conjunto com a opção -c (–cpu-list), que permite uma atribuição numérica dos processadores (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, denominada Pager, permitem selecionar as partes que se pretende mostrar no terminal e até folhear os ficheiros de forma interativa.
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] ArchivobashUtilize a opção -n NÚMERO_LÍNEAS para definir quantas linhas, a partir da primeira, devem ser apresentadas 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] ARCHIVObashA visualização ocorre automaticamente no modo interativo, o que permite ao utilizador folhear o documento ou pesquisá-lo por palavras-chave. A tecla [Q] fecha o modo de leitura interativa — no manual do programa, encontrará mais atalhos de teclado ou opções disponíveis para este comando.
3. tail
Enquanto head mostra, por predefinição, as primeiras 10 linhas de um ficheiro, tail mostra as últimas 10. Ambos os pagers são utilizados da mesma forma (ver head).
Editores
No Linux, não é necessário utilizar um programa de edição de texto para alterar ficheiros de configuração, editar trechos de código ou escrever notas curtas, pois é possível abrir editores de texto simples no terminal. A seguir, apresentamos três comandos que deve conhecer.
1. emacs
O Emacs é um editor de texto multiplataforma que pode ser ampliado através de uma interface de programação. Por predefinição, inicia com uma interface gráfica de utilizador, mas se se introduzir a opção --no-window-system, também pode ser aberto no terminal.
emacs --no-window-systembashO 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 funcionalidades mais reduzido do que outros editores semelhantes (como o Vim), distingue-se deste pela sua maior facilidade de utilização. A sua sintaxe básica é a seguinte:
nano [OPCIONES] ARCHIVObashO comando abre o ficheiro solicitado 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 funcionalidades, tais como realce de sintaxe, um sistema de ajuda abrangente, scripting nativo, autocompletar de código e seleção visual de texto.
Este programa de código aberto oferece vários modos de funcionamento 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 programação.
Quando iniciado na consola, o Vim é utilizado através do teclado. Normalmente, o comando é executado com um ficheiro de texto, seguindo este formato:
vim [OPCIONES] ARCHIVObashO Vim oferece, através do programa vimtutor — que também é iniciado na linha de comandos —, uma introdução exaustiva ao Vim. O nosso artigo sobre o editor Linux Vim também serve para aprofundar os conhecimentos sobre a instalação do programa e os seus diferentes modos de funcionamento.
Gestão de redes
Também é possível gerir redes no terminal utilizando o Linux. Quer se trate de verificar uma ligação, solicitar informações ao DNS, configurar interfaces ou enviar ficheiros para outro computador, 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 modificador arpo conteúdo da tabela ARP no terminal.
arp [OPCIÓN]bashPodes 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 determinado nome de host ou de um endereço IP:-s HOST DIRECCIÓN_MAC= Criar uma entrada ARP especificando o nome do host e o endereço MAC-d HOST= Apagar uma entrada ARP
2. iw
O programa iw é utilizado para configurar interfaces sem fios e consolidou-se como a alternativa mais recente ao iwconfig. Este comando baseia-se numa sintaxe semelhante à do ip:
iw [OPCIONES] OBJETO [COMANDO]bashAlguns objetos que podem ser usados com o iw são:
- dev NOME_DA_INTERFACE = Interface de rede
- phy NOME_DO_DISPOSITIVO = Dispositivo sem fios (por nome)
- phy#ÍNDICE_DO_DISPOSITIVO = Dispositivo sem fios (por índice)
- reg = Agente regulador para configurar a região e o país
Na secção correspondente do manual, é possível consultar uma apresentação dos comandos e das opções.
3. nslookup
Tal como dig, nslookup também serve para resolver nomes. O comando está disponível em dois modos de funcionamento: interativo e não interativo. Para iniciar o nslookup no modo não interativo, o programa é executado em combinação com um nome de host ou um endereço IP.
nslookup [OPCIONES] [HOST/IP ]bashPara iniciar o modo interativo, introduza o comando nslookup no terminal sem qualquer informação adicional e, em seguida, inclua os nomes de host ou endereços IP para visualizar os endereços IP ou nomes de host associados.
Uma vez que o comando está oficialmente obsoleto, recomenda-se aos utilizadores que utilizem dig em vez dele.
4. rsync
O comando rsync permite sincronizar ficheiros localmente ou numa rede. Para tal, são primeiro comparados o tamanho e a data das alterações dos ficheiros em questão. A sintaxe do comando é a seguinte:
rsync [OPCIONES] ORIGEN DESTINObashO comando rsync é normalmente executado com a opção -a, que é responsável pela cópia de todas as subpastas, bem como dos links simbólicos, juntamente com os direitos de utilizador.
5. scp
Com o comando Linux scp (secure copy) , dispõe de outro programa para transferir dados de forma segura na rede: scp copia dados de um computador para outro, utilizando 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:]RUTAbashA indicação do caminho no computador é precedida pelo nome de utilizador e pelo nome do host remoto. Os ficheiros locais podem ser referenciados através de caminhos relativos ou absolutos.
Exemplos:
scp /home/max/images/image.jpg max@example.com:/home/max/archivbashGraças a outras opções, pode configurar o modo de transferência e a encriptaçã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]bashArquivar e compactar
O Linux disponibiliza várias tecnologias para comprimir e empacotar ficheiros, embora seja importante ter em conta que nem sempre um processo de arquivamento implica uma compressão. Por exemplo, o programa de arquivamento de ficheiros tar é frequentemente utilizado em conjunto com programas de compressão como gzip, bzip2 ou xz.
1. gzip
No caso do gzip, estamos perante um programa que permite comprimir e descomprimir ficheiros facilmente no terminal. A sua sintaxe geral segue esta estrutura:
gzip [OPCIONES] ARCHIVOSbashDeve ter em conta que, por predefiniçã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 convertido num ficheiro gz independente. Para gravar vários ficheiros num único ficheiro compactado, utiliza-se o gzip em conjunto com o programa de compactação tar. Se se tratar de descompactar um ficheiro gz, combina-se o comando gzip com a opção -d ou utiliza-se o comando gunzip.
2. bzip2
Uma alternativa popular ao gzip é o programa de linha de comandos bzip2. Utilizando a mesma sintaxe que o anterior, este baseia-se, no entanto, num processo de compressão em três fases que permite um maior grau de compressão. Os ficheiros que foram comprimidos com o bzip2 têm a extensão .bz2. Utilize bzip com este esquema para comprimir ficheiros:
bzip2 [OPCIONES] ARCHIVOSbashbzip2 também pode ser aplicado em ficheiros tar. A descompressão ocorre aqui de forma semelhante ao bzip com a opção -d.
3. xz
O comando xz converte ficheiros para o formato de compressão de dados com o mesmo nome. Para executar o programa, segue-se o mesmo procedimento que para os comandos gzip e bzip2.
xz [OPCIONES] ARCHIVOSbashOs ficheiros compactados com xz têm a extensão .xz. A descompressão é também realizada com a opção -d (tal como nas opções gzip e bzip). Em alternativa, também é possível utilizar o comando unxz.
Tal como os ficheiros gz e bz2, os ficheiros xz também não são compactados. Quando se pretende incluir vários ficheiros no mesmo ficheiro compactado xz, é necessário recorrer à ferramenta de compactação tar.
4. cpio
cpio (copy in, copy out) é um programa de arquivamento 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 localizado numa partição diferente, este tem de estar integrado na estrutura de diretórios do sistema operativo. Este procedimento é designado por**«montar»**uma partição e pode ser realizado na interface gráfica do utilizador. Utilizando o terminal de linha de comandos, o utilizador dispõe também de programas como lsblk, blkid e mount, com os quais pode solicitar informações sobre os dispositivos de bloco (block devices) ligados e montá-los ou desmontá-los conforme necessário.
1. lsblk
Com o comando lsglk (list block devices), obtém-se uma visão geral de todos os dispositivos e partições incorporados no sistema operativo, apresentados numa estrutura em árvore (não precisam necessariamente de estar montados).
lsblk [OPCIONES]bashA saída pode ser personalizada utilizando a opção -o (–output) e uma lista dos atributos pretendidos para solicitar dados adicionais, tais como o número de identificação (UUID), o tipo de sistema de ficheiros (FSTYPE) ou o estado (STATE).
Na configuração padrão, os dispositivos 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 informações sobre um determinado dispositivo, utiliza-se o seguinte esquema:
lsblk [OPCIONES] DISPOSITIVObash2. blkid
blkid também fornece informações sobre os dispositivos ligados ao hardware, de forma semelhante ao comando blk. Ao utilizar o comando com o seguinte formato, é possível solicitar o número de identificação (UUID) e o tipo de sistema de ficheiros (TYPE) de todos os dispositivos de bloco ligados:
blkid [OPCIONES]bashCom a opção -o e o valor list, obtém-se a saída em forma de tabela.
blkid -o listbashMiscelânea
A seguir, descrevem-se alguns comandos que não se enquadram em nenhuma das categorias enumeradas até agora.
1. pseudónimo
A interação com o shell é normalmente feita através de comandos que podem ser utilizados 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 apresentado a seguir:
alias APODO = 'COMANDO'bashSubstitua COMANDO pela linha de comando, incluindo as opções. Isto irá inserir a cadeia de caracteres inserida no lugar do marcador APODO.
2. em
Com o comando at, de acordo com este esquema, programa-se a execução de uma determinada ordem:
at FECHA HORAbashEm seguida, introduza o comando e saia do modo interativo com [CTRL] + [D].
**3.**cal Ao utilizar cal de acordo com o esquema a seguir, obtém-se uma vista de calendário no terminal:
cal [OPCIONES] [[MES] Año]bash4. pr
O programa de linha de comandos pr permite preparar ficheiros para impressão. Para tal, siga a seguinte sintaxe:
pr [OPCIONES] ArchivobashNa configuraçã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á substituída. O registo da sessão começa automaticamente quando o programa é iniciado:
scriptbashUtilize 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 juntamente 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, eventualmente, o tipo de incremento.
seq [OPCIONES] VALOR INICIAL INCREMENTO VALOR FINALbash7. tasksel
Com o comando tasksel, obtém-se suporte para a instalação de aplicações padrão, como um servidor de e-mail, DNS, OpenSSH ou LAMP. Se utilizar esta ferramenta, todos os pacotes e programas necessários para uma determinada tarefa são instalados automaticamente na sequência correta. Com a opção «–list-tasks», o «tasksel» apresenta uma lista de todas as aplicações padrão disponíveis.
tasksel --list-tasksbashSe pretender obter informações adicionais sobre uma aplicação da lista, inclua a opção --task-desc no comando, juntamente com as informações correspondentes. Se pretender que o terminal mostre todos os pacotes pertencentes à tarefa «mail-server», utilize o comando com a opção --task-packages.
A instalação de todos os pacotes de uma aplicação padrão é iniciada através do subcomando install. Para tal, é necessário ter direitos de administrador.
8. tee
O comando tee do Linux permite duplicar a saída de um programa. Para tal, uma parte da saída é redirecionada para a saída padrão e outra é gravada no ficheiro indicado no comando tee a sua sintaxe:
tee [OPCIONES] ARCHIVObashtee é frequentemente acompanhado pela barra vertical (|) como operador:
ls | tee ejemplo.txtbash9. hora
Utilize o comando time de acordo com o esquema a seguir para obter informações sobre o tempo de execução dos programas que inicia no terminal:
time [OPCIONES] Comando [ARGUMENTOS]bash10. tr
Utilize tr para apagar caracteres 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 modificação pretendida. No caso de substituição, tr é utilizado com dois argumentos:
tr OPCIÓN CANTIDAD1 CANTIDAD2bashO segundo argumento (CANTIDADE2) substitui o primeiro (CANTIDADE1). Para apagar uma sequência de caracteres, utiliza-se a opção -d e indica-se a sequência como argumento.
tr -d SECUENCIAbashEste comando costuma ser combinado com os operadores «maior que» ou «menor que» para efetuar ajustes nos ficheiros.
tr 'a-z' 'A-Z' < ejemplo1.txt > ejemplo2.txtbashAqui, tr lê o conteúdo do ficheiro ejemplo1.txt, substitui as letras minúsculas de a a z por maiúsculas e grava o resultado no ficheiro ejemplo2.txt.
11. parede
O comando wall permite enviar uma mensagem a todos os utilizadores ativos no sistema num determinado momento. Para executar o programa, escreva na consola:
wallbashConfirme 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 utilizadores ativos no sistema nesse momento recebem a notificação no terminal como uma mensagem de difusão. Tenha em atenção que, para poder receber mensagens de outros utilizadores, 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 utilizadores ativos, utilize wall com o operador de redirecionamento < e o nome do ficheiro em questão:
wall < NOMBRE DEL ARCHIVObash12. assistir
Com o comando watch, é possível executar um comando em intervalos regulares, sendo este invocado através da seguinte sintaxe:
watch [OPCIONES] COMANDObashO 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 combinação [CTRL] + [C].
13. WC
O comando wc do Linux (word count) fornece o número de linhas, palavras, letras, caracteres ou bytes de um ficheiro de texto, sempre que necessário.
wc [OPCIONES] ARCHIVObashSe wc for executado sem opções, a saída corresponde 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. Normalmente, utiliza-se a barra vertical (|) como operador de redirecionamento. O xargs é utilizado com esta sintaxe:
COMANDO1 | xargs [OPCIONES] COMANDO2bashO comando xargs é utilizado, por exemplo, em conjunto com find: no exemplo seguinte, find identifica todos os ficheiros do diretório atual que correspondem 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 rmbashEsta lista de comandos do Linux não pretende ser uma lista exaustiva de todos os comandos, mas abrange apenas os comandos estritamente essenciais e explica alguns exemplos da sua aplicação quotidiana 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.