comandos linux terminal

Linux — comandos básicos

Neste artigo vou mostrar exemplos de comandos básicos, usados no dia a dia, no Linux — já que nem tudo a gente quer fazer no ambiente gráfico. Se quiser, guarde esta página nos seus favoritos, imprima-a e, se você se sentir à vontade, compartilhe com outros leitores a sua maneira de fazer as coisas nos comentários.

exemplos de uso do comando tar

Como criar um arquivo tar com o conteúdo de um diretório:

tar cvf arquivo.tar diretorio/

Para extrair:

tar xvf arquivo.tar

Como ver o conteúdo do arquivo tar:

tar tvf arquivo.tar

leia mais sobre o comando tar.

O comando grep

Leia aqui, mais exemplos de uso do comando grep. Basicamente, posso usar este comando para pesquisar uma string (cadeia de caracteres) dentro de um conjunto de arquivos:

grep -r "minha string" *.txt

O comando dado fará com que a cadeia “minha string” seja pesquisada em todos os arquivos com extensão .txt, recursivamente.
Eu prefiro usar este comando da seguinte forma… supondo que eu deseje encontrar todas as ocorrências da string “mcrypt”, dentro do arquivo /etc/php5/apache2/php.ini:

cat /etc/php5/apache2/php.ini | grep -i mcrypt

O parâmetro -i desliga a sensibilidade à caixa das letras – ou seja, tanto faz se estiver em minúsculas ou não.

Leia mais sobre o comando grep.

O comando find

Ainda dentro do tema “encontrar o que eu quero, no Linux”, o comando find é o que nos permite pesquisar o sistema atrás de um determinado arquivo. Veja como encontrar o arquivo php.ini, no seu sistema:

find -iname "php.ini"

Neste caso, para fazer uma busca insensível à caixa, usei o parâmetro -iname. A busca do find é realizada recursivamente, a partir do diretório atual. Eventualmente, você precisará ter privilégios especiais para acessar alguns conteúdos.

Lá embaixo, na seção sobre como ouvir músicas no console, eu ensino a usar o find para montar rapidinho a sua lista de músicas.

O comando SSH

O comando SSH permite acessar remotamente um servidor.
Como ver a versão do SSH, instalada no meu sistema:

ssh -V

Como acessar um servidor remoto woody.com, com o login wlantz, via SSH:

ssh -l wlantz woody.com

Leia mais sobre como se conectar a um servidor de banco de dados via SSH

O comando ls

Um dos comandos mais usados no terminal, lista os arquivos e diretórios. Tem várias formas de exibir esta lista. As minhas preferidas são as seguintes:

ls -l 

o comando, acima, exibe a relação de arquivos e diretórios de forma mais detalhada, informando as permissões, exibindo as permissões, tamanhos (em bytes), data e hora de criação…
Gosto de combinar o comando acima com o parâmetro -h, que “humaniza” o número que indica o tamanho do arquivo. Em outras palavras, o torna mais fácil de ser lido. Veja como:

ls -lh /etc/

Para colorir a lista, use:

ls -lh --color /etc/

O comando pwd

O comando pwd (print working directory), faz o que seu nome diz. Ele mostra o diretório atual, em que você se encontra:

pwd

Muito útil. Já me ajudou a não fazer a coisa errada, no lugar errado — se é que você me entende. 😛

O comando gzip

Cria arquivos comprimidos, com a extensão .gz. Merece um post inteiro, só pra ele. Vou mostrar, aqui, as formas mais comuns de usá-lo.
Como comprimir um arquivo:

gzip arquivo.txt

Isto vai criar o arquivo.txt.gz. Para descomprimir, faça assim:

gzip -d arquivo.txt.gz

Como extrair arquivos ZIP no Linux

Os arquivos compactados pelo ZIP, usam um padrão diferente do gzip. Portanto, o programa adequado para fazer este trabalho é outro. Use o unzip:

unzip arquivozipado.zip

Para ver o conteúdo do arquivo zipado:

unzip -l arquivozipado.zip

Como desligar o PC com o comando shutdown

