Comandos de console - Linux
- ALT+tecla de função (ex. ALT+F1) muda de console.
- Em alguns casos, é necessário pressionar CTRL+ALT+tecla
de função.
- Ao digitar parte de um comando ou nome de arquivo, pressionando TAB
uma vez, o nome é completado. Se o Linux bipar, há mais
de um arquivo que começa com o nome digitado. Se pressionar TAB
novamente, todas as possibilidades serão mostradas.
- As setas para cima e para baixo voltam e avançam os
últimos comandos digitados.
- SHIFT+PgUp, SHIFT+PgDn mostra o que apareceu antes e depois no console.
- CTRL+L Limpa a tela.
- Se porventura o terminal parar de responder (isso acontece ao pressionar
CTRL+S), pressionar CTRL+Q.
- CTRL+R faz uma busca no histórico:
Pressionar CTRL+R e digitar o comando
- Para repetir uma tecla um certo número de vezes:
Pressionar ALT, digitar um número de 0 a 9, soltar ALT, digitar
o restante do número e pressionar a tecla que será
repetida.
Exemplo, pressionar ALT, digitar 1, soltar ALT, pressionar 0 e A
é o mesmo que pressionar 10 vezes a letra A.
Obs. Não funcionou em terminal dentro do X.
- CTRL+D logout
- ALT+P aparecerá um ':'. Em seguida você digita alguma palavra
ou comando que você já digitou antes e pressione enter,
será retornada a ocorrencia do comando que você
já digitou outras vezes.
- CTRL+K apaga a palavra que estiver à direita do cursor.
- CTRL+W apaga a palavra que estiver à esquerda do cursor.
- CTRL+\ sai de um programa (pode ser usado quando um programa trava),
gerando um arquivo chamado "core", que é simplesmente um "dump"
da memória do programa. Pode não funcionar com muitos
programas.
- Letras maiúsculas são diferentes das minúsculas
- Podem ter até 255 caracteres
- O ponto é um caracter comum, como as letras. Não indicam extensão de arquivo
- É usado a barra ("/") para separar diretórios
- Arquivos ocultos começam com um ponto.
- Arquivos de backup geralmente terminam com "~".
Digitando-se: ls -laF --color=auto
- Diretórios: Terminam com "/"
- Executáveis: Terminam com "*" (tem atributo x)
- Links: Terminam com "@"
- Sockets: Terminam com "="
- Pipes: Terminam com "|"
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.
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
- 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
- file <arquivo>
- Mostra qual é o tipo de arquivo
- ls <diretório>
- Mostra conteúdo de um diretorio
-a | mostra arquivos ocultos |
-l | mostra mais dados dos arquivos |
-R | mostra também conteúdo dos
subdiretórios |
-d | mostra diretórios ao invés de mostrar
o conteúdo dos diretórios |
-i | mostra 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
-i | pede confirmação |
-f | não pede confirmação |
-r, -R | copia subdiretórios também |
-p | mantém permissões do arquivo original
e datas de modificação |
-d | copia links, não os arquivos e diretórios
referenciados pelos links |
-a | copia 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
-r | apaga diretório e tudo o que estiver
dentro |
-i | pede confirmação |
-f | nã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.
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
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
- 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
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 |
- ps
- Mostra todos os programas
-a | Mostra todos os processos sendo executados |
-a | Mostra todos os processos sendo executados |
-x | Mostra todos os processos do usuário |
-w | Mostra 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:
- 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.
- 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.
- 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
- Para o shell (bash) encerrar após algum tempo sem uso:
export TMOUT=x Onde x é o tempo, em segundos. Exemplo:
export TMOUT=150
- Histórico do shell:
É gravado no arquivo indicado por HISTFILE
(não testado) Para não gravar em nenhum arquivo:
export HISTFILE=
- Exemplo de como configurar o protetor de tela do console para 15
minutos:
/bin/setterm -blank 15
- Para não fazer bipe no auto-falante do PC (não o da
placa de som):
setterm -blength 0
(não testado) setterm -blength 0 -store
- 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 para textos