Kit de emergência do Linux

Fevereiro 2017


Memorandum dos comandos usuais


Você encontrará aqui um memorando dos Linux usuais (ou não) que temos todos em mente, mais ou menos, mas que esquecemos muitas vezes de um pedaço da sintaxe, quando não a sintaxe inteira, e para certas pessoas até mesmo, esquecer totalmente a existência, ou que nunca a tenha conhecido, simplesmente.

Nota para os futuros contribuintes:

Isto não é um tutorial, é apenas um auxílio para lembrar. Então, se você quiser completar este memorando, coloque um pequeno texto descritivo para cada comando adicionado.

Tente para os comandos sistema que necessitam dos direitos de superusuário "root" de executar estes comandos pelo caractere quadrado (#) representante do "root" e pelo caractere dólar ($) para os comandos que não necessitem nenhum direito particular e que possam ser executados pelo simples usuário.

Notas para os leitores:

Para os sistemas baseados no Ubuntu, quando um comando necessita dos direitos superus "root" (representado aqui pelo caractere (#) representativo do "root"), execute este comando pelo "sudo".

Manuel e ajuda

As páginas de man

Exibir a página de man de um comando

$ man comando

Buscar as páginas que fazem referência à uma palavra chave (palavra chave é uma palavra simples ou o nome de um comando)


$ man -k palavra chave 


$ a propósito comando/palavra chave

Documentação complementar com informação (para algumas páginas)

$ info comando

Ajuda em linha

Tipo de um comando(aliás, a palavra chave reservada ao Shell, função, comando interno ou simples arquivo no disco)


$ tipo comando


$ tipo -t comando

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


$ help comando

Exibir a ajuda sumária de um comando externo


$ comando --help


$ comando -h

Operações nos arquivos e diretórios

Exibição

Exibição de um arquivo

$ cat arquivo

Exibir a página par página (tecla "Espaço" avança de uma página, tecla "Entrada" avanço de uma linha)


$ more arquivo

Exibição da linha por linha (seta para o alto <=> seta para baixo)


$ less arquivo

Exibir as 5 últimas linhas de um arquivo


$ tail -5 arquivo

Lê em tempo real as últimas 5 linhas de um arquivo

$ tail -5f arquivo

Exibição das 5 primeiras linhas de um arquivo

$ head -5 arquivo

Exibição de um arquivo ao contrário

$ tac arquivo

Numerar um arquivo em saída


$ cat -n arquivo


$ nl arquivo

Conhecer o tipo de um arquivo


$ file arquivo


Listar um diretório


$ ls


$ ls -l

Exibição da recurssiva


$ ls *

$ ls -R 

Exibir os arquivos escondidos


$ ls -a 

Exibir o arquivo suprimindo o caractere '0'


$ tr -d "0" < arquivo

Exibir o arquivo substituindo o caractere '0' pelo "gag"


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

Criação

Criar um arquivo vazio


$ > arquivo


$ touch arquivo

Créer 10 arquivos vazios


$ touch arquivo{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 acrescentando na continuidade


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

Na tela e em um arquivo


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

Na tela e em um arquivo, mas acrescentando na continuidade


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

Copiar

Copiar um arquivo


$ cp arquivo_fonte arquivo_destino

Copiar un ensemble de arquivos


$ cp /diretório_fonte/*.html /diretório_destino

Copiar um diretório


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




Mover

Mover um arquivo


$ mv -i  /caminho/arquivo /caminho

Mover um diretório


$ mv /caminho/rep_a_mover/ /caminho/destino/

Renomear

Renomear um arquivo


$ mv arquivo_fonte arquivo_destino>

Comparar

Comparar 2 arquivos


$ cmp arquivo1 arquivo2


$ diff arquivo1 arquivo2


$ sdiff arquivo1 arquivo2


Comparar 3 arquivos


$ diff3 arquivo1 arquivo2 arquivo3

Classificar

Classificar em ordem alfabética


$ sort arquivo

Classificar numericamente


$ sort -n  arquivo

Eliminar os duplos


$ sort arquivo | uniq


$ sort -u arquivo

Exibir a 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 o conteúdo de um arquivo


$ tar -tf nome_arquivo.tar

Compactar/Descompactar

Compactar um arquivo (sem backup do original )


$ compress meu_arquivo.tar


$ gzip meu_arquivo.tar


$ bzip2 meu_arquivo.tar

Compactar um arquivo (com backup do original )


$ compress -c meu_arquivo.tar > meu_arquivo.tar.Z


$ gzip -c mon_archive.tar > mon_archive.tar.gz


$ bzip2 -k meu_arquivo.tar


Descompactar um arquivo


$ uncompress meu_arquivo.tar.Z


$ gunzip mon_archive.tar.gz


$ bunzip2 meu_arquivo.tar.bz2

Descompactar e desarquivar

Um arquivo tar.gz


$ tar xvzf meu_arquivo.tar.gz

Um arquivo tar.bz2


$ tar xvjf meu_arquivo.tar.bz2

Contar

Contar os caracteres 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

Buscar

Arquivos

Buscar um arquivo

$ find /caminho -name "nome" -print

Buscar um motivo em uma arborescência ( afixando o caminho, o nome de um arquivo, e o número de linhas neste arquivo )


$ find /caminho -name "*" -tipo f -exec grep -Hn  "motif" {} \;

Colocar a base de slocate atualizada

# updatedb

Buscar um arquivo indexado

$ locate nome

Um motivo em um arquivo

$ grep "motivo" arquivo

Comandos

Localizar um comando

$ which comando

Buscar os arquivos executáveis

$ whereis comando

Buscar o nome do arquivo que será executado na chamada de comando

$ tipo -p comando

Usuários

Quem está conectado ?

$ who


$ finger

Quem está conectado e quem faz o que?

$ w

Quem sou ?

$ whoami

Onde estou?

$ pwd

Dependências

Exibir as bibliotecas necessárias a um programa

ldd /caminho/programa

Administração sistema

Gerenciamento sistema

Atividade 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

Gerenciamento dos usuários

Acrescentar um usuário

# useradd new_user


Suprimir um usuário

# userdel user


Adicionar um grupo

# groupadd new_groupe


Suprimir um grupo

# groupdel grupo


Trocar o proprietário de um diretório

# chown $USER /caminho/diretório 


Alterar seua senha

$ passwd


Alterar a senha de um usuário

# passwd login


Afixaros grupos aos quais pertencem um usuário

$ groups $USER


Informação usuário

$ finger $USER

Rede

Informação material

Conhecer o módulo de uma placa

# ethtool -i eth0


Mais informações

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


Lista das interfaces detectadas pelo núcleo

$ /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

Ping um endereço rede

$ ping -c4 Adresse_IP

Verificar os endereç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

Acrescentar 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

Processo

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 material

Resfontes materiais

# dmidecode

Lista material

# lshw


# lshw -html > arquivo.html


# lshal

Lista de placas PCI

$ lspci -v

Lista dos periféricos USB

# lsusb

Resolução de tela

$ xrandr -q

Verificação do suporte hardware

Listar os códigos dos fabricantes e periféricos PCI

$ lspci -n

Colar o resultado no "http://kmuto.jp/debian/hcl/" e clicar sobre "Check"

Periféricos desconhecidos (unknow) ?

# scanpci -v

Buscar no descritivo do elemento em questão, seu código « ventor » (0xXXXX) bem como seu código "device" (0xYYYY, depois acesse o site "PCIDatabase.com" para determinar o construtor e o periférico desconhecido.

Bios

Informações sobre o Bios

# biosdecódigos

Módulo carregados

Afixar os módulos carregados

$ /sbin/lsmod

Afixar a lista dos módulos

$ /sbin/modprobe -l

Carregar um módulo

# insmod caminho_para_módulo


# modprobe nome_módulo

Suprimir um módulo


# rmmod nome_módule


$ modprobe -r nome_módulo

Obter informações sobre um módulo

$ /sbin/modinfo nome_módulo


NOTAS: insmod carrega um módulo com partir do caminho para seu arquivo. Por exemplo se você quer carregar o módulo machin.ko situado no corrente diretório, então digite insmod ./machin.ko
Para o descarregar : rmmod machin (sans ./ko derrière). insmod não gerencia as dependências, pois se seu módulo tem necessidade de um outro módulo para se carregar, insmod não o carregará para você. Insmod é antes de tudo uma ferramenta de desenvolvimento.
O comando modprobe é mais inteligente. Ele toma como parâmetro um nome de módulo (sem o.ko em sufixo), ele vai buscar o módulo em um diretório /lib/módulos/'uname -r' e o carregar bem como suas dependências.

Disco rígido

Tabela das partições

$ /sbin/fdisk -l


Informação disco

# hdparm -I /dev/xxx

(si smartmontools est installé)

# smartctl -i /dev/xxx

Teste disco

# smartctl -t short /dev/xxx


Salvar a tabela das partições (MBR)

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


Salvar a tabela das partições da pertição alastrada

# sfdisk -d /dev/hdx > /caminho/save_alastrada.sf


Restaurar a tabela das partições (MBR)

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


Restaurar a tabela das partições da partição alastrada

# sfdisk /dev/hdx < /caminho/save_alastrada.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_periférico


# swapoff caminho_periférico

CD/DVD/Gravador

Encontrar o endereço SCSI do gravador

$ cdrecord --scanbus 


$ cdrecord --scanbus dev=ATA 


Desbloquear o gravador

Se por uma razão ou outra o gravador não responder mais à nenhum comando, reenvia mensagens de erro e recusa de se abrir mesmo ao pressionar o botão de ejetar, então você pode cdrdao para reiniciá-lo

# cdrdao unlock --device y,z

Temperatura (lm_sensors)

Busca dos captores

$ sensors-detect

Carregamento dos módulos

# modprobe i2c-xxx i2c-yyy i2c-zzz

Exibição temperatura

$ sensors

Multimidia

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

Captura de tela

Com ImageMagcik

$ import -pause 5 captura.png

Conversão de formatos gráficos

GIF => PNG


$ convert  arquivo_de_entreda.gif arquivo_em_saída.png


JPG => PNG


$ convert  arquivo_de_entrada.jpg arquivo_em_saída.png


etc.

Redimensionamento de imagens

Com ImageMagcik

Veja nos exemplos abaixo, o formato de entrada pode ser outro formato que PNG, as dimensões podem ser modificadas:


Redimensionamento para um tamanho determinado

$ convert  arquivo_de_entrada.png  -resize 320x200 arquivo_en_sortie.png


Redimensionamento para uma largura determinada

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


Redimensionamento para uma altura determinada

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


Redimensionamento da primeira imagem de um GIF animado

$ convert  arquivo_de_entrada.gif[0]  -resize 320x200 arquivo_em_saída.gif


Redimensionamento forçando o valor do fundo transparente (a fim de evitar um fundo negro pouco estético). Aqui o fundo é forçado para o branco:

$ convert  arquivo_de_entrada.png  -resize 320x200 -background white -flatten arquivo_em_saída.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

Veja também

Publicado por ninha25. Última modificação: 26 de maio de 2015 às 19:49 por ninha25.
Este documento, intitulado 'Kit de emergência 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.