Para desligar apenas, faça assim:

shutdown -h now

Este comando só pode ser fornecido desta maneira por quem está conectado como root ou administrador do sistema. Você provavelmente só conseguirá executar este comando, usando o sudo, como prefixo:

sudo shutdown -h now

Para esperar 10 minutos, antes de desligar:

sudo shutdown -h +10

Para reiniciar agora o computador:

sudo shutdown -r now

Para cancelar o comando shutdown:

sudo shutdown -c

O comando ps

Este comando exibe os processos em execução no seu sistema. Pode ser usado sem parâmetro algum, mas vai produzir uma quantidade muito grande (ou muito pequena) de informações. É costume “filtrar” sua saída com alguns parâmetros e combinando outros comandos, para ver apenas o que interessa.
Eu gosto de usar a “sintaxe BSD” para ver todos os processos em execução no sistema:

ps aux

Muita coisa?! Misture com o comando less para ir mais devagar:

ps aux | less

use a tecla ‘q’, para sair do less.
Para ver apenas os processos referentes ao navegador Chromium, use assim:

ps aux | grep -i chromium

Isto é muito útil para descobrir o PID de um processo que você deseja interromper à força, com o comando kill.

Como saber a quantidade de memória livre no Linux

O comando free resolve este assunto pra você:

Solaris-8:~$ free
             total       usado      livre    compart.  buffers     em cache
Mem:       2052948    1740056     312892          0     145652     809244
-/+ buffers/cache:     785160    1267788
Swap:      2076668      16184    2060484
Solaris-8:~$ 

Muito complicado para ler? Eu sei. Use o parâmtro -g para converter todos estes número em gigabytes:

free -g

ou use assim, para “humanizar” a exibição do resultado e incluir os totais:

free -ht

O comando top

O trabalho deste comando é exibir as aplicações mais ativas no sistema – organizadas pela intensidade de uso da CPU:

top

Comando top no Linux
Dica rápida: use a tecla ‘z’ para alterar as cores de exibição no top.

Como verificar o uso do disco no Linux

O comando df exibe o uso atual do seu disco. Para exibir o espaço ocupado e livre (available) no seu sistema de arquivos, em kilobytes, use-o assim:

df -k

Eu gosto de usar desta forma:

df -hT

O parâmetro -h humaniza (human readable) a exibição dos resultados. E o -T mostra o tipo do sistema de arquivos em uso.

O comando kill – ou como interromper (matar) um processo em execução

Neste exemplo, vou exibir os PIDs do aplicativo Chromium (o navegador). Em seguida, vou interromper sua execução. Isto é muito útil quando um processo trava. Veja como funciona.
Primeiro, uso o comando ps para determinar o PID do Chromium:

ps -ef | grep -i chromium-browser
1000      5396  1913  5 Dez16 ?        01:18:36 chromium-browser                          
1000      5400  5396  0 Dez16 ?        00:03:26 chromium-browser                          
1000      5401  5396  0 Dez16 ?        00:00:00 /usr/lib/chromium-browser/chrome-sandbox /usr/lib/chromium-browser/chromium-browser --type=zygote

Destas 8 colunas exibidas, a segunda é a que interessa no momento. É esta que exibe o PID de cada processo. Vou escolher o primeiro: 5396.
… e interromper sua execução:

kill 5396

opcionalmente, você pode usar o parâmetro -9 para matar processos “mais difíceis”:

kill -9 5396

O comando cat

comando cat no LinuxO comando cat – que eu suponho ser uma abreviatura da palavra catch, que pode ter o significado de “pegar” – serve para mostrar o conteúdo de uma arquivo na tela – usualmente texto.

cat .bashrc

Como o conteúdo exibido pode acabar por ser muito extenso, prefiro combinar este comando com o grep. Assim, por exemplo:

Solaris-8:~$ cat .bashrc | grep aliases
# enable color support of ls and also add handy aliases
# some more ls aliases
# ~/.bash_aliases, instead of adding them here directly.
if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases

