Você está na página 1de 42

Resumo LX0-101

Autor: Rodrigo Santos

2014
1

O sistema operacional e os parmetros de configurao das aplicaes so


guardados em arquivos de texto no sistema Linux.
id <nome_usuario> mostra o UID do usurio.
apropos busca ocorrncias de um termo na seo nome dos manuais. Retorna a
uma descrio breve para cada ocorrncia encontrada e o nome do respectivo
comando ou arquivo.
whatis identifica os manuais de referencia para um determinado termo. O BD do
comando armazena a seo nome dos manuais do sistema. geralmente atualizado
por um agendamento do sistema.
firmware muito til quando se deseja desabilitar dispositivos onboard no
necessrios (RS-232, por exemplo); e alterar o algoritmo do firmware para designar
IRQs para dispositivos PCI.
$ time <comando> calcula o tempo de ao do comando.
$ echo $BASH comando nativo do shell, mostra a varivel.
$ foo || echo oops " Mostra a string oops se o comando foo falhar.
$ exec <programa> esse programa no vira um processo filho do shell, e sim um
processo filho do init. Fazendo isso o programa no herdar as variveis ambientais
do shell.
exit e logout ambos terminaram o shell.
255 caracteres so o padro no Linux.
$ history mantm um histrico de comandos usados.
Arrow Up traz os ltimos comando usados.
Ctrl+P Up

Ctrl+N Down

Ctrl+R busca dentro do history (reverse isearch).


Ctrl+A move o cursor para incio da linha.
Ctrl+E move o cursor para o final da linha.
Ctrl+F move o cursor para direita.
Ctrl+B move o cursor para esquerda.
Ctrl+Left e Ctrl+Right move uma palavra por vez.
Ctrl+D deleta um caractere que esteja abaixo do cursor.
Ctrl+K deleta o que esteja abaixo do cursor e o restante direita.
(Ctrl+X)+Backspace deleta o que esteja a esquerda do cursor at o inicio da linha.
2

Ctrl+T troca de posio entre o caractere sob o cursor com o imediato a sua
esquerda.
Esc e U todas as letras a direita do cursor at o final da palavra, converte
Uppercase.
Esc e L todas as letras abaixo e a direita do cursor at o final da palavra, converte
Lowcase.
Esc e C letra sobre o cursor maiscula.
Ctrl+X+Ctrl+E chama o editor definido na varivel $FCEDIT ou $EDITOR,
usualmente o emacs.
xemacs inicia a verso grfica do emacs.
qemacs inicia o Quick Emacs a partir do prompt do shell.
$ history -c limpa o histrico.
O histrico fica no arquivo ~/.bash_history
Sees de man:
1. Programas executveis;
2. Chamadas de sistemas providas pelo kernel;
3. Chamadas de biblioteca providas pela biblioteca de programa;
4. Arquivos de dispositivos;
5. Formatos de arquivos;
6. Jogos;
7. Miscelnea (pacotes macro, convenes e mais);
8. Comandos de admin. do sistema (exclusivos do root);
9. Rotinas do Kernel.
As pginas Info usam o formato de hipertexto.
> : cria um novo arquivo contendo a sada padro, sobrescreve se j existe;
>> : adiciona sem sobrescrever, se no existir cria;
2> : cria novo arquivo contendo a sada de erros, sobrescreve;
2>> : adiciona a sada de erros, no sobrescreve;
&> : cria um novo arquivo contendo tanto a sada padro quanto a sada com erros,
sobrescreve;
< : muda o contedo do arquivo especificado para ser usado com entrada padro;
<< : aceita o texto sobre as seguintes linhas como entrada padro;
<> : faz com que o arquivo especificado seja tanto para entrada quanto para sada
padro;
<programa> 2> /dev/null dica para descartar erros;
[Armazena a sada padro num arquivo e a sada com erro no outro]
$ cat xab xac nofile > mystdoutput 2> mystderr
3

[2>&1 diz para redirecionar tambm o erro para o arquivo especificado]


