Kit de memória dos comandos do Linux

Memorandum dos comandos usuais

Você encontrará aqui abaixo um memorando dos comandos Linux usuais (ou não) que guardamos na memoria , mais ou menos, mas que seguidamente esquecemos. As vezes esquecemos um pedaço da sintaxe, outras a sintaxe inteira, e, para algumas pessoas que esquecem completamente a existência, ou que os ignoram, simplesmente...

Obrigado a todos e todas em completar esta lista bem como as categorias.

Notas dirigidas aos futuros contribuintes:

Isto não é um tutorial mas apenas uma ajuda memória, por isso coloque somente um pequeno descritivo, bem sintético seguindo o comando.
Tentar, para os comandos sistemas necessitando os direitos do super usuário "root" , fazer preceder estes comandos pela caráter quadrado (#) representativo do "root" e pelo caráter dólar ($) para os comandos que não necessitam nenhum direito particular, e podendo ser executados por um simples usuário.

Notas dirigidas aos leitores :

Os sistemas com base no Ubuntu quando um comando necessita dos direitos do super usuário "root" (representado aqui a baixo pelo caráter quadrado (#) representativo do "root"), fazer preceder este comando por "sudo".

Manual e ajuda

As páginas de man

Exibir a página de man de um comando

$ man comando

Pequisa as páginas fazendo referência a uma palavra chave ("palavra chave pode ser uma palavra simples ou o nome do comando )

$ man -k palavra chave
$ a propósito comando/palavra chave

Documentação complementar com informação tion (por cem páginas)

$ informação comando

Ajuda online

Espécie de um comando (aliás, palavra chave reservada ao shell, função, comando interno ou simples arquivo no disco)

$ type comando
$ type -t comando

Exibir a ajuda sumária de um comando interno (builtin)

$ help comando

Exibir a ajuda de um comando externo

$ comando --help
$ comando -h

Operações nos arquivo e diretórios

Exibir

Exibir um arquivo

$ cat arquivo

Exibir página por página (tecla "Espaço" avanço de uma página, tecla « Entre » avança uma linha)

$ more arquivo

Exibir linha por linha (flecha para o alto <=> flecha para baixo)

$ less arquivo

Exibir as últimas 5 linhas de um arquivo

$ tail -5 arquivos

Exibir em tempo real as 5 últimas linhas de um arquivo

$ tail -5f arquivo

Exibir a 5 primeiras linhas de um arquivo

$ head -5 arquivo

Exibir um arquivo ao contrário

$ tac arquivo

Numerar um arquivo de saída

$ cat -n arquivos
$ nl arquivos

Conhecer o tipo de um arquivo

$ file arquivo

Listar um diretório

$ ls
$ ls -l

Exibir recursivo

$ ls *
$ ls -R 

Exibir os arquivos escondidos

$ ls -a 

Exibir o arquivo suprimindo o caráter '0'

$ tr -d "0" < arquivo

Exibir o arquivo substituindo o caráter '0' por "gag"

$ sed ' s/0/gag/g' arquivo

Criação

Criar um arquivo vazio

$ > arquivo
$ touch arquivo

Criar 10 arquivos vazios

$ touch fichier{1..10}.txt

Criar um diretório

$ mkdir diretório

Criar um diretório e seus sub-diretórios

$ mkdir -p rep_parent/rep1/rep2/rep3

Redirecionamento

Em um arquivo

$ ls -R  /home/$USER/*.txt > liste.txt

Em um arquivo mas juntando nele na continuidade

$ ls -R  /home/$USER/*.txt >> lista.txt

Simultaneamente na tela e no arquivo

$ ls -R  /home/$USER/*.txt | tee liste.txt

Simultaneamente na tela e no arquivo mas juntando na continuidade

$ ls -R  /home/$USER/*.txt | tee -a liste.txt

Copiar

Copiar um arquivo

$ cp arquivo fonte arquivo destino 

Copiar um conjunto de arquivos

$ cp /diretório_ fonte/*.html /diretório_destino

Copiar um repertório

$ cp -R /diretório_fonte /diretório_destino

Deslocar

Deslocar um arquivo

$ mv -i  /caminho/arquivo /caminho

Deslocar um diretório

$ mv /caminho/dir_a_deslocar/ /caminho/destino/

Renomear

Renomear um arquivo

$ mv arquivo_fonte_destino>

Comparar

Comparar 2 arquivos

$ cmp arquivo1arquivo2
$ diff arquivo1arquivo2
$ sdiff arquivo1 arquivo2

Comparar 3 arquivos

$ diff3 arquivo1 arquivo2 arquivo3

Triagem

Triagem alfabética

$ sort arquivo

Triagem numérica

$ sort -n  arquivo

Eliminar os duplos

$ sort arquivo | uniq
$ sort -u arquivo

Exibir unicamente os duplos

$ sort arquivo | uniq -d

Arquivar/Desarquivar

Arquivar uma pasta/diretório

$ tar -vcf nome_arquivo.tar nome_pasta_a_arquivar

Desarquivar uma pasta /diretório

$ tar -vxf meu_arquivo.tar

Listar le conteúdo de um arquivo

$ tar -tf meu_arquivo.tar

Compactar/Descompactar

Compactar um arquivo (sem salvar o original)

$ compact meu_arquivo.tar
$ gzip meu_arquivo.tar
$ bzip2 meu_arquivo.tar

Compactar um arquivo (com backup do original)

$ compactr -c meu_arquivo.tar > meu_arquivo.tar.Z
$ gzip -c meu_arquivo.tar > meu_arquivo.tar.gz
$ bzip2 -k meu_arquivo.tar

Descompactar um arquivo

$ uncompress meu_arquiv.tar.Z
$ gunzip meu_arquivo.tar.gz
$ bunzip2 meu_arquivo.tar.bz2

Decompactar e desativar

Um arquivo tar.gz

$ tar xvzf meu_arquivo.tar.gz

Um arquivo tar.bz2

$ tar xvjf meu_arquivo.tar.bz2

Contar

Contar os caráteres de um arquivo

$ wc -c arquivo

Contar as palavras de um arquivo

$ wc -w arquivo

Contar as linhas de um arquivo

$ wc -l arquivo
$ sed -n '$=' arquivo

Pesquisa

Arquivos

Pesquisar um arquivo

$ find /caminho -name "nome" -print

Pesquisar um mmotivona arborescência (exibindo o caminho, o nome do arquivo e o número de linha no arquivo )

$ find /caminho -name "*" -type f -exec grep -Hn  "motivo" {} ;

Atualizarar a base de slocate

# updatedb

Pesquisar um arquivo indexado

$ locate nome

Um motivo no arquivo

$ grep "motivo" arquivo

Comandos

Localizar um comandos

$ which comando

Pesquisar os arquivos executáveis

$ whereis comando

Pesquisar o nome do arquivo que será executado na chamada do comando

$ type -p comando

Usuários

Quem está conectado ?

$ who
$ finger

Quem está conectado e quem faz o quê ?

$ w

Quem sou eu ?

$ whoamigo

Onde estou eu ?

$ pwd

Dependência

Exibir as bibliotecas necessárias para um programa

ldd /caminho/programa

Administração sistematização

Gestão sistema

Actividade do sistema

$ top

Estado dos processos

$ ps -ef

Taxa de ocupação do disco

$ df -h

Taxa de utilização do disco

$ du -h /home/$USER

Gestão dos usuários

Adicionar um usuário

# useradd new_user

Suprimir um usuário

# userdel user

Adicionar um grupo

# groupadd new_groupe

Suprimir um grupo

# groupdel groupe

Mudar o proprietário de um diretório

# chown $USER /caminho/diretório

Mudar sua senha

$ passwd

Mudar a senha de um usuário

# passwd login

Exibir os grupos aos quais pertencem um usuário

$ groups $USER

Informação do usuário

$ finger $USER

Rede

Informação do material

Connhecer o módulo de uma placa

# ethtool -i eth0

Mais informações

# udevinfo -a -p /sys/class/net/eth0/

Listas das interfaces detectadas por núcleo e des interfaces

$ /sbin/ifconfig
$ /sbin/ip link show

Informações para o sem fio

# iwconfig

Ferramentas complementares

# mii-tool eth0
# mii-diag -a

Testes e medidas

Testar o endereço local

$ ping -c4 localhost

Encontrar um endereço rede

$ ping -c4 Endereço_IP

Verificar os endreços MAC do LAN

# nmap -sP 192.168.1.1-254

Configuração

Configurar um endereço

# ifconfig eth0 192.168.10.1 netmask 255.255.255.0 broadcast 192.168.10.255

Adicionar uma passarela padrão

# route add default gw nome_passarela

Impedir o ping

# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Conexão

ssh

$ ssh login@servidor

telnet

$ telnet endereço_IP

scp

$ scp /caminho/arquivo login@servidor:/caminho/destino/

Conhecer seu material

Sistema

Núcleo

$ uname -r

Sistema operacional

$ uname -o

Processador

Tipo de processador

$ uname -p

Informações detalhadas

$ cat /proc/cpuinfo

Carga média do processador

$ cat /proc/loadavg

Memória

Informações detalhadas

$ cat /proc/meminfo

Exibir o estado

$ free -m

Descritivo do material

Recursos materiais

# dmidecode

Lista material

# lshw
# lshw -html > arquivo.html
# lshal

Lista das placas PCI

$ lspci -v

Lista dos dispositivos USB

# lsusb

Resolução de tela

$ xrandr -q

Verificação de suporte da matéria

Listar os códigos fabricantes e dispositivos PCI

$ lspci -n

Colar o resultado em "https://kmuto.jp/debian/hcl/" e clicar em "Check"

Dispositivos desconhecidos (unknow) ?

# scanpci -v

Ver o descritivo do elemento em questão, seu código "vendor" (0xXXXX) bem como seu código "device" (0xYYYY, depois vá até o site "PCIDatabase.com" para determinar o construtor e o dispositivo desconhecido

Bios

Informação

# biosdecode

Módulo

Exibir os módulos carregados

$ /sbin/lsmod

Exibr as litas dos módulos

$ /sbin/modprobe -l

Carregar um módulo

# insmod caminho_em direção_módulo
# modprobe nome_módulo

Suprimir un módulo

# rmmod nome_módulo
$ modprobe -r nome_modulo

Obter informação em um modulo

$ /sbin/modinfo nome_módulo

Observações: insmod carrega um módulo a partir do caminho em direção de seu arquivo. Por exemplo se você carregar o módulo machin.ko situadp no diretório comum, então digite insmod./machin.ko

Para descarregar: rmmod machin (sem ./ko atrás). insmod não produz as dependências, então se seu módulo tem necessidade de um outro para se carregar, insmod não o carregará para você. Insmod é antes de tudo uma ferramenta de programação.

O comando modprobe é mais inteligente.Tomando como parâmetro um nome de módulo (sem o .ko como sufixo), ela vai procurar o módulo no diretório/lib/módulos /'uname -r' e o carregar bem como suas dependências.

Disco rígido

Quadro de partições

$ /sbin/fdisk -l

Informações sobre o disco

# hdparm -I /dev/xxx

(si smartmontools é instalado)

# smartctl -i /dev/xxx

Teste disco

# smartctl -t short /dev/xxx

Salvar o quadro de partições (MBR)

# dd if=/dev/hdx of=/caminho/salvar.dd bs=512 count=1

Salvar o quadro das partições em sua extensão

# sfdisk -d /dev/hdx > /ccaminho/save_extensão.sf

Restaurar a badeja das partições (MBR)

# dd if=/caminho/salvar.dd of=/dev/hdx

Restaurar abandeja das partições da partição em extensão

# sfdisk /dev/hdx < /caminho/save_extensão.sf

Determinar o UUID de um disco (Universal Unique IDentifier)

$ ls -l /dev/disk/by-uuid
# vol_id -u /dev/sda1
# blkid

Adicionar/retirar um periférico de swap

# swapon caminho_dispositivo
# swapoff caminho_dispositivo

CD/DVD/Graador

Encontrar o endereço SCSI do gravador

$ cdrecord --scanbus 
$ cdrecord --scanbus dev=ATA 

Desbloquear o gravador
Se por uma razão ou por outra o gravador não responde mas um comando, reenvia mensagens de erro e recusa de se abrir mesmo pressionando o botão de eject, então você pode utilizar cdrdao para o reinicialisar

# cdrdao unlock --device y,z

Temperatura (lm_sensors)

Pesquisa dos captores

$ sensors-detect

Carregamento dos módulos

# modprobe i2c-xxx i2c-yyy i2c-zzz

Exibir temperatura

$ sensores

Multimídia

Conversão de formato vídeo

avi => flv

$ ffmpeg -i video.avi -f flv video.flv

flv => avi

$ ffmpeg -i video.flv -f avi video.avi

wmv => avi

$ ffmpeg -i video.wmv -f avi video.avi

avi => SVCD

$ ffmpeg -i video.avi -target pal-SVCD video.mpeg

Captação de tela

Com ImageMagcik

$ import -pausa 5 captação.png

Conversão de formatos gráficos

GIF > PNG

$ convert  arquivo_de_entrada.gif arquivo_de_saída.png

JPG => PNG

$ convert  arquivo_de_entrada.jpg arquivo_de_saída.png

etc.

Redimensionamento de imagens

Com ImageMagcik

Nos exemplos aqui abaixo, o formato de entrada pode ser um outro formato, o PNG, as dimensões podem ser modificadas:

Redimensionada em um dado tamanho

$ convert  arquivo_de_entreda.png  -resize 320x200 arquivo_de_saida.png

Redimensionamento em uma dada largura

$ convert  arquivo_de_entrada.png  -resize 320x arquivo_de_saida.png

Redimensionamento em uma dada altura

$ convert  arquivo_de_entrada.png  -resize 320x arquivo_de_saída.png

Redimensionnamento da primeira imagem de um GIF animado

$ convert  arquivo_de_entrada.gif[0]  -resize 320x200 arquivo_em_saida.gif

Redimensionamento forçando o valor do fundo transparente (afim de evitar um fundo preto pouco estético ). Aqui o fundo é forçado em branco :

$ convert  arquivo_de_entrada.png  -resize 320x200 -background white -flatten arquivo_de_saida.png

Diversos

Exibir um calendário do mês em andamento

$ cal

Exibir um calendário anual

$ cal 2008

Tradução feita por Ana Spadari

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Este documento, intitulado 'Kit de memória dos comandos do Linux', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade