Página de Edward Martin

Início Atualizações Dados pessoais Programas Trabalhos Textos Links

Comandos de console - Linux

Terminal Linux

Alguns atalhos

Outros atalhos menos usados


Nomes de arquivo

Digitando-se: ls -laF --color=auto

Links
Link simbólico
É um arquivo que contém o caminho para chegar ao arquivo alvo.
Link fixo (hard link)
É o próprio arquivo com um nome diferente.

Se um arquivo tiver vários nomes, ao apagar um deles, somente o nome será apagado. O arquivo só é removido se todos os nomes forem apagados, e nenhum programa estiver usando o arquivo.

Todos os nomes do mesmo arquivo têm os mesmos atributos (permissões, dono, grupo, etc.).

Porém, links simbólicos podem apontar para outros sistemas de arquivos, e links fixos não podem.

Curingas

São usados para especificar mais de um arquivo.

?
Equivale a qualquer caracter (um só caracter).
*
Equivale a qualquer caracter ou conjunto de caracteres.
[A-Z]
Equivale a qualquer letra de A a Z. Pode-se substituir A e Z por quaisquer outros caracteres.
[^A]
Equivale a qualquer caracter exceto A. Pode-se substituir A por qualquer outro caracter.

Pode-se combinar o que tive entre [], por exemplo:

a[A-Za-z^C]*

Significa qualquer arquivo que começa com a letra a, e o segundo caracter é uma letra de A a Z (maiúsculo) ou de a a z (minúsculo) e não é a letra C maiúscula.


Básico

Podem ser executados vários comandos na mesma linha, separador por ";"

Exemplo: clear ; ls -l

Para digitar nomes de arquivos que tenham espaço, digitar entre aspas ou usar \. Por exemplo, para entrar em um diretório chamado Meus documentos, digitar um dos dois:

  cd "Meus documentos"
  cd Meus\ documentos

Para apagar, copiar, mover, etc. arquivos que começam com -, exemplo:

rm abc
apaga o arquivo abc
rm -- -abc
apaga o arquivo -abc
rm -abc
o rm interpretará -abc como uma opção, não como um arquivo
rm ./-abc
Outra solução para apagar o arquivo -abc

Comandos básicos

clear
Limpa a tela
date
Mostra data e hora atuais
man <comando>
Manual: mostra informações sobre um comando
Exemplo de uso: man ls
As páginas do manual são numeradas por seção, que aparecem entre parênteses após o nome:
1 - Programas em geral
2 - Bibliotecas do sistema (do kernel e C, usualmente)
3 - Bibliotecas adicionais (libs e outras linguagens)
4 - Devices
5 - Arquivos de configuração
6 - Jogos (esse pessoal do Unix pensa em tudo! ;)
7 - Tabelas e miscelânea
8 - Administração do sistema
n - novas manpages (tem muito do TCL/Tk)
Ex. Manpage de random(2) é da biblioteca C, manpage de random(4) é a do dispositivo /dev/random.
Para consultar o manual de uma seção "N": man N nome.
Para ver quais as manpages disponíveis: man -aW random
xman
Uma versão do MAN para o X
script <arquivo>
Cria um arquivo com a saída de todos os comandos que forem digitados no shell. Ao terminar digite: exit
uname -a
Mostra a versão do kernel
uptime
Mostra há quanto tempo o sistema está funcionando

Comandos de arquivo

file <arquivo>
Mostra qual é o tipo de arquivo
ls <diretório>
Mostra conteúdo de um diretorio
-amostra arquivos ocultos
-lmostra mais dados dos arquivos
-Rmostra também conteúdo dos subdiretórios
-dmostra diretórios ao invés de mostrar o conteúdo dos diretórios
-imostra o "inode" correspondente ao arquivo/diretório em um arquivo com dois nomes (link fixo), os dois nomes possuem o mesmo inode.
cd <diretório>
Muda de diretório (CD do DOS)
Diretórios especiais: ".."=anterior "."=este diretório
Se o nome do diretório for omitido, vai par ao diretório "home" do usuário
cp <origem> <destino>
Copia arquivos (COPY do DOS)
<origem> pode ser mais de um arquivo
-ipede confirmação
-fnão pede confirmação
-r, -R copia subdiretórios também
-pmantém permissões do arquivo original e datas de modificação
-dcopia links, não os arquivos e diretórios referenciados pelos links
-acopia preservando o máximo possível da estrutura e dos arquivos; equivale a -dpR
mv <origem> <destino> [-i]
Move arquivo(s) (MOVE do DOS) <origem> pode ser mais de um arquivo Renomeia arquivo ou diretório (REN do DOS) Opções -i, -f e -u, ver em cp (acima)
rename <nome antigo> <novo nome> <arquivos>
Renomeia todos os arquivos especificados em <arquivos>
Renomear significa substituir <nome antigo> por <novo nome> nos nomes dos arquivos.
Exemplo, renomear *.htm para *.html:
rename .htm .html *.htm
cmp <arquivo> <arquivo>
Compara arquivos (FC do DOS)
pwd
Mostra o diretório atual
rm <arquivos>
Apaga arquivos
-rapaga diretório e tudo o que estiver dentro
-ipede confirmação
-fnão pede confirmação
shred
Apaga um arquivo com segurança, primeiro escrevendo no arquivo para apagar o conteúdo original
Exemplo de como limpar uma partição (apagar tudo):
shred -n 5 -z /dev/hxx
mkdir <diretório>
Cria diretório (MD do DOS)
rmdir <diretório>
Apaga diretório vazio (RD do DOS)
cat <arquivo>
Mostra o conteúdo do arquivo (TYPE do DOS)
Também pode ser usado para criar um arquivo de texto pequeno:
cat > arquivo.txt
O cursor fica esperando digitar algo. Ao terminar a digitação pressione CTRL+D.
which <comando>
Mostra o caminho completo do arquivo, como se ele fosse executado
whereis <comando>
Procura o executável
grep <opções> <texto> <arquivo(s)>
Procura um texto em um ou mais arquivos
a opção -l (se presente) mostra somente os arquivos que contém o texto
Exemplo: grep -l "teste" *.txt
Exemplo de como procurar mais de uma palavra:
grep -E '(string1|string2)' *.txt
grep -lE '(string1|string2)' *.txt
Nota: egrep é o mesmo que grep -E
less <arquivo>
Mostram o conteúdo de um arquivo
less é interativo, cat não é
Obs.: Vários comandos do programa "vi" funcionam no less
ln -s <nome do arquivo ou diretório> <nome do link>
Cria um link simbólico
ln <nome do arquivo ou diretório> <nome do link>
Cria um "hard link"
find -name <nome do arquivo>
Procura um arquivo no diretório atual, podem ser usados ? E *
locate
Outro progrma para procurar arquivos
chmod [-R] [u][g][o]{[+][-]}[r][x][w] <arquivo(s)>
Altera atributos do arquivo
  • -R altera atributos recursivamente
  • u=usuario: dono do arquivo
  • g=grupo do dono do arquivo
  • o=outros
  • a=todos os usuários
  • +=colocar atributo
  • -=tirar atributo
  • r=permitir leitura
  • w=permitir escrita
  • x=permitir executar (diretórios: permitir entrar no diretório)

Modo absoluto:

  • Atributos especiais (um dígito):
    • +1 arquivo só pode ser apagado pelo proprietário
    • +2 arquivo é executado sobre seu grupo, mesmo que o usuário não pertença ao grupo
    • +4 arquivo é executado como se fosse pelo proprietário
  • Atributos do proprietário, do grupo e dos outros usuários (3 dígitos):
    • +1 arquivo executável (diretórios: permitir entrar no diretório)
    • +2 escrita
    • +4 leitura
Exemplos:
chmod +w lista.txt
chmod 775 textos
chmod 700 Particular "Meus documentos"

Quando se executa "ls -l", os atributos são os seguintes:

  • 1 caracter = tipo do arquivo:
    • - = Arquivo comum
    • b = Dispositivo de bloco
    • c = Dispositivo de caracter
    • d = Diretório
    • | = Link
    • p = FIFO ("named PIPE")
    • s = Socket da família AF_UNIX
  • 3 caracteres = r,w,x do dono do arquivo
  • 3 caracteres = r,w,x do grupo do dono do arquivo
  • 3 caracteres = r,w,x de todos os usuários
chown [-R] <dono>[.grupo] <arquivo(s)>
Altera dono ou dono/grupo de um ou vários arquivos
-R altera dono recursivamente
Exemplos:
chown root arquivo1
chown root.root diretorio1
lsattr <arquivo>
Lista atributos de arquivo
-R lista também os atributos dos arquivos dos diretórios
-a lista também arquivos ocultos
chattr <arquivo>
Muda atributos de arquivo
  • + = coloca atributo
  • - = retira atributo
  • A = não atualiza data de acesso ao arquivo
  • S = Arquivo com atualização síncrona
  • a = Modo append, não permite sobrescrever arquivo
  • c = Arquivo será comprimido automaticamente ao ser gravado
  • i = Não pode ser modificado
lsof (LiSt Open Files)
Mostra informações sobre arquivos que estão abertos Procurar na Internet
symlinks
Utilitário de manutenção de links simbólicos Pode detectar links quebrados, com '.' e '/' denecessários, etc.

Comandos para dispositivos de bloco

Os dispositivos mais comuns são:

/dev/fd0 /dev/fd1
Unidades de disco flexível
/dev/hdXY
Unidades de disco rígido, onde
X=a,b,c,d conforme o disco
Y=0,1,2,3,4,5,6,7 conforme a partição (4-7=extendida)
Exemplos: /dev/hda1, /dev/hdd

Comandos:

mount <dispositivo> <diretório>
Monta o dispositivo em um diretório; O diretório deve existir e estar vazio
umount <dispositivo>
umount <diretório>
Desmonta o dispositivo montado em um diretório; Não vai funcionar se o dispositivo estiver sendo usado
df
df -h
Mostra(m) dispositivos montados, espaço usado e espaço disponível
du
Mostra quantos Kbytes o diretório está ocupando
fdformat <dispositivo>
Formatação de baixo nível
mkfs, mkfs.msdos, mkfs.ext2, mkfs.minix, mkfs.xiafs [-c] <dispositivo>
Formatação - cria estrutura do disco
-c: verifica erros
mke2fs -j
Cria sistema de arquivos do tipo ext3 (ext3 = ext2 + journal)
fsck, fsck.msdos, fsck.ext2 <dispositivo>
Verifica um sistema de arquivos
fdisk <dispositivo>
Mostra/Cria/Apaga partição ou tipo da partição no dispositivo especificado
badblocks
Busca blocos ruins (com defeito) em um dispositivo
mkswap <dispositivo>
Prepara partição de transferência
swapon <dispositivo>
Ativa partição de transferência
swapoff <dispositivo>
Desativa partição de transferência
Para ativar partição de transferência (SWAP):
mkswap <dispositivo>
swapon <dispositivo>
update
Grava em disco os dados contidos nos buffers
parted
Programa para criar, destruir, redimensionar, mover e copiar partições de discos rígidos

Instalar pacote dosfstools-2.2-2cl.i386.rpm se quiser ferramentas para gerenciar sistemas de arquivo do DOS/Windows


Compactação>

Formatos tar e tar.gz

tar -xvf arquivo.tar
Extrai arquivos/diretórios
tar -cvf arquivo.tar arquivos-origem
Coloca arquivos/diretórios

Acrescentar z para compactar/descompactar (formato tar.gz)

tar -zxvf <arquivo.tar.gz>
Descompacta
tar -zcvf <arquivo.tar.gz> [arquivos/diretórios]
Compacta

Acrescentar I para compactar/descompactar formato tar.bz2

tar -Ixvf <arquivo.tar.gz>
Descompacta
tar -Icvf <arquivo.tar.gz> [arquivos/diretórios]
Compacta

Para tar compactar com exclusão

Usar a opção --exclude <arquivo/diretório>
Exemplo:
tar zcvf backup.tar.gz --exclude melancia DIRETORIO-PRINCIPAL
Obs. Não é possível usar curingas (* e ?) com a opção --exclude

Compactar/descompactar um arquivo usando gzip

gzip arquivo.gz
Descompacta
gzip arquivo.gz arquivo
Compacta

Compactar/descompactar um arquivo usando bz2

bzip2 arquivo.bz2
Descompacta
bzip2 arquivo.bz2 arquivo
Compacta

Formato zip do DOS/Windows

Se arquivos-origem for -@ a lista de arquivos será pega da entrada padrão.
zip arquivo.zip arquivos-origem
Compacta arquivos, somente cria as entradas dos diretórios
zip -D arquivo.zip arquivos-origem
Compacta arquivos, sem os diretórios
zip -r arquivo.zip arquivos-origem
Compaca arquivos e diretórios
unzip -l arquivo.zip
Lista arquivos/diretórios compactados
unzip arquivo.zip
Descompacta arquivos/diretórios
unzip -L arquivo.zip
Descompacta arquivos/diretorios, mas convertendo nomes de arquivos e de diretorios para letras minusculas
zipsplit
Programa para dividir um arquivo .zip em vários

Codificar/decodificar arquivo

uuencode nome-do-arquivo nome-do-arquivo-após-decodificar
Codifica "arquivo" com o nome "nome", colocando o resultado na saída padrão, para poder enviar um arquivo usando somente caracteres ASCII.
uudecode arquivo
Extrai de "arquivo" o arquivo que foi codificado previamente, via uuencode. Se houver algum cabeçalho de e-mail, este é ignorado.
compress/uncompress
Para compactar/descompactar arquivos .Z

Converter arquivos

Existem vários programas de conversão, a marioria usa o ghostscript.

Exemplos:
ps2ascii ps2epsi ps2frag ps2pdf
ps2pdf12 ps2pdf13 ps2pdfwr ps2pk
ps2ps pdftopbm pdftops pdftotext

Controle dos programas

ps
Mostra todos os programas
-aMostra todos os processos sendo executados
-aMostra todos os processos sendo executados
-xMostra todos os processos do usuário
-wMostra os nomes completos dos processos
kill <PID>
Termina a execução de um programa
kill -s 9 <PID>
Termina a execução de um programa, à força
Obs.: (extraído da linux-br) O kill -s 9 não funciona se:
  1. o processo é uma tarefa do kernel que aparece como processo. Você não pode matá-los. Numa listagem do ps, você verá que esses processos ocupam sempre 0 bytes de memória.
  2. processos em estado Z (zumbi). Estes processos Já estão mortos, você não pode matá-los de novo. Eles só precisam que o processo-pai descubra que eles morreram.
  3. processos em estado D (uninterruptible sleep). Nenhum sinal é entregue a um processo em estado D. O kernel aguarda que o processo volte ao estado S ou R para poder mandar o sinal.

Note que o estado D geralmente é associado a atividade de disco ou de rede e não deve durar mais que alguns instantes. Se demorar mais, provavelmente você está sob alta carga no sistema.

Se um processo ficar travado em D, provavelmente ocorreu alguma coisa ainda mais grave: se você tem NFS e o servidor NFS não responde, qualquer acesso ao dispostivo montado via NFS causará a entrada em estado D e sairá daí até que o servidor NFS volte.

Ou então houve algum crash no seu kernel e o processo não voltou de D. Nesse caso, reinicialize.

pidof <programa>
Informa o(s) pid(s) do programa
fuser <arquivo>
Mostra os processos que estão usando o arquivo
Teclar CTRL+Z durante a execução de um programa: Suspende o programa
jobs
Mostra programas suspensos
fg <número>
Coloca o programa suspenso em primeiro plano
bg <número>
Faz o programa ser executado em segundo plano
at
Agenda/Examina/Exclui tarefas para execução posterior

Para executar um comando, por exemplo, halt às 11:30 hs:

at 11:30
at> halt
at>
(pressionar CONTROL+D)

Para listar as tarefas agendadas:

atq

Para cancelar uma tarefa:

atrm <tarefa>
free
Mostra memória usada, livre, cache de disco e SWAP
tty
Informa em que terminal o shell está rodando
who
Mostra usuários usando o computador
whoami
Mostra o login do usuário que executou esse comando
last
Mostra os usuários que se "logaram" no sistema
Para listar somente os últimos 15, por exemplo: last | head -15
write usuário [tty]
Envia mensagem para o usuário
Escrever a mensagem e pressionar CTRL+D quando acabar
wall <mensagem>
Envia mensagem para todos os usuários conectados que tiverem permissão de mesg
mesg [y/n]
Permite/Não permite outros escreverem mensagens no terminal.
reset
Inicializa o terminal. Útil quando ocorrer algum problema no terminal, e as letras ficarem estranhas.
setterm
Configura o terminal
setfont
Define uma fonte para o terminal
nohup
Executa um comando sem interrupções de conexão Grava a saída no arquivo nohup.out ou, se não possível, em ~/nohup.out
Ao ser executado, não coloca o comando em "background"

Outras dicas


Administração de usuários

adduser
useradd
Adiciona usuário
Para adicionar um usuário que não tem acesso à conta shell:
adduser user1 -s /bin/false
Onde user1 é o login do usuário.
userdel
Apaga usuário, pode apagar também o diretório do usuário, mas não significa apagar todos os arquivos do usuário
usermod
Modifica a conta de um usuário
groupadd
Adiciona novo grupo
groupdel
Apaga um grupo
groupmod
Modifica um grupo
passwd
Muda a senha do usuário.
Pode também ser usado para bloquear/desbloquear usuário.
id
Mostra dados do usuário
id mostra todos os dados do usuário que chamou o id
id <usuário> Mostra dados do usuário
id -g <usuário> Mostra só o número do grupo do usuário
id -gn <usuário> Mostra só o nome do grupo
id -u <usuário> Mostra o número do usuário

Nota: usuários de número de 0 a 99 são usuários virtuais (do sistema): não possuem um diretório no diretório /home


Voltar Voltar para textos
Contato:
enviar um e-mail
edx2martin arroba gmail.com