$ cat xab xac nofile > mystdout 2>&1
Ctrl+D Pra a execuo.
$ cat A.txt B.txt > AB.txt
-E mostra o final de uma linha usando $ ou --show-ends;
-n adiciona n no inicio de cada linha, contador;
-b somente nas linhas que contm contedo (mesmo que no);
-s comprime um grupo de linhas brancas numa s.
-T avisa com ^I onde o Tab foi utilizado.
IDE simultneos num sistema Intel = 4
83 Linux partition
82 swap
5 Extendido
4 FAT16
A partio de swap deve ter ao menos o dobro da quantidade RAM no Sistema.
POP (110), IMAP (143), HTTPS (443).
GPG encripta somente o corpo da mensagem.
SSH encripta tanto o cabealho quanto o corpo da mensagem.
Pacotes binrios so mais rpidos na instalao que do tipo source.
Dependendo da distro o disco SATA pode ser reconhecido como HDA ou SDA.
Partios lgicas so de XdY5 pra cima.
drwsrwxr-x suid ativo (4). Tem efeito somente em arquivos. Quando estive
arquivo executado independente de quem o fez ele ter os mesmos privilgios do
dono.
# chmod u+s <arquivo> ou # chmod 4xxx <arquivo>
drwxrwsr-x sgid ativo (2). Quando aplicado em diretorio os arquivos nele contidos
assumiro o mesmo ID de grupo, todos os arquivos ali contidos faro parte do
mesmo grupo
# chmod g+s <arquivo> ou # chmod 2xxx <arquivo>
drwxrwxrwxt sticky bit (1) ativo. Significa que os arquivos e subdiretrios s podem
ser alterados pelo dono, independentemente de qualquer outra permisso (modo
append-only. Em arquivos executveis, a propriedade Sticky faz com que o sistema
mantenha uma imagem do programa em memria depois que o programa finalizar.
O Linux bootloader est no primeiro setor da partio de boot quando outro
bootloader j est instalado no sistema.
4

Convoca um comando utilizado anteriormente:


Ctrl-R, !, Up arrow e procurar no .bash_history.
.tgz o formato padro de pacotes tipo source.
MAN e INFO no contem o mesmo tipo de informaes. Normalmente a pagina de
INFO so mais atualizadas. E third party software no contem paginas de MAN.
$ cat < t1 > t2 cat l t1 e copia para t2.
$ ls -zz 2>> t2 ls -zz no existe, logo 2>> vai pegar a mensagem de erro e
acrescentar ao arquivo t2.
Ordem correta de compilao: configure, make, make install e make clean.
Comando ls
Primeira letra representa o tipo do arquivo, podendo ser:
d diretrio;
l link simblico;
c canal fifo;
s socket;
- arquivo convencional.
$ ls -R lista de forma recursiva.
O comando make clean geralmente utilizado depois de se fazer update ou
resolver dependncias para um cdigo fonte.
Problema em fita de backup? Procure o erro em:
$ grep st0 /var/log/messages
$ ps -u username e jobs mostram os processos iniciados pelo usurio corrente.
$ ls /bin/a* > arquivo cria um arquivo com todos os nomes que comeam com a
letra a.
Sada padro e mensagens de erros:
$ foo.sh > log.out 2>&1
$ foo.sh &> log.out
/bin Deve estar contido no raiz. E sempre disponvel pra uso. Este diretrio
contm programas executveis que so necessrios no modo single-user e
recuperam, ou reparam, o sistema. Alm de outros comandos para rotinas bsicas.
kernel Segundo o padro hierrquico do sistema o kernel s pode estar
gravado no /boot ou /.
/proc Contm arquivos com informaes dos processos ativos e de recursos
do hardware.
Criado no RAM, quando o sistema boota.
5

Se o sistema reiniciar todo seu contedo perdido.


S o root pode manipula-lo;
Processos que esto sendo executados;
Contm dados do Hardware da mquina.

/proc/cpuinfo Info sobre o CPU encontrados pelo sistema.


/proc/iomem Info sobre a memria em uso no momento.
/proc/partitions Info sobre as parties do sistema.
/proc/mounts Mostra tudo que est montado no sistema.
/proc/sys/fs/file-max N mximo de arquivos abertos simultaneamente.
/proc/cmdline Informa os parmetros passados ao kernel durante o processo
de boot.
/proc/dma Info sobre os canais de acesso direto memoria. Mtodo
de comunicao alternativo com I/O ports. SEM uso da CPU. Endereos no podem
ser compartilhados.
/proc/ioports mostra que endereos I/O o sistema est usando.
/proc/interrupts IRQs em uso no momento.
/proc/uptime Informa dois tempo em segundos: 1 desde o ultimo
reboot e 2 desde o ultimo desligamento.
/proc/version Mostra verso do kernel, desenvolvedor, sistema base.
/proc/meminfo

Info sobre memria e kernel, desde o ltimo reboot.

/proc/<processos> Aqui so encontrados todos os processos em


funcionamento no sistema, cada diretrio se refere a um processo corrente.
/proc/modules Voc tem acesso aos mdulos instalados no sistema, o
mesmo que seria encontrado digitando lsmod.
Resolvendo problemas de compatibilidade Aps conectar um dispositivo
maquina e o sistema no reconhecer o mesmo, recomendado analisar os seguintes
arquivos: se usb, /proc/bus/usb est montado, lista de mdulos do kernel carregados
e checar o /var/log/messages.
Log com autenticao de todos usurios O /var/log/wtmp contem
Informao sobre todos usurios que autenticaram no sistema, quando e onde.
/opt

Diretrio opcional, normalmente alguns programas especficos quando


instalamos utilizam este diretrio. Serve para programas que no so padro no Linux.
Exemplo, Google Chrome.
6

/boot

Contm arquivos estticos para carregar o boot - Kernel do Linux


(vmlinuz).
/boot/grub/grub.cfg Chaves ({}) definem o final de um OS ou definio de
kernel.
/dev Criado pelo udev. Arquivos de acesso aos dispositivos do sistema.
Todo hardware reconhecido pelo sistema representado por um arquivo nesse
diretrio. Por exemplo, disco rgido ou placa de vdeo.
/sys Funo semelhante ao /proc. Porm, tem funo especfica de armazenar
informaes de dispositivos, enquanto o /proc agrega muitas informaes de
processos tambm. Database de HAL. De um modo mais sintetizado podemos afirmar
que a representao do kernel em seu estado atual de funcionamento.
/usr Em um sistema de parties montadas separadas pode ser configurado
como somente leitura. Hierarquia secundria com bin, sbin, lib, etc. - Segunda maior
estrutura de arquivos dentro do sistema.
/usr/lib usada para bibliotecas necessrias por programas instalados como
parte da distribuio Linux.
/usr/local Indicado para armazenar programas locais e arquivos que tenham
sido compilados localmente da fonte.
/usr/local/lib Bibliotecas de aplicativos de terceiros, que no fazem parte do
sistema operacional so armazenadas neste diretrio.
/sbin Comandos necessrios em caso de emergncia do sistema e de
interesse do administrador. Onde ficam os comandos utilizados para inicializao,
reparao e restaurao do sistema. um diretorio de comandos essenciais.
Apenas o root pode us-lo.
/srv Mantem dados de servios disponveis pelo sistema e pode ser acessado
de forma geral (por todos os usurios), por exemplo, web server.
/tmp Ficam armazenados arquivos temporrios, informaes que devem
ser mantidas ate o fim de uma operao, como um download em andamento ou
arquivos de cache de vdeos do Youtube.
/etc Diretrio necessrio ao raiz. Este diretrio guarda arquivos de
configurao, desde bsicas do sistema e rede, at configuraes especficas de
programas.
/etc/sysconfig/network/ifcfg-modem0 Edite esse arquivo para alterar a.
configurao de um modem 56K interno.
/etc/passwd rodrigo:x:703:100:Rodrigo Santos:/home/rodrigo:/bin/bash
User ID: 703, Group ID: 100
7

/etc/sysctl.conf Permisso duradoura.


/etc/hotplug Na inicializao o script /etc/init.d/hotplug (ou /etc/rc.d/rc.hotplug)
dispara os scripts agentes em /etc/hotplug/ para configurar aqueles dispositivos que
j estavam presentes antes da mquina ser ligada.
/etc/security/limits.conf Limita os recursos dos usurios, restringe o numero
de logins simultneos.
/etc/issue Informa a distribuio e verso do Linux, e algumas info do kernel.
/lib Diretrio necessrio ao raiz. Pois a biblioteca reservada e necessria
para inicializao do sistema. Bibliotecas dinmicas e mdulos do kernel.
/media Subdiretrio normalmente usado para montagem de dispositivos.
removveis, assim como /mnt. Que usado para montagem temporria de sistemas
de arquivos.
/var Arquivos variveis (podem mudar) - Arquivos de logs do sistema e
especficos, caixa de mensagens de e-mail, fila de impressora, etc.
$ logrotate programa garante que arquivos de log no cresam indefinidamente.

Processo de boot
1. Computador ligado;
2. BIOS inicializa o hardware e carrega o bootloader do MBR;
3. O bootloader carregar o kernel do SO a partir do disco;
4. SO gera o processo init que inicializa os demais processos.
1 setor do disco (partio de at 2 TiB). um setor de boot de
MBR
512 bytes. Abriga a tabela de parties primrias, inicializa SOs a partir de um
bootloader (ou bootstrap loader, armazenado em ROM).
Parties primrias: 1 4.
Lgicas: 5 ou +.
Ex: 1,3,5,6 e 7 Verdadeiro.
1,3,5 e 7 Falso.
Se a partio 7 existe ento deve existir uma 6. Parties lgicas no pulam
nmeros.
Bootloader ou IPL: 4466 bytes
Tabela de partio: 64 bytes
Assinatura: 2 bytes
IRQ (16 interrupes) interrupt request
0
1
2

Tempo do sistema
Teclado
Cascateamento IRQ8-15

Reservado p/ uso interno


SOMENTE
Lida com IRQs 8-15
8

3
4
5
6
7
8
9
10
11
12
13
14
15

2 RS-232
1 RS-232
Placa de som ou LPT2
Disquete
LPT1
Real Time Clock
Open interrupt
Open interrupt
Open interrupt
PS/2 mouse
Math processor
1 Controlador ATA
2 Controlador ATA

Compartilhado com a 4
Compartilhado com a 3
1 Controlador
SOMENTE

Reservado p/ uso interno


hda ou hdb
hdc ou hdd

Endereos I/O locais na memria que so reservados para


comunicao entre CPU e dispositivo fsico especfico. So comumente associados
com dispositivos especficos.
/sys (Sysfs) Sistema de arquivo virtual, exporta informao sobre
dispositivos do sistema para os processos dos usurios atravs de um sistema de
arquivo em memria.
HAL Mantm um bd sobre dispositivos conectados ao sistema, em tempo real.
Conectado ao kernel atravs do D-BUS. Prov uma biblioteca de programao API.
Prov ao sistema informao sobre a disponibilidade do
HAL Daemon
hardware. Facilita o trabalho dos programadores com a interao de dispositivos, sem
necessidade de acesso direto.
Proporciona uma maior abstrao do hardware e informa
D-Bus
(Desktop Bus)
seu acesso. Tambm um daemon. Permite que
processos comuniquem-se entre si atravs de protocolos padronizados (XML).
udev Cria e mantem a estrutura do /dev (somente dispositivos
conectados constam aqui). Seu daemon o udevd, fica escutando os eventos do
kernel para encontrar novos dispositivos.
dmesg

Gera sada sobre o kernel.

lsdev Infos sobre o hardware do sistema: IRQ, DMA e I/O.


Caso no esteja presente procurar pelo pct procinfo.
lspci Mostra toda informao sobre os barramentos PCI no seu sistema
e todos dispositivos conectados a esses barramentos.
-v mostra mais informaes.
-vv detalha mais ainda sobre todos os dados armazenados.
-vvv mximo de detalhamento.
-n remove os nomes da busca.
9

-x mais informaes em hexadecimal.


-b bus view, organiza por ordem de barramentos.
-t organiza em formato rvore.
-s <vendor_id> mostra somente os do vendor id informado.
O arquivo /usr/share/hwdata/pci.ids lista todos os vendor_ids reconhecidos pelo
Linux.
PCI bus mastering permite que dispositivos PCI se comuniquem diretamente entre
si, ignorando o CPU. Num sistema multitarefa isso reduz a quantidade de trabalho do
processador e melhora a performance do sistema.
Facilitadores de leitura das informaes de hardware armazenadas pelo sistema.
lsmod Somente mdulos do kernel carregados.
lsusb Mostra todas as informaes sobre os dispositivos USB
conectados a este tipo de barramento.
-t desenha a arvore hierrquica dos dispositivos hubs usb.
/lib/modules

Local dos mdulos stand alone.

/lib/modules/version/kernel/drivers
armazenados.

Local onde os mdulos do kernel ficam

modinfo <nome_modulo> Prov informaes especificas sobre o mdulo.


usb-uhci.o
Modulos necessrios para usar um scanner USB.
usbcore.o
scanner.p
insmod Insere/carrega um modulo por vez. Requer caminho completo.
modprobe Faz o mesmo que o insmod, mas de forma automtica e
carrega as dependncias se necessrio.
-v verbose.
-l lista todos os mdulos que PODEM ser instalados no sistema, no esto ativos
necessariamente, so os disponveis.
-r <nome_do_modulo> remove o modulo.
[$ lsmod | grep <nome_do_modulo> ir checar se o modo realmente foi removido, se
no constar porque foi.]
/etc/modprobe.conf
Arquivo de configurao do modprobe.
ou
/etc/modprobe.d
rmmod
ldd

Comando <nome_mod>, descarrega o modulo.

Verifica que biblioteca necessria pro programa fucionar.

$ ldd foo

ou $ ldd /bin/ls

-v mostra lista mais completa.


ld.so e

Gerenciam o carregamento de bibliotecas.


10

ld-linux.so
ld.so o vinculador dinmico de objetos compartilhados. Procura pelos diretrios que
contem bibliotecas na varivel LD_LIBRARY_PATH
O Linux no l /etc/ld.so.conf cada vez que um programa executado. Em vez disso,
o sistema se baseia em uma lista em cache de diretrios e os arquivos que eles
contm, armazenados em formato binrio no /etc/ld.so.cache.
O ld.so.conf utilizado para linking dinmico, contm uma lista de diretrios que
contem bibliotecas dinmicas.
# ldconfig Faz essa converso/atualizao para manter o cache sempre
atualizado.
-v verbose;
-N no refaz o cache, atualiza somente os links simblicos;
-n atualiza somente diretrios especificados;
-X refaz somente o cache, no atualiza os links simblicos;
-f <conf_file> substitui o /etc/ld.so.conf;
-C <cache_file> substitui o arquivo de cache;
-r <dir> diz para tratar dir como nova raiz. (opo til quando se tem um SO
corrompido ou instalado novamente.
-p mostra o cache atual.
Procura por biblioteca compartilhadas nos diretrios: /lib, /usr/lib e diretrios listados
em /etc/ld.so.conf.
Somente no contedo desses arquivos de biblioteca voc encontrar
include...<apontamento para arquivo>.conf. O include s utilizado quando o final
do arquivo .conf.
/etc
/bin
/sbin NUNCA DEVEM SER MONTADOS FORA DA RAIZ.
/lib
/dev
Muitas distros geram log e guardam o kernel ring buffer em /var/log/dmesg, logo aps
o boot do sistema.
Outra fonte de log importante o system logger (syslogd)
/var/log/messages e /var/log/syslog
GRUB LEGACY (mais antigo)
Arquivo de configurao: /boot/grub/menu.lst ou /boot/grub/grub.conf.
title Nome (verso)
Suporte a BIOS, mas UEFI no;
GRUB no distingue: PATA, STA, SCSI e USB;
Define por hdx,x, comeando por hd0,0;
Floppy devices so: fd0, fd1,...;
Trata USB flash drives como disco rgido;
GRUBs root partition a partio que contm sua configurao;
default= diz ao boot que OS carregar;
timeout= quanto tempo esperar antes de carregar o boot;
11

splashimage= grfico background na tela de boot;


Chainload somente em BIOS, UEFI no;
Comando para instalar:
o # grub-install /dev/das
o # grub-install (hd0)

Opes grficas:
e edita parmetros para o sistema selecionado antes de inicializa-lo;
c entra na linha de comandos especial do grub;
Esc para sair do editor.
GRUB 2 (mais recente)
Arquivo de configurao: /boot/grub/grub.cfg (somente leitura, substitui o menu.lst) ou
/boot/grub2.
menuentry nome {
opes
}
Agora parties comeam por (hd0,1);
H a utilizao de scripts e outras ferramentas que ajudam automaticamente a
manter o GRUB2 no /boot/grub/grub.cfg. A intenso que o Sys-Admin nunca
precisa editar esse arquivo;
O /etc/grub.d (contm diversos scripts, usados para construo do GRUB) e o
/etc/default/grub podem ser editados para mudar a configurao do GRUB2.
Aps isso deve ser refeita a construo do GRUB2.
GRUB_TimeOUT= o tempo de GRUB na tela antes da entrada do SO.
Atualizao do GRUB2:
o # update-grub ou # grub-mkconfig > /boot/grub/grub.cfg
O GRUB2 trabalha tanto com BIOS quanto com UEFI.
$ grub-install /dev/das necessrio para reinstalao do GRUB.
Caso efetue qualquer mudana no grub em /etc/default/grub, para surtir efeito use:
# update-grub
No OpenSUSE modifca-se o /etc/default/grub e depois utiliza-se o comando:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Para visualizar um arquivo ($ less <arquivo>) e buscar nele, utilize /. Isso ativa a busca
dentro do less.
A palavra-chave initrd identifica um arquivo de disco RAM inicial no arquivo de
configurao no GRUB2.
Scripts de inicializao do SysV
/etc/init.d/rc ou /etc/rc.d/rc
Fazem a tarefa crucial de rodar todos os scripts associados com o runlevel.
Os scripts especficos para cada runlevel ficam em:
/etc/rc.d/rcx.d

dependendo da distro o local muda


12

/etc/init.d/rcx.d
/etc/rcx.d

(so todos links simblicos)

init PID = 1
O programa rc roda os scripts em ordem numrica. Padro KNNnome e SNNnome.
Visualiza todos os scripts: $ ls /etc/rc* | less
/etc/rc.d
varia o local de acordo com a distro
(principais scripts esto nestes diretrios)
/etc/init.d
/etc/rc.d/init.d
Esses so utilizados para controlar a inicializao e o desligamento do sistema.
O /etc/rc.d/init.d o local mais comum, podendo ser armazenado em outros.
rc.local Onde podem ser adicionado comandos que se deseja executar
toda vez que o sistema iniciar.
/etc/init.d/smb start
chkconfig
update-rc.d
rc-update

Start samba server

ferramentas de utilizao para o System V

# chkconfig --list

mostra o status dos servios em todos os 7 runlevels.

# chkconfig --list nfs-common

servio especfico.

# chkconfig --level 23 nfs-common on

Modifica os servios nos runlevel


2 e 3
(pode usar: on, off ou reset)

# runlevel

Retorna: N 2
O N significa que o sistema no trocou de runlevel desde o boot. O 2 o atual.
/etc/inittab Diz ao init o que fazer.
Normalmente inclui linha quem controlam diversos mtodos de login, incluindo os
programas baseados em texto para login do tipo getty; e utilitrios de login baseados
em X (com interface grfica), como o XDMCP.
inetd e xinetd
Verificando se inetd ou xinetd est em operao:
$ ps ax | grep inetd
Procure por /etc/inetd.conf ou /etc/xinetd.d
/etc/xinetd.d contm os arquivos de configurao que o xinetd daemon usa para
gerenciar os outros daemons da rede.
0 sistema desligado
# init 1 Single user mode
2 Multiusurio (default no Debian)
13

3 Multiusurio sem GUI (RHAT)


4 No utilizado
5 Multiusurio (completo com login grfico RHAT)
# init 6 Reboot
Pode ser usando tanto init quanto # telinit.
# shutdown

-r (reboot)
-h (halt ou poweroff)
-H (halt)
mensagem (ultimo trecho do commando)
-P (power off) -c (cancela)
Podem ser utilizados de forma individual: # halt, # reboot, # poweroff .
hh:mm horrio para execuo.
+m minutos at a execuo.
now ou +0 execuo imediata.
halt

Para todas as CPU.

poweroff Manda comando ACPI para fonte, desconecta a fora principal.


Suporta dispositivos de 8 a 16 dispositivos por barramento.
SCSI
$ scsi_info e /proc/scsi/scsi achamos informao especifica sobre o SCSI.
# sfdisk -d /dev/das > sda-backup.txt

Fazendo backup da MBR.

# sfdisk -f /dev/das < sda-backup.txt

Restaurando backup.

0x0c
0x05
0x07
0x0f
0x82
0x83

FAT
Tipo antigo de partio estendida
NTFS
Tipo novo de partio estendida
Linux swap
Linux filesystem

Sucessor do MBR. Preferida para discos maiores de 2 TiB.


GPT
Comporta 128 parties, ou mais. Fdisk NO FUNCIONA no GPT.
Variveis de ambiente
Permitem mudar o shell de varias formas para adapta-los as necessidades do usurio.
PS1 Prompt da linha de comandos
PATH Lista de diretrios vasculhados quando um comando executado.
LOGNAME O nome que o usurio usou para logar no sistema.
MANPATH Especifica os locais dos manuais armazenados.
TERM O tipo de emulador de terminal utilizado. Seu contedo varia se um
terminal do X ou um console tty.
Variveis embutidas do bash
14

$! PID do ultimo processo executado.


$$ PID do shell atual.
$? Retorna o valor 0 se o ultimo comando foi bem sucedido, caso contrrio
retorna o valor 1.
~ Corresponde ao diretorio pessoal do usurio atual.
~rafael Corresponde ao diretorio pessoal do usurio chamado rafael.
Comandos sequenciais
$ comando1 ; comando2 ; comando3 executa trs comandos em sequencia,
independente do resultado de cada um.
$ comando1 && comando2 && comando3 executa o comando seguinte apenas se
o anterior foi bem sucedido (se retornou 0).
$ comando1 || comando2 || comando3 executar o comando apenas se o anterior
no foi bem sucedido (se retornou diferente de 0).
env Verifica o contedo de todas as variveis do usurio corrente.
set Define o valor de uma varivel. Sem argumentos, mostra as variveis j
definidas.
$ set -o mostra a lista de opes que podem ser modificadas.
$ set -o noclobber faz com que no seja permitido sobrescrever um arquivo (para
reverter digite com +o).
unset Apaga uma varivel ambiental da memoria
echo Verifica uma varivel especifica.
$ echo $NOME_VARIAVEL
Mostra em que sesso voc est: PS1=\h:\w>
Novo caminho para varivel: PATH=$PATH:/novocaminho
[Crie um arquivo .sh, dentro dele coloque o comando:]
echo this line into a file >> /etc/myfile.txt
Depois execute o programa com o comando sh.
$ sh programa.sh
Ele criar um arquivo /etc/myfile.txt com o contedo this line into a file.
export Torna a varivel ambiental em global.
$ export minhavar <enter>
Tanto RPM quanto DEB rodam ldconfig automaticamente aps instalar ou remover
um pacote.
~/.bash_profile um dos arquivos usados para personalizar o ambiente shell.
Existe um por usurio. Ou ~/.profile.
15

Os arquivos de configurao do bash so shell scripts em bash. O ~/.bashrc e o


~/.profile so os principais arquivos de configurao DO USURIO para o bash. E
/etc/bash.bashrc e /etc/profile so os arquivos de configurao GLOBAIS.
Adicionado novos search path
$ export LD_LIBRARY_PATH=/usr/local/testlib:/opt/newlib

{sempre adicionando com : entre caminhos}.


RPM e Debian packages usam seu prprio formato de base de dados, no so
intercambiveis sem converter formatos.
.Deb
Debian packages incluem informaes sobre suas dependncias.
/etc/dpkg/dpkg.cfg Arquivo de configurao principal.
~/.dpkg.cfg

Contem opes do dpkg.

$ dpkg [options] [action] [packages-files | package-name]


-i ou --install instala um pacote;
--configure reconfigura um pacote instalado;
-r ou --remove remove o pacote mas no altera os arquivos de configurao;
-P ou --purge remove o pacote + configuraes;
--get-selections mostra os pacotes instalados no sistema;
-p ou --print-avail mostra informao sobre um pct instalado;
-I ou --info info sobre um pct desinstalado;
-l <padro> ou --list <pattern> lista de acordo com o buscado;
-L ou --listfiles lista os arquivos instalados associados ao pacote;
-S <pattern> ou --search <pattern> localiza os pacotes pertencentes a um arq;
-C ou --audit procura por pacotes parcialmente instalados e sugere o que fazer com
eles.
$ dpkg -l | grep lpr Para uma busca mais ampla
Stable, testing e unstable: so os tipos de pacotes existente .deb.
no-act

Rodar um teste do pacote sem instala-lo.

# dpkg-reconfigure samba

Devolve configurao default-factory.


Estados validos de instalao de pacotes do Debian: half-installed, not-installed e
unpacked.
[Se foi tentado fazer a instalao de um pacote .deb]
# dpkg i dropbox.deb
[Mas o sistema apresentou falhas, falta de certas dependncias]
# apt-get update
# apt-get f upgrade
[Isso faz com que o apt-get reconhea que h dependncias faltantes e baixar estas
de forma automtica. Agora s tentar instalar novamente o .deb. E depois confirmar
com:]
# which dropbox
[Para checar se a instalao foi bem sucedida]
16

# dpkg --get-selections | grep dropbox


# dpkg -L dropbox
[Para caso o arquivo tenha um arquivo de reconfigurao usa-se]
# dpkg-reconfigure dropbox
[INFO extra: Removendo:]
# dpkg --remove dropbox
# dpkg --purge dropbox
APT-CACHE
# apt-cache showpkg samba

mostra informaes sobre o pacote.

# apt-cache search php5

Busca por pacotes relacionados a busca.

# apt-cache dump

Lista todos os pacotes instalados.

# apt-cache stats

Checa quantos pacotes foram instalados, quantas


dependncias gravadas e outras estatsticas.
# apt-cache unmet
Busca por bibliotecas com problemas.
# apt-cache depends samba

Mostra todos os pacotes especficos para o


programa, rdepends faz a busca reversa.
# apt-cache pkgnames sa

Busca por pacotes pela string.

APT
/etc/apt/apt.conf

Controle do APT e do dselect (opes).

/etc/apt/sources.list

Caminhos e url para fonte de pacotes.


Para cdrom adicionar nele apt-cdrom add (depois rodar o update).
# apt-get update
# apt-get upgrade

Obtm fontes mais atuais dos pacotes.


Atualiza os programas.

# apt-get u dist-upgrade

Atualiza a distro para uma nova verso.

dselect-upgrade

Faz qualquer mudana no pacote (install, remove, etc)


deixado pendente pelo dselect.
Para fazer o upgrade de um pacote via dselect:
Use a opo Install em dselect e $ apt-get -u dselect-upgrade
# apt-get
install
remove
source

[options] [command] [package-names]

Instala pelo nome do programa, NO pelo nome do pacote.


Remove (pelo nome do pacote).
Baixa um pacote fonte (so trs arquivos: .orig.tar.gz, .dsc e .diff.gz).
O .dsc usado pelo dpkg-source, descompacta nomedopacote.verso.
$ apt-get -b source nomedopacote constri o .deb.
check Verifica a base de dados do pacote por inconsistncia e instalaes mal
sucedidas.
17

clean
autoclean

Limpeza
Remove info somente sobre pcts que no podem mais
ser baixados.
-d ou --download-only baixa o pacote sem instalar.
-f ou --fix-broken tenta consertar um sistema que as dependncias no funcionem.
-q ou --quiet omite info sobre o progresso
-s , --simulate, --just-print , --dry-run , --recon ou --no-act simula a instalao ou
remoo sem faze-la ou alterar algo.
Aptitude
$ aptitude (somente, modo interativo)
Menu: Ctrl + T
Opes: search, autoclean, clean
Aptitude = dselect + apt-get
Synaptic: GUI X-tool

Alien
$ alien [opes] arquivo[]
--to-slp (stampede); --to-deb; --to-rpm; --to-tgz;
Processo de transferncia pra rpm:
# tar xvfz program.tar.gz
# mv program-files usr
# tar cvfz program.tgz usr
# rm r usr
# alien --to-rpm program.tgz
Fazendo isso teremos os arquivos onde queremos ao ser instalados.
RPM
Modelo: nomedopacote-a.b.c-x.arquitetura.rpm
Arquivo principal de cfg: /usr/lib/rpm/rpmrc {recomendvel no edita-lo}
Opes editveis: /etc/rpmrc e ~/.rpmrc
Nesse arquivo pode ser otimizada a opo CPU para melhorar a performance do
sistema.
# rpm [operao] [opes] [package-files] [package-names]
-i instala;
-U instala um novo pacote; ou faz upgrade de um existente;
-F ou --freshen faz upgrade somente se existir uma nova verso;
-q query do pacote;
-V ou --verify verifica um pacote, se os arquivos esto presentes e inalterados
desde a instalao;
-e desinstala um pacote;
-b constri um pacote binrio, com arquivo fonte e de configurao;
--rebuilddb reconstri a base de dados do RPM para corrigir erros;
--root <dir> (qualquer) modifica o root para <dir>;
--force (-i, -U, -F) fora sobrescrever;
-h ou --hash (-i, -U, -F) mostra barra de progresso (#);
-v (-i, -U, -F) usar em conjunto com -h;
--nodeps (-i, -U, -F, -e) no deve checar dependncias durante instalao;
18

--test (-i, -U, -F) checa por dependncias, conflitos e outros problemas sem instalar
o pacote;
--prefix <path> (-i, -U, -F) seta o diretorio para instalao, funciona somente para
alguns pacotes;
-a ou --all (-q, -V) lista ou verifica todos pacotes;
-f <file> ou --file <file> (-q, -V) lista ou verifica o pacote que pertence o arquivo;
-p <package-file> (-q) queries os pacotes de arquivos RPM desinstalados;
-i (-q) mostra informaes sobre pacote, incluindo mantenedor, curta descrio, etc.
-R ou --requires (-q) mostra as dependncias necessrias;
-l ou list (-q) mostra os arquivos contidos no pacote.
(-q) --changelog examina o changelog.
Sempre usar $ rpm -qi samba para saber mais informaes sobre o pacote.
Para instalar verses anteriores por cima de novas com o RPM:
# rpm -Uvh --force foo-<verso>.rpm
# rpm -Uvh --oldpackage foo-<verso>.rpm
$ rpm -qf foo.conf Informa a que pacote pertence o arquivo.
$ rpm -ql foo-<verso>.rpm lista os arquivos contidos no pacote.
$ rpm -qa | grep lpr lista todos os pacotes no sistema relacionados ao lpr.
$ rpm -K arquivo<verso>.rpm testa a validade da assinatura digital, tambm faz
um teste MD5 do checksum para ver se o contedo no foi adulterado.
--force = --replacepkgs, --replacefiles e --oldpackage
Ordem de leitura dos arquivos rpmrc:
/usr/lib/rpm/rpmrc, /etc/rpmrc e ~/.rpmrc (ou por ultimo, qualquer arquivo especificado
usando a opo -rcfile).
RPMs so geralmente portveis entre distros, mas ocasionalmente elas contem
incompatibilidades.
A base de dados de pacotes instalados do RPM fica em /var/lib/rpm.
RPM2CPIO
Extraindo dados do RPM sem instalar o pacote:
$rpm2cpio samba...rpm > samba...cpio
Extraindo os dados usando cpio:
$ cpio -i --make-directories < samba...cpio
ou
$ rpm2cpio zsh...rpm | cpio -i make-directories
YUM
Principal cfg: /etc/yum.conf {talvez sua modificao no seja necessria}
Opes bsicas (onde os pacotes rpm baixados vo e as atividades gravadas em log)
Cfgs adicionais: /etc/yum.repos.d/<dir>
{no aconselhvel adicionar repositrios manualmente editando-o e sim baixar o
rpm com as configuraes e instalar}.
$ yum [opes] [comando] [package...]
19

install
update

Instala um ou mais pacotes.


Atualiza um pacote especifico, seno, atualiza tudo instalado.

upgrade

= update --obsoletes .

check-update

Verifica se h novas atualizaes.

remove ou erase
list

= rpm -e .

Info sobre o pacote.

provides ou whatprovides
search

Info sobre, incluindo updates.

Busca.

clean

Limpa cache (diretrio).

shell

Entra no shell mode do yum.

resolvedep

Resolve dependncias.

local_install

Instala rpm e o yum resolve as dependncias faltantes.

localupdate

Faz update do sistema com rpms locais, usando o yum repositor


para resolver dependncias.
deplist

Mostra as dependncias do pacote.

yumdownloader

Obtm um pacote sem instala-lo.


Obtendo pacote mais dependncias:
# yumdownloader --resolve http
Opo do yum com GUI X kyum e yumex.
Expresses Regulares
Caracteres que possuem significado especial. Transformam caracteres literais
em expresses de busca.
So eles: \ . * + - { } [ ] ^ $ | ? ( ) : ! =
Podem ter mais de um significado, dependendo do contexto de uso.
Obs: Aspas no so metacaracteres.
O + metacaractere da expresso regular estendida, mas um caractere normal nas
expresses regulares bsicas.
O ponto (.) representa qualquer caractere nico. Indica um caractere qualquer.
$ grep f.b /etc/passwd
Caracteres de Escape
Trata-se de um metacaractere \ que indica a mudana no significado de outro
caractere; transforma um metacaractere em um literal comum.
\. s acha os pontos finais.
Classes ou conjunto de caracteres
20

So listas de caracteres escritas dentro de colchetes [] e que servem para


corresponder apenas um dos caracteres listados.
Permite selecionar um dos caracteres dentro dos colchetes, no importa a ordem.
Exs: [A] A [AF] A e F [A-Z] A Z [A-Za-z] A Z e a z
Expresses POSIX
$ grep [[:alpha:]] /etc/passwd
[[:alpha:]] = a-z A-z
[[:upper:]] = A-Z
[[:lower:]] = a-z
[[:blank:]] = Caractere em branco, espao ou tab [ \t]
[[:cntrl:]] = Caracteres de controle [\x00-\x1F\x7F]
[[:digit:]] = 0-9
[[:graph:]] = Qualquer caractere visvel(ou seja, exceto em branco) [\x20-\x7E]
[[:alnum:]] = 0-9a-zA-Z
[[:punct:]] Pontuao [-!"#$%&'()*+,./:;<=>?@[\\\]_`{|}~].
[[:print:]] = Caracteres visveis (ou seja, exceto os de controle) [\x20-\x7E]
[[:space:]] = espaos
[[:xdigit:]] Nmero hexadecimais [0-9 a-f A-F]
m[^ae]u ^ negao, quando dentro [ ]
[aeiou] todas as vogais
[^aeiou] todas as consoantes
Metacaracteres-Ancora
Usados para representar caracteres no inicio ou no final de uma linha.
Inicio de linha: ^
Final de linha: $
Ex: ^[NH] linhas que comeam com N ou H.
Localizar linhas vazias: ^$
Repeties de caracteres
Metacaractere Significado
*
Item precedente 0 ou mais vezes
\+
Item precedente uma ou mais vezes
\?
Item precedente 0 ou 1 vez
\w
Um caractere qualquer (alfanum)
\w+
Localiza sequencia de caracteres
Dica para buscar e-mails: \w+@\w+\.com\.br
Repetio quantificada
{x} item anterior corresponde exatamente x vezes;
{x,} item anterior corresponde ao menos x vezes;
{x,y} item anterior corresponde entre x e y vezes;
Ex: r{2} r 2 vezes
[0-9]{4} encontra quatro ns em sequencia
\s espao
Agrupamento de caracteres
Metachars: ( )
Permitem agrupar partes de uma expresso;
Aplicar operadores de repetio a um grupo;
No usar dentro de conjuntos de caracteres, pois tem significado literal.
21

Ex: (in)?dependentes retorna dependentes e independentes


Alternao
Permite corresponder uma ou outra expresso.
Metachars: |
Ex: casa(do|da) retorna casado ou casada.
$ emacs `find ./ -name *.txt` um par de crases quando em torno de um comando
substitui a sada daquele comando como argumento para o procedimento anterior.

Editor de texto Vi
yn Copia a linha atual e mais n linhas abaixo;
yX

Copia o n de char definidos pelo X (yw copia uma palavra inteira);

yy ou Y

Copia a linha atual inteira;

Cola aps a posio atual do cursor;

Cola antes da posio atual do cursor;

dd

Recorta a linha atual inteira;

dw

Recorta a palavra atual a partir de onde est o cursor;

3dd
D

Recorta 3 linhas a partir da linha atual;

Recorta da posio atual do cursor at o final dessa mesma linha;

cw

Ponha o cursor na no inicio da palavra antes, apaga a palavra inteira e entra


no modo Insert;
cc

Corta a linha atual inteira e entra no modo Insert;

:digraphs

Aciona tabela de chars especiais;


Para inserir o char: entrar insert mode posicionar cursor Ctrl + K atalho
w

Move cursor uma palavra para frente;

Move cursor uma palavra para trs;

Move cursor para alto da tela;

Move cursor para final da tela;

Move cursor para final do arquivo;

xG
0

Move cursor para linha n x; Ex: 20G (linha 20);


(ou tecla home) move o cursor para inicio da linha atual;
22

Move o cursor para o 1 caractere no espao ou tab da linha;

(ou tecla END) move o cursor para o final da linha atual;

:set number

Ativa numerao de linhas

:set nonumber

Desativa numerao de linhas


Saber onde se est em um arquivo e seu n total de linhas:
Ctrl-U Move o cursor meia tela para cima;
Ctrl-D

Move o cursor meia tela para baixo

Ctrl-F

Move adiante uma pgina;

Anexa (insere) texto aps a posio atual do cursor;

Anexa (insere) texto no final da linha atual;

Entra no modo de insero j na atitude de sobrescrever a linha atual e;


o que tiver pela frente.
o

Cria uma nova linha abaixo da linha atual e entra no modo de insero;

Junta a linha atual e a linha abaixo acrescentando um espao entre elas;

Muda o caso do caractere;

n~

Muda o caso dos (n) caracteres a partir do cursor.

Apaga o caractere na posio atual do cursor (3x apaga 3 char).

Apaga o caractere a esquerda do cursor (6X apaga 6 char a esquerda).

Apaga o caractere atual e entra no modo insero.

Apaga o contedo da linha atual e entra no modo insero.

Desfaz o ultimo comando;

Ctrl-R
Sair

Refaz o desfeito pelo u

:q e :q!

Salvar

:w e :w!

Salvar e Sair

:x , ZZ, :exit e :wq

(modo comando) substitui um caractere sobre o cursor.


3r e na sequencia s 3 caracteres so sustituidos por s.
23

~/.inputrc

Esc, R

Alterar o vi como editor padro.

Replace mode (grava por cima)

Esc, /
n

Busca de cima para baixo.


O n direciona a busca para o prox. item encontrado aps a
utilizao da /.
Esc, ?

Busca de baixo pra cima.

Esc, :e /<dir>

Salvar como em /<dir>.

:%s/yahoo/google

Troca yahoo por google na primeira ocorrncia da palavra


em cada linha. Coloque /g no final se deseja que a mudana seja global.
:!mkdir, !ls

Realiza essas funes saindo e voltando para o vi.

:r /etc/passwd

exec

Copia contedo do /etc/passwd para dentro do arquivo.

Desvincula o programa do shell. Passa responder diretamente ao init.

.bash_history

Arquivo oculto, localizado no home de cada usurio, contm o


histrico de comandos de seu dono.
uname

Utilizado pra mostrar diversas infos sobre o sistema.


# uname -a mostra todas informaes.
-s nome do kernel;
-n hostname;
-r n distro do kernel;
-v verso do kernel;
-m nome do hardware;
-p processador;
-i plataforma;
-o SO.
ls

Lista
-i identifica o inode do arquivo;
-r organiza de forma reversa;
-a arquivos ocultos;
-l organiza em forma de lista;
-h dados em forma humana.
touch

$ touch [opes] nome_arq <Enter>


-a altera hora;
-m altera a hora de modificao;
-t YYMMDDhhmmss config a hora digitada.
Atualiza a marca temporal de um arquivo.
Criando arquivo com espao entre palavras:
24

$ touch Rodrigo Admar Gonalves ou Rodrigo\ Admar\ Gonalves


DICA:
$ stat <nome_do_arquivo> muitas dados sobre o arquivo: tamanho, blocos, IO
block, inode, links, tipo de acesso, uid, gid, data do ultimo acesso, ultima modificao,
ultima mudana de metadados.
cut

Pode extrair para de uma linha de informao para processar depois, isso
til quando preciso extrair essas infos para um script a partir de um arquivo
estruturado. til quando preciso extrair essas infos para um script a partir de um
arquivo estruturado.
$ cut [opes] arquivo
-c posio de caractere;
-f [n] campos;
-d [d] delimitador;
Ex: Imprime as colunas de 1 at 6: $ cut -c1-6 arq1
Imprime as colunas 4 e 8: $ cut -c4,8 arq1
Imprime o campo 3 usando o caractere : como delimitador. Para usar o espao como
delimitador user (espao entre aspas simples).
Lista os usurios do sistema: # cut -d : -f1 /etc/passwd
Usuarios e diretrios padro: # cut -d : -f1,6 /etc/passwd
od

Mostra o contedo no formato desejado. $ od [opes] arquivo


-d decimal com sinal;
-i inteiros na base decimal;
-f pontos flutuantes;
-b octal;
-h hexadecimal;
-c ASCII.
join

Cria um banco de dados simples unindo as linhas dos arquivos que


Tenham um ndice. $ join -j 1 arq1 arq2
nl

Numera as linhas do arquivo (somente as linhas escritas, pulando as em


branco. $ nl arquivo
-w(x) largura do pargrafo para o n.
idntico a $ cat -n arquivo
$ cat b ir numerar tambm, mas somente as no em branco.
expand

Converte as linhas que estiverem com tabs para espaos


[8 espaos = 1 tab]. $ expand -i1 arquivo deixa o inicio do paragrafo com 1 espao
-i expande o inicio das linhas de um arquivo
-t define as tabulaes.
unexpand

Substitui espaos por tabs.


$ unexpand -a1 arquivo
-a une todas as palavras expandidas com o espao do tab.
tr

Altera o contedo do arquivo que est todo em minsculo, ou seja, altera


de minsculo para maisculo, e vice-versa.
-s ou --squeeze-repeats substitui mltiplas repeties por uma apenas;
25

$ tr -s [:space:] < cadastro.sql > novocadastro.sql


$ cat arquivo1.txt | tr a-z A-Z altera o caso somente na sada padro
$ cat arquivo1.txt | tr a-z A-Z arquivo2.txt altera e salva num arquivo
$ tr -d \r < dosfile > unixfile converte o estilo uma linha branca entre linhas, para
fmt

Formata texto (exibio somente)


$ fmt [opo] arquivo
-u deixa um espao entre palavras;
-w1 exibe o arquivo em colunas.
head

$ head [opes] arquivo. Exemplos:


$ head arq2 mostra as 10 linhas iniciais;
$ head -c50 arq exibe os primeiros 50 bytes de um arquivo;
$ head -n15 arq2 mostra as 15 primeiras linhas de arq2;
$ head n8 /etc/group mostra as 8 primeiras linhas de /etc/group.
sort

Organiza os dados de acordo com a necessidade dos usurios.


De acordo com a 1 coluna.
$ sort [opes] arq1
$ sort [opes] arq1 > arq_sorted (redireciona sada)
-f ignora o caso;
-n numericamente;
-r ordem reversa.
split

Divide um arquivo em varias partes e uma sucesso de arquivos com


final: aa, ab, ac, etc.
$ split [opes] arq_entrada arq_saidaX
--lines=n ou -l=n (n linhas por arquivo)
--bytes=n ou -b=n (n bytes por arquivo)
Ex: $ split -b 120 arq.conf arq[Divide o arq.conf em vrias partes com 120 bytes cada, c/ os nomes arq-aa, arq-ab,
etc]
$ cat arq-aa arq-ab ... > arq.conf ou $ cat arq-* > arq.conf
[Para unir os arquivos novamente]
$ split -4 lista_arq gl glaa, glab, glac, etc.
wc

Exibe contagem de caracteres, palavras e linhas em arquivos.


$ wc [opes] [arquivos]
-c caracteres;
-l linhas;
-w palavras.
-L ou --max-line-lenght imprime o maior tamanho de linha.
$ wc l /etc/group n de grupos no sistema.
diff

Mostra a diferena entre dois arquivos


$ diff arq1 arq2
uniq

Escreve em stdout uma entrada, eliminando linhas duplicadas


adjacentes. Para eliminar linhas duplicadas no-adjacentes, primeiro organize com
sort.
26

$ uniq [opes] [entrada[sada]]


$ uniq arquivo elimina todas as repeties.
$ uniq -d arquivo traz as linhas que se repetem.
$ uniq -u arquivo traz as linhas que no se repetem.
paste

Funde arquivos linha-a-linha, separando-as por um tab.


$ paste arq1 arq2
pr

Converte arquivos de texto para impresso.


$ ls /usr/bin | pr -T9 -W$COLUMS > listagempr; lpr listagem
lpr imprime fisicamente T9= nove colunas
sed

Programa de filtragem usado para automatizar tarefas de edio


repetitivas de textos.
$ sed [opes] comando [arquivos]
$ sed [opes] -f script [arquivos] pe todas os comandos de sed dentro do script.
-e <comando> especifica que o argumento seguinte um comando do sed,
opcional se apenas um comando for utilizado;
-f <arquivo> o arquivo um script do sed;
-g trata todas as substituies como globais;
-i editar o prprio arquivo;
Comandos do sed:
d apaga linhas;
s realiza substituies; tem sua sintaxe;
s/padro/substituio/flags
Flags usadas com o comando s:
g substitui todas as instncias do padro;
n substitui a ensima instancia do padro;
y traduz caracteres.
w <arquivo> salva no arquivo as linhas modificadas.
Exemplos:
$ sed 1,2d passwd faz a deleo como demonstrao (sem -i), da 1 e 2 linha.
$ sed -i 1,2d passwd faz a deleo direto no arquivo, da 1 e 2 linha;
$ sed -i y/x/z/ passwd troca x por z
$ sed -i /^#/d passwd exclui linhas que iniciam c/ #
$ sed -i /^$/d passwd exclui linhas em branco
$ sed -i s/^$/BRANCO/ passwd substitui linhas em branco pela palavra branco
$ sed -i s/fabio/ana/g passwd substitui fabio por ana globalmente.
$ sed s/Unix/Linux/g essay.txt > essay2.txt troca globalmente Unix por Linux no
segundo arquivo.
$ sed 0,/parttime/s/parttime/promotion/ team a primeira ocorrncia de parttime
ser substituda por promotion no arquivo team.
$ sed s/<[^>]*>// team remove as ocorrncias de <html> e <body> por exemplo,
sem remover <>, se existente.
file

Usado para ler os primeiros 6 bytes dos arquivos e identificar qual o tipo
de arquivo.
$ file arquivo
Ex:
$ file face.png
27

face.png: PNG image data, 96 x 96, 8-bit/color RGB, non-interlaced


tar

Empacotamento de arquivos.
$ tar [parmetros] [nome_arquivo.tar] [arquivo_alvo(s)]
-c cria novo;
-t ou --list exibe o contedo;
-p mantem as permisses originais;
-r adiciona arquivos a um tar existente;
-v verbose;
-x extrai arquivos do tar;
-z comprime (com gzip);
-j comprime (bzip2);
-C especifica o diretrio dos arquivos a serem armazenados.
$ tar -cf fichrio.tar pg1.txt pg2.txt comprime 2 arquivos.
$ tar -rf fichrio,tar pg3.txt acrescenta mais um arquivo.
$ tar -f fichrio.tar -delete pg3.txt exclui um arquivo.
$ tar -cvf carros.tar pasta_carros empacota um diretrio.
Tar comprimido com bzip2 (vlidos) .tbz2, .tbz e .tar.bz2 .
gunzip

Descomprime um arquivo comprimido pelo gzip ou compress.


$ gunzip arquivo.tar.gz = $ gzip -d
mv

Move arquivo ou diretrio para destino especificado.


$ mv [opes] origem destino
-i consulta o usurio
Tambm pode servir para alterar o nome de um arquivo.
mkdir

Cria um ou mais diretrios.


$ mkdir [opes] nome
-p cria subdiretrios recursivamente.
$ mkdir -p carros/italia/Ferrari cria subdiretrios.
$ mkdir aprila honda Kawasaki cria mltiplos diretrios.
rmdir

Remove diretrios
$ rm -r motos remove diretrio com contedo.
NUNCA executar: # rm Rf /
cp

Copia um arquivo ou diretrio para outro local.


$ cp [opes] origem destino
-i interativo;
-r recursivo;
-p preserva informaes;
-u copia se o arquivo enviado for mais atual do que o que l estava.
cpio

Realiza 3 operaes/modos: archives, extrair archives e copiar arquivos


de um local para outro. SEM compactao.
-o sada de cpia (criar);
-i entrada de cpia (extrair);
-p passagem de cpia (copiar);
28

-v verbose;
-d cria diretrios quando necessrio;
-m retm hora de modificao dos arquivos;
-H <formato> bin, tar, odc, outros
-t lista o contedo.
dd

Converter e copiar arquivos.


$ dd [entrada] [sada] [bloco] [opes]
Tamanho padro de um bloco no Unix : 512 bytes.
if=<arquivo> le a partir do arquivo de entrada padro;
of=<arquivo> sada para o arquivo, em vez de sada padro;
ibs=<n> l n bytes por vez;
obs=<n> grava n bytes por vez;
bs=<n> sada e entrada em n bytes;
conv=<lista> realiza as converses definidas em lista;
noerrors no para o processamento se ocorrerem erros;
notrunc no truncar o arquivo de sada;
sync padding em blocos parciais de entrada com nulos (insere nulos no meio do
fluxo de dados se qualquer leitura no receber um bloco completo de dados
especificado pela flag ibs).
Criando uma imagem isso de um cd ou dvd:
$ dd if=/dev/sr0 of=/sdb1/imagem.iso bs=2048 conv=noerror,sync
Clonar uma partio para outra (ver com df -h):
$ dd if=/dev/sdb1 of=/dev/sdc1 bs=4096 conv=noerror
Backup do MBR, incluindo tabela de partio (dica, para MBR somente):
$ dd if=/dev/sda of=/dev/sdc1/MBR.img bs=512 count=1
Clonar um disco (excluir partio para clonar, desmontar e remontar):
$ dd if=/dev/sdb of=/dev/sdc bs=1M conv=noerror
Criando uma unidade swap:
# dd if=/dev/zero of=/root/swap.swp bs=1024 count=800k
[Criando assim uma unidade de swap de 800MB]
# mkswap /root/swap.swp
# swapon /root/swap.swp
Acrescentar no fstab para que seja montado toda vez durante o boot.
Dica:
# swapoff -a desmonta todas as unidades de swap indicadas no fstab.
# swapon -a simula o reboot. Monta todas as unidades de swap no fstab.
tee

Envia a sada padro do comando para um arquivo e para tela tambm.


$ tee [opes] arquivos
-a anexa os dados ao arquivo sem sobrescrever.
top

Fornece uma viso em tempo real do sistema em execuo.


$ top [opes]-d <atraso> fresh screen em segundos (xx.y);
-i ignora processos ociosos;
-n <num> exibe <num> iteraes e depois termina;
-b roda em modo batch. til para mandar a sada para um programa/arquivo.
Opes interativas:
h gera uma tela de ajuda;
29

k termina um processo;
q sai do programa;
r modifica a prioridade de um processo (renice), informe PID e valor nice (valores
positivos tem menor prioridade);
W salva a configurao corrente como padro;
s fresh screen em segundos.
m mostra ou no o uso de memria.
P mostra por uso de CPU;
M mostra por uso de memria.
E extenso da memria, altera a forma como a memria mostrada (KB, MB)
Top: Fornece Uptime, Uso de CPU e Tempo do Sistema.
$ top -p 115,225 mostra os processos selecionados.
uptime

Mostra o tempo atual, h quanto tempo o sistema est operante,


quantos usurios esto logados e as mdias de carga do sistema nos ltimos, 1, 5 e
15 minutos.
vmstat

Reporta infos sobre: processos, memoria, paginao, blocos de I/O,.


traps e atividade de CPU
$ vmstat [opes]
-S M usa a unidade MB em vez do padro KB;
-a mostra memoria ativa e inativa;
-d mostra estatsticas dos discos;
-p <partio> mostra info de R/W na partio escolhida;
-s mostra estatsticas em formato de tabela;
free

Exibe a quantidade de memoria livre e usada no sistema


$ free [opes]
-b mostra o uso de memoria em bytes;
-k em KB;
-m em MB;
-t exibe uma linha que mostra os totais;
-s <n> operao contnua em intervalos de <n> segundo.
Estados de um processo:
Executvel;
Dormente (aguardando alguma rotina para ser executado);
Parado (congelado, e por algum motivo no pode ser executado);
Morto (finalizado);
Zumbi (no est mais em execuo mas por algum motivo ainda existe).
Processos, sinais e comando kill
-SIGHUP 1 Termina ou reinicia o processo.
-SIGINT

2 Interromper (Ctrl + C)

-SIGQUIT

3 Fecha o processo.
30

-SIGKILL

9 Terminar imediatamente por fora

-SIGTERM

15 Solicita ao processo para finalizar

TSTP

20 Parar/pausar (Ctrl + Z)

CONT

18 Continuar a execuo de um processo pausado


$ kill -s <n> <PID> aplica o sinal escolhido.
$ kill -<sinal> <PID> encerra o processo (o mesmo que o acima).
$ kill -l <sinal> retorna o nome do sinal.
killall

Termina processos associados com o programa fornecido.


$ killall [opo] <nome_programa>
-i interativo
-I ignora caso
# killall /usr/bin/smbd para todas as instancias do smbd
a nica forma de matar um processo pelo nome.
ps

$ ps programas rodando no terminal, no momento.


$ ps -e lista todos os processos do sistema (sintaxe padro).
$ ps aux lista todos os processos do sistema (sintaxe BSD).
$ ps -ef lista todos os processos em execuo.
$ ps -l informa a prioridade.
$ ps --forest mostra a arvore entre processos pais e filhos.
$ ps -U <nome_do_usuario> lista os processos do usurio especificado.
Uma forma de encontrar o PID de um processo corrente:
$ ps -A | grep mysql
Parando esse processo:
$ sudo kill -STOP PID
bg e fg

bg traz a tarefa atual para background (desvinculado do terminal).


fg traz a tarefa para foreground (vinculada ao terminal).
$ vim test & iniciando um programa em background.
$ fg (ou bg) traz a tarefa atual, ou padro (com o +).
$ fg (ou bg) <n_do_job> traz de acordo com o numero fornecido.
Ctrl+Z e depois usar bg.
[1] Stopped (tty output) pine
[2] + Stopped (tty output) Myscript
$ fg %2 traz Myscript para primeiro plano.
jobs

Lista o status dos Jobs e seus respectivos nmeros.


-l lista os Jobs com o PID.
%1 & e bg %1 move o job 1 para background;
nice

Ajusta a intensidade de uso de CPU para um processo.


Padro 0.
31

N nice: (maior prioridade) -20 +19 (menor prioridade)


$ nice -n <ajuste> <comando>
Usurios normais s ajustam de 1 a 19. Numero negativos s o root.
Sem indicar o nvel o sistema usar a opo -10.
Ex: $ inkscape (Ctrl + Z) bg <enter>
$ nice -n 12 inkscape &
renice

.
# renice <n_nice> [opes] alvo
-u interpreta alvos c/ nome de usurios;
-p alvo so PIDs (padro);
-g troca a prioridade dos processos de um grupo especfico;
# renice 15 6863
grep

Aplicativo que faz buscas no contedo de arquivos por strings


especificadas por uma expresso regular.
$ grep [opes] regex [arquivos] ou $ comando | grep [opes] regex
-c exibe uma contagem das linhas encontradas;
-i ignora o case sensitive;
-n exibe linhas encontradas com n das linhas;
-v exibe as linhas que NO correspondam ao regex;
-r busca recursiva;
-E interpreta a regex como uma expresso regular estendida (equivale ao egrep);
--color mostra a sada colorida;
-f usa a expresso contida no arquivo indicado por essa opo;
$ grep a[aeio] /etc/passwd retorna: ai, ae e ao.
$ grep -E (root|fabio) /etc/group retorna nomes, estendida logo precisa do -E.
$ ls -l /etc | grep log
$ grep l ^Tue /usr/local/* procura por linhas que comecem por Tue
$ grep hello$ <arquivo> procura por linhas que terminam com hello
$ grep [h] <arquivo> retorna todas as palavras que tenham a letra h.
$ grep [hpokhj] <arquivo> retorna qualquer linha que possua pelo menos uma
dessas letras.
$ grep ^[hpokhj] <arquivo> procura por linhas que iniciem com qualquer uma dessas
letras dentro dos colchetes.
$ grep -f grepinput testf compara o contedo do arquivo grepinput com o de testf.
$ grep lr cron /etc busca por cron, recursivamente, no nome do arquivo e no
contedo dos arquivos em /etc.
^ comeo de linha.
$ fim de linha.
. qualquer caractere.
* qualquer sequencia de zero ou mais caracteres.
[] qualquer caractere que esteja presente nos colchetes.
egrep

Aceita expresso regular extendida (mesmo que grep -E).


$ egrep [opes] padro arquivos
$ egrep inveo|invenes | o operador OU. O | s funciona no egrep.
fgrep

Interpreta padro como uma expresso regular sem metacaracteres.


32

$ fgrep [opes] padro arquivos


pgrep

Informa o PID de um programa atravs de seu nome.


$ pgrep <nome_do_programa>
xargs

Executa o comando e passa como argumento para esse comando o que


foi recebido como entrada padro. Ele vai executar inmeras vezes o comando de
acordo com o nmero de linhas recebidas como entrada padro.
$ xargs comando [opes] argumento inicial
-p pergunte ao usurio se o comando deve ser executado antes de faze-lo;
-r no execute o comando quando receber linhas vazias;
-t mostre o comando na tela antes de executa-lo.
usado quando a sada de um comando o parmetro de linha de comando para
outro.
Sistemas de arquivos
Superblock Descreve conceitos bsicos sobre o sistema de arquivos, como
Tamanho, status, tipo de sistemas de arquivos e estruturas de metadados. Os
comandos debugfs e dumpe2fs provm alguma informao sobre. O Linux mantm
copias de superblocos em cada sistema de arquivos.
Metadados

Informaes estruturais do sistema de arquivos como: diretrios,


superblocos, e inodes. O blocos de um disco so usados para armazenar dados de
usurios e metadados do filesystem.
inodes

Cada objeto no sistema de arquivos representado por um inode.


O inode identifica um arquivo ou diretrio e seus atributos, como:
Permisses e ACLs;
Tamanho;
Proprietrio e grupo;
Tipo, hora de acesso e modificao, etc.
Cada inode identificado por um n nico no sistema de arquivos. Para consultar esse
n: $ ls -i <arquivo> ou $ stat <arquivo> .
Sem inodes disponveis: nenhum comando seria possvel no sistema de arquivo at
que os arquivos existentes fossem apagados.
df

Exibe informaes gerais sobre a utilizao de disco em sistemas de


arquivos montados.
-h resultados em formato legvel.
-i infos sobre inodes restantes;
. diretrio atual
Use $ ls -al sd* em /dev. O ls listara todos os sds usados no sistema.
Informaes extras sobre id, uuid e path dos discos no sistema:
Acesse: $ cd /dev/disk
Obs: caso encontre um dispositivo dm-0 ou semelhante est sendo utilizado o recurso
LVM no sistema.
Df e mount l dizem que parties esto montadas no sistema.
33

O uso padro do df reporta % do disco utilizado, o ponto de montagem para cada


sistema de arquivo. O n de inodes e o tipo de fs pode ser passado com opes.
$ df -i /dev/sda2 checa o n de inodes livres em /dev/sda2
du

(Disk Usage) - Exibe informaes sobre o uso do disco para diretrios.


$ du [opes]
-a mostra todos os arquivos;
-c mostra total geral dos itens listados;
-h formato legvel;
-s exibe o total de um diretrio.
locate

Permite encontrar arquivos por seus nomes. Busca em um ndice.


Atualizado diariamente, o que torna essa busca mais rpida.
$ locate <nome>
-i permite ignorar o caso;
-c imprime o numero de arquivos encontrados.
$ slocate -u faz o update da base de dados (index).
Slocate guarda permisses de arquivo e ownership, locate no.
Slocate no mostra resultados para usurios que no tem permisso.
updatedb

Atualiza o ndice do locate.

whereis

Retorna o caminho de um programa executvel, suas fontes e


pginas de manual.
$ whereis <programa>
-b somente arquivos binrios;
-m somente pginas de manual;
-s arquivos de cdigo fonte.
which

Informa a localizao de um comando e exibe o caminho at seu


executvel.
$ which <programa>
Nesse caso ele exibe a primeira opo/caminho somente.
Layout de parties:
Tipo Desktop / Dev machine
HDD 100GB / 8GB RAM
1. /boot
2gb (2%)
2. /home
30gb (30%)
3. /opt
20gb (20%)
4. /var
10gb (10%)
5. /
30gb (30%)
6. Swap
8gb (8%)
Tipo Server / Database server
HDD 100GB / 32GB RAM
1. /boot
2gb (2%)
2. /home
10gb (10%)
3. /opt
10gb (10%)
4. /var
40gb (40%)
5. /
30gb (30%)
34

6. Swap

8gb

(8%)

Ordem:
Todas ext4
/boot sda1 (primrio)
Swap sda5 (logico)
/home sda6 (logico)
/opt sda7 (logico)
/var sda8 (logico)
/ sda9 (logico)
Ext2

Setor: 512 bytes;


Journaling: No;
Tamanho: 1024, 2048 ou 4096 bytes;
Partio: 2 TiB a 32 TiB (tamanho mx.);
Arquivo: 16 GB a 2 TB (mx.).
Um sistema de arquivos ext2 pode ser convertido para ext3 sem perda de dados, com
o comando tune2fs -j /dev/hdx
Ext3

Ext4

Journaling: Sim, Journal, Ordered ou writeback;


Partio: 2 TiB a 32 TiB (tamanho mx.);
Arquivo: 16 GB a 2 TB (mx.).

Journaling: Sim, melhorado;


Volume: 1 EiB (mx.);
Arquivo: 16 GB a 16 TB (mx.).

XFS

Journaling: Sim,
Volume: 8 Exbibyte (x64) e 16 TiB (x86);
Setor: 512 bytes e 64 bytes;
Projetado para resistir a alta fragmentao;
Suporte nativo a RAID;
Utilitario de bkp e recuperao: xfsdump e xfsrestore;
Criado para sistemas de storage dedicados;
Utilitario de reorganizar parties: xfs_fsr.
xfsdump
xfs_check -v /dev/<fs> checa a consistncia do sistemas de arquivos (com modo
verbose);

Reiserfs v3

Journaling: Sim;
Volume: 16 TiB (mx.);
Arquivo: 1 EiB (x64) e 8 TiB (x86);
35

Indicado para lidar com arquivos pequenos (bloco menores que 4 KB);

/etc/fstab

Opes de montagem:
/dev/sda2
/
reiserfs
defaults
1
1
auto habilita na carga do sistema. Recomendado quando no se sabe o fs;
noauto desabilita na carga;
ro monta como somente leitura;
rw monta para leitura e gravao;
exec habilita a execuo de arquivos;
noexec desabilita a execuo;
user permite que qualquer usurio monte o dispositivo;
mas probe outros usurios de desmonta-lo;
users possibilita mount e unmount por qualquer usurio;
nouser somente superuser pode mount e unmount;
sync habilita a transferncia de dados sncrona;
async habilita a assncrona;
dev dispositivo especial de caracteres;
suid habilita que os executveis tenham bits do suid e sgid e execute como
superuser;
defaults habilita: rw, suid, exec, auto, nouser e async.
Os dois ltimos campos so: frequncia de bkp e checagem de disco.
dump: 1 (sim) e 0 (no). Se voc nunca usou o dump pra backup essa opo intil.
fsck: 0 (no ser checado), 1 (checado primeiro raiz) e 2 (checar depois do raiz).
Reiserfs 0.
/dev/cdrom /mnt/cdrom iso9660 noauto,user,ro 0 0 permisso usurio montar e l
CD.
Voc acrescenta o grpquota e usrquota na opo mount do /etc/fstab para habilitar
a opo cota para grupos e usurios, respectivamente, para determinado ponto de
montagem.
mount

Utilizado para montar um dispositivo na hierarquia do sistema.


$ mount [opes] <dispositivo> <diretrio>
-a monta todos os dispositivos listados no /etc/fstab s/ a opo noauto;
-r monta como somente leitura;
-w monta como leitura e gravao;
-o especifica as opes de montagem;
-t <tipo> especifica o sistema de arquivo (ext2);
$ mount - vfat /dev/fd0 /floppy
$ mount -t ext3 /dev/sdb1 /disco2
$ mount -t iso9660 /dev/cdrom /mnt/cdrom
umount

Utilizado para desmontar dispositivos montados pelo comando


mount. Sincroniza o contedo do disco com o contedo dos buffers (memria prpria
para transferncia de dados) e libera o diretrio de montagem.
-a desmonta todos listados em /etc/mtab (mantido mount, contm todos os pontos
de montagem);
-t <tipo> desmonta todos os com o sistema de arquivo especificado.
36

fdisk

Utilitrio para criar, listar, alterar e apagar parties de disco.


# fdisk [dispositivo] <enter> ( essencialmente interativo.)
a marca ou desmarca uma partio como ativa/bootvel;
d apaga uma partio. Logo em seguida voc deve escolher o n da partio alvo;
l lista os tipos de parties possveis;
m mostra uma pequena ajuda;
n adiciona uma nova partio no disco;
p mostra a tabela de partio que existe na memria. Para efetiva-las preciso
gravar no disco;
r muda o tipo de partio;
w grava as alteraes efetuadas em disco;
q sair.
mkfs

utilizado para construir um sistema de arquivo criada pelo fdisk com o


sistema de arquivos.
# mkfs -t <tipo> [opes] <dispositivo>
-t especifica o tipo do arquivo de sistema que ser empregado.
-c verifica a existncia de bad blocks;
-L <nome> configura o nome do dispositivo;
-n <nome> configura o nome do dispositivo para o formato msdos;
-q quiet;
-v verbose.
-m <%> especifica quantos % de espao em disco ficara disponvel de forma oculta
quando o restante do disco encher pra ser utilizado de reserva.
# mkfs -t ext2 -L discoprincipal /dev/hda4
# mkfs.ext4 /dev/sdb4
# mkfs -t ext2 -j /dev/hdb1
mkswap

Prepara o dispositivo para ser usado como memria virtual. Antes de


formatar necessrio transforma-la para o tipo 82.
# mkswap /dev/hda6
mkswap e fdisk podem criar uma partio swap.
fsck

Verifica a consistncia dos sistemas de arquivos, podendo repara-los


tambm.
$ fsck [opes] [-t tipo] [fs-opes] sistema_arquivos
Obs: o fsck no roda em sistemas montados. Sempre fazer bkp antes de utiliza-lo.
Verifica as inconsistncias:
Blocos ou frags alocados por mltiplos arquivos;
i-nodes contendo ns de blocos ou frags que se sobrepe ou esto fora de faixa;
blocos ou fragmentos alocados ilegalmente;
i-nodes contendo ns de blocos ou frags que so marcados como livres no
mapa de disco; ou corrompidos;
verificao de tamanho:
o numero incorreto de blocos;
o tamanhos de diretrios no mltiplos de 512 bytes.
Verificao de diretrios:
o N de i-node fora da faixa;
o Link ponto(.) ausente ou no apontando para si prprio;
37

o Ponto ponto(..) ausente ou no apontando para diretrio pai;


o Arquivos no referenciados ou diretrio que no se alcanam.
Mapa de disco inconsistente;
Mapa de inode inconsistente.
-A roda verificao em todos fs listados em /etc/fstab (no boot);
-t <tipo> especifica um tipo de fs a ser verificado;
-c verifica se h badblocks;
-f fora uma verificao mesmo que o fs parea estar ok;
-y responde yes a todos os prompts interativos (tenta faze-lo de forma automtica)
- b superbloco usa uma copia alternativa do superbloco; geralmente b 8193 para
restaurar um superbloco danificado;
um front-end que chama a ferramenta apropriada para o sistema verificar,
dependendo obviamente do sistema de arquivos empregado.
$ fsck -ext2 NO FUNCIONA.
e2fsck

Checar o sistema de arquivos ext2, ext3 e ext4. No apropriado


executado em dispositivos montados.
# e2fsck [opes] dispositivo
-p repara automaticamente;
-b <superbloco> usa um superbloco pontual para tentar corrigir o problema;
-c faz busca de badblocks, se encontrados os inodes defeituosos vo para blacklist;
-d imprime sada de debug (til se estiver debugando o e2fsck);
-D otimizao de diretrios;
-y sim para todas opes.
mke2fs

Pra ext2 e ext3 esse comando frequentemente usado, em vez do


mkfs. O mkfs.ext2 faz o mesmo servio.
-j cria ext3 (ext2 + journaling).
debugfs

Ferramenta interativa, possui a capacidade do dumpe2fs e tune2fs e


mais outras em um nico lugar.
# debugfs /dev/sda11
dumpe2fs

Mostra informaes do de grupo de blocos e superbloco (uma rea


especial do fs que contm infos importantes, como: tipo do fs, tamanho, status,
metadados) [sistema ext somente].
# dumpe2fs [opes] dispositivo
-b pinta os locais com badblock;
-h mostra somente info sobre superblock;
-x printa as infos em hexadeciaml.
# dumpe2fs h /dev/sda2 | more muitas informaes, principalmente sobre inode e
sobre o filesystem.
tune2fs

Ajusta diversos parmetros de fino ajuste no fs ext2 e ext3.


# tune2fs [opes] dispositivo
-c configura o numero de vezes que o fs pode ser montado antes do e2fsck rodar;
Montando quota
Modifique as opes no /etc/fstab
Crie os arquivos quota.group e quota.user na raiz. Modifque eles pra chmod 600
38

Remove a partio raiz pra ativar as mudanas no fstab: $ sudo mount o remount /
$sudo quotacheck -avugm (ler o fstab). Ele gravar informaes no quota.* listado
acima.
Use # edquota <usurio> para determinar as limitaes de uso de disco dele.
Gerando relatrio com # repquota /. / pois foi a unidade escolhida no fstab.
Adicionando o quotacheck no crontab vim /etc/cron.daily/quotacheck
Contedo: quotacheck -avugm
quota

Limite Hard: no pode ser excedido (FICA IMPOSSIBILITADO DE GRAVAR);


Limite Soft: ao excede-lo o usurio avisado, mas consegue gravar;
Grace: ainda possvel gravar dados;
Editar /etc/fstab: acrescentar (usrquota,gpquota);
Criao do arquivo: quota.user e quota.group no /home (chmod 600 neles);
# quotacheck -avug
Habilitar: #quotaon -a
# quota [opes] usurio/grupo mostra as quotas de espao em disco
-u mostra a quota definida para um determinado usurio (padro);
-g para o grupo;
-q quota excedida;
-v mostra as quotas mesmo que nenhum esteja definida.
quotaon

Habilita o gerenciamento de quotas em um dispositivo previamente


qualificado.
# quotaon [opes] [dispositivos]
-a habilita o gerenciamento de quotas para todos os dispositivos configurados pra
controle de quotas no arquivo /etc/fstab ;
-g habilita o gerenciamento de quotas para grupos em um determinado dispositivo;
-u gerenciamento parra usurios em determinado dispositivo;
-v mostra todos os dispositivos onde o gerenciamento de quotas foi habilitado.
quotaoff

Este comando desabilita o gerenciamento de quotas em


determinados dispositivos.
# quotaoff -gu /dev/hda6
quotacheck

Faz uma varredura em um determinado dispositivo e constri os


arquivos de base de dados de quotas. importante que este comando seja executado
com certa regularidade para que o banco de quotas esteja fiel realidade do sistema
de arquivos.
# quotacheck [opes] [dist]
-v mostra todos os procedimentos executados pelo quotacheck;
-a faz a varredura de todos os distribuies e atualiza o bd para usurios e grupos;
-g [grupo] constri o bd para um determinado grupo;
-u [usurio] para o usurio.
edquota

Edita quotas para usurio e grupos. Utilizar o vi.


# edquota [opes] usurio/grupo
-g se a opo -g for especificada, o edquotas dever receber como parmetro o
nome do grupo;
39

-u esta a opo padro para editar os quotas de usurio;


-p [usurio parmetro] usurio base de exemplo;
-t configura o perodo de graa para usurios ou grupo. Deve ser combinado com
o -u ou -g.
# edquota -p bob mary fred utiliza o perfil do bob como template para os outros.
repquota

Cria relatrio de utilizao. Sumariza a informao de quota sobre o


sistema de arquivo (-a mostra opo de todos).
# repquota [opes] dispositivo
-a cria relatrio de todos os dispositivos configurado;
-s reporta a quota no formato humano.
-u cria relatrio por usurios (padro);
-g reporta utilizao de quotas para grupo;
-v cria cabealho descritivo para relatrio.
Usados para visualizar o uso da cota de um grupo:
$ quota -g vendas ou $ repquota -ga | grep vendas
chmod Altera permisses de acesso.
# chmod [permisses] [arquivo ou diretrio]
-v reporta as permisses;
-c reporta somente as mudanas;
-R muda a permisso de forma recursiva;
# chmod g+s /home/softw o bit SGID habilitado
Executando o chmod em mltiplos arquivos:
# find /home -perm 777 -exec chmod 555 {} \;
umask

Ajusta a permisso padro aplicada sempre quando um diretrio ou


arquivo criada. O padro 022 (0022).
Alterao permanente: /etc/profile ou /etc/login.defs
Alterao usurio: ~/.bashrc
022 baixo 755
026 mdio 751
027 mdio 750
077 alto 700
Valor mximo: para arquivo (666) para diretrio (777).
O ~/.bashrc lido quando um shell bash no-login rodado.
chgrp

Alterar o grupo de um arquivo ou diretrio.


# chgrp [novo_grupo] [nome_arquivo]
Chown :Mary <arquivo> = chgrp Mary <arquivo>
chown

Alterar o proprietrio de um arquivo ou diretorio.


# chown [novo_proprietario] [nome_arquivo]
chattr

Mudana de atributos
+i <nome_arquivo> altera pra imutvel (somente root) o atributo do arquivo. Nem o
Root pode alterar o arquivo.
+a <nome> append (s anexa). No pode alterar o que j estava, s acrescentar
-R recursivamente;
40

-V verbose;
-v version;
Hardlink

Duas entradas de diretrio que apontam para o mesmo arquivo


(inode). Para excluir o arquivo, deve-se primeiro excluir ambos os hard links.
S podem existir no mesmo nvel de sistema de arquivos (e no em mltiplas
parties) devido ao reuso de inodes.
Softlink

Arquivo reparado cujo contedo aponta para o arquivo vinculado


(de origem). Pode apontar atravs de sistemas de arquivos diferentes. So mais
comuns que os hardlinks.
O comando ls -l mostra o arquivo vinculado.
Se o arquivo de origem for movido ou renomeado o link simblico ser quabrado.
ln

Criar links.
# ln [opes] <origem> <link>
-f remove links existentes (forando);
-i remove tambm, mas pergunta antes;
-d tentar criar hard links para diretrios;
-s criar um link simblico;
O comando ln cria hardlinks por padro.
$ ln -il para checar os inodes.
l rwxrwxrwx 1 root 4 Aug 16 14:20 awk -> gawk awk um link para gawk
$ ln is <alvo> <nome_do_link> substitui um link pr-existente de forma interativa.
$ ls l texto_simples
-rw-r--r-- 2 rodrigo users 29 2003-01-01 00:10 texto_simples
O n 2 na segunda coluna de informaes demonstra que h dois hardlinks para o
inode correspondente ao arquivo texto_simples. Um arquivo s de fato apagado do
sistema de arquivos quando o ultimo hardlink remanescente excludo.
type

Mostra como o comando interpretado.


$ type [comando]
$ type cat cat is hashed (/usr/bin/cat).
find

Localiza a partir de um caminho ou diretorio recursivamente uma


expresso diretamente no sistema de arquivos.
$ find diretorio critrio [-exec comando {} \;]
$ find / -name bash
$ find / -iname rodrigo desconsidera o caso;
-iname busca desconsiderando o caso;
-type limita: d para apenas diretrios; f arquivos e / para link;
-lname busca de link simblico;
-ctime 30 busca arquivos alterados nos ltimos 30 dias;
-used 10 busca arquivos acessados nos ltimos 10 dias;
-size 30K busca arquivos com pelo menos 30K.
-maxdepth 1 busca por arquivos em no mximo um subdiretrio filho abaixo do
que se est buscando.
$ find / -name *.html | xargs ls -al
41

# find /home -perm /g=s ou # find /home -perm -2000


# find /home/roberto -perm u=s ou # find /home/roberto -perm -4000
Locate mais rapido que find.
Find uma ferramenta mais robusta que o locate.
$ fc -l find repete o find rodado anteriormente.
$ find / -name smb.conf e $ updatedb;locate smb.conf Localizando o arquivo
smb.conf.
# find / -name ff --exec /bin/rm {} \; remove todos os arquivos ff encontrados no
Sistema.
.

42

Você também pode gostar