O comando é muito útil para analisar logs do sistema. Assim, se quiser verificar a quantidade de memória livre no sistema, através do arquivo /proc/meminfo, faça assim:

cat /proc/meminfo | grep -i free
MemFree:          317056 kB
HighFree:         107440 kB
LowFree:          209616 kB
SwapFree:        2052464 kB
HugePages_Free:        0

O comando mount

Este já foi um dos que eu mais usei, nos “primórdios do Linux”. Para montar um drive de CD-ROM, o comando é este:

mount -t iso9660 /dev/cdrom /mnt

Esta linha de comando parte do pressuposto de que a pasta /mnt já existe no sistema. Se ela não existir, um erro será retornado. Você pode usar o nome de outra pasta existente no seu sistema. Mas certifique-se de que ela esteja vazia – você não perderá o seu conteúdo. Mas ele ficará indisponível enquanto o dispositivo estiver montado usando aquela pasta como referência.
O iso9660 é um dos sistemas de arquivo mais comumente usados em CD-ROMs. Mas você pode, para se sentir mais seguro(a) substituir isto por auto, assim:

mount -t auto /dev/cdrom /mnt

… isto fará com que o sistema tente detectar automaticamente o sistema de arquivos usado na mídia.
Para montar um antigo drive de disquete, usa-se:

mount -t vfat /dev/floppy /media/floppy

Se usado sozinho, o comando mount exibe os sistemas de arquivos ativos no sistema:

Solaris-8:~$ mount
/dev/sda2 on / type ext4 (rw,errors=remount-ro)
/dev/sda3 on /home type ext3 (rw)
gvfsd-fuse on /run/user/justincase/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=justincase)

O comando chmod

Este comando é usado para alterar as permissões de um ou mais arquivos ou de um diretório, no sistema.
Para tornar o arquivo meuscript.shexecutável:

chmod aug+x meuscript.sh

Este comando torna o arquivo executável por todos (a), pelo usuário (u) e pelo grupo (g).
Para remover a permissão de execução para todos e deixar apenas pro usuário atual, faça assim:

chmod ag-x meuscript.sh

O comando chown

No exemplo, vamos alterar o dono do arquivo meuarquivo.txt para pcarlos. O grupo, a que ele pertence, continuará sendo justincase. Veja como:

Solaris-8:~# ls -la *.txt
-rw-rw-r-- 1 justincase justincase   847 Set 28 19:44 lightdm.txt
-rw-rw-r-- 1 justincase   justincase     0 Dez 17 12:40 meuarquivo.txt
Solaris-8:~# chown pcarlos.justincase meuarquivo.txt
Solaris-8:~# ls -la *.txt
-rw-rw-r-- 1 justincase justincase   847 Set 28 19:44 lightdm.txt
-rw-rw-r-- 1 pcarlos    justincase     0 Dez 17 12:40 meuarquivo.txt

Se você obtiver uma mensagem de erro ao executar este comando, o motivo provável é que você não tem permissão para fazer esta alteração. Use o root, neste caso.

Como alterar a senha de usuário no Linux

Para isto, use o comando passwd. O superusuário, root, pode alterar a senha de qualquer outro usuário. Neste caso, o sistema não pergunta nada além da senha desejada:

Solaris-8:~# passwd pcarlos
Digite a nova senha UNIX: 
Redigite a nova senha UNIX: 
passwd: senha atualizada com sucesso

Use este mesmo comando para desabilitar a senha de um usuário:

passwd -d pcarlos

Ao ter a senha desabilitada, o usuário poderá entrar no sistema sem precisar fornecê-la.

Como encontrar um comando no seu sistema

Vou mostrar como usar o comando whereis (Quer dizer ondeestá, em inglês) e como ele pode ser usado para ver onde, exatamente, se encontra um determinado comando e os arquivos diretamente relacionados a ele no seu sistema.
Vou começar por mostrar como encontrar o comando ls e alguns arquivos relativos a ele (páginas do manual, normalmente):

Solaris-8:~# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz

No exemplo dado, foram exibidos 2 arquivos:

  • /bin/ls — o programa ls, que lista os arquivos presentes no diretório atual
  • /usr/share/man/man1/ls.1.gz — a página do comando, no manual do sistema. É o texto que aparece, quando você digita o comando man ls

O comando whatis

O significado deste comando é oqueé, em inglês. Sua função é mostrar o que um determinado comando é ou faz no seu sistema. De certa forma, a ajuda ou a página do manual referente a cada comando, já faz isto – ele apenas simplifica.
Experimente:

whatis ls

O comando su

Basicamente, a função deste comando é permitir trocar rapidamente para outro usuário. O administrador do sistema pode assumir a identidade de qualquer usuário, sem precisar fornecer sua senha, através do comando su. Desta maneira, o administrador pode reproduzir um erro ou uma situação específica em que o usuário esteja tendo dificuldades. No exemplo abaixo, o comando será usado para assumir a identidade do usuário patodonald:

su patodonald

Se você não for root, vai precisar conhecer a senha do usuário para obter sucesso neste comando.
Como administrador, você pode usar o su para executar um ou mais comandos no lugar de um usuário e voltar ao seu prompt:

su - patodonald  -c 'chmod a+x script.sh'

No exemplo acima, executei o comando chmod a+x script.sh como usuário patodonald. Este comando torna o arquivo script.sh executável por todos os usuários do sistema.

Como alterar a data e a hora no Linux

No Linux, é muito simples alterar a hora e a data do sistema. Contudo, por ser um procedimento cujos resultados trazem implicações mais profundas – pode também abrir brechas de segurança no seu sistema – só pode ser executado com privilégios administrativos.
Veja como alterar a data do sistema para 06 de Agosto de 2080:

sudo date --set="2080-08-06"

Para ajustar a hora 11h da noite, faça assim:

sudo date --set="23:00:00"

Você pode usar este modelo para ajustar minutos e segundos.
“Posso ajustar os dois de uma só vez?”
Pode, sim. Veja como:

sudo date --set="2080-08-06 23:00:00"

O comando hwclock

Enquanto o comando date ajusta a hora e a data do sistema (ligado ao kernel), o comando hwclock faz o ajuste direto no relógio do BIOS, o RTC.
Veja como ajustar o relógio do BIOS, pelo do sistema:

sudo hwclock --systohc

ou o contrário:

sudo hwclock --hctosys
SAIBA MAIS SOBRE O ASSUNTO:

Veja como pode ser mais simples ajustar o relógio do sistema e do hardware automaticamente, através de um servidor NTP.

Ouça música no console com o mpg123

Para ouvir música no console, meus favoritos são o mpg123 e o mpg321.
Não sou muito do tipo que escolhe o que vai ouvir – se está no meu HD, é por que eu gosto. O que me leva aos comandos que seguem.
Para ouvir todas as músicas, em mp3, dentro do diretório Música/ (e seus subdiretórios), recursivamente e misturadas, uso o mpg321:

mpg321 -Bzx Música/

As opções -Bzx ativam a recursividade, misturam as músicas antes de tocar e exibe na barra de título do terminal o nome da música que está tocando, respectivamente.
O mpg123 não pode ser ignorado, em função dos vários recursos presentes no programa – e ele é software livre desde 2006! Mas, infelizmente, ele não tem a recursividade.
Para resolver isto, criei uma lista recursiva de todos os arquivos .mp3, com o comando find, deste jeito:

find Música/ -iname *.mp3 > playlist.lst

Em seguida, é só executar o mpg123:

mpg123 -z --title --list playlist.lst

Imprima este artigo, ponha-o nos seus favoritos (para o caso de precisar de referências posteriormente) e, lembre-se que a melhor forma de agradecer é compartilhar
– passe o conhecimento para frente! 😉

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como “Rick and Morty” e “BoJack Horseman”.
Me siga no Twitter e vamos trocar ideias!

One thought on “Linux — comandos básicos”

  1. Sou novo no “Linux” e tenho vindo a seguir os seus manuais, que explicam com bastante clareza.
    :)))
    Obrigado pela partilha

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *