Lista bem completa de comandos Linux
INDICE
01 COMANDOS DE MANIPULAO DE ARQUIVOS E DIRETRIOS
02 COMANDOS INFORMATIVOS
03 COMANDOS DE INICIALIZACAO E ENCERRAMENTO DO LINUX
04 COMANDOS DE CONTROLE DE ACESSO E USUARIOS/GRUPOS
05 COMANDOS DE PROCESSOS DO LINUX
06 COMANDOS DE CONFIGURACAO DO LINUX
07 COMANDOS DE IMPRESSAO
08 COMANDOS DE REDE
09 EDITORES DE TEXTO
10 CAMINHOS DE ARQUIVOS IMPORTANTES NO LINUX
11 AGRADECIMENTOS
12 COMANDOS PARA MODULOS (DRIVERS)
13 COMANDOS DE REDIRECIONAMENTO E PIPE
14 TECLAS DE ATALHO DO KDE 3.X
15 METACARACTERES
16 COMANDOS PARA GRAVAO DE CDS
17 COMANDOS DA DISTRIBUIO DEBIAN
1 COMANDOS DE MANIPULAO DE ARQUIVOS E DIRETRIOS
1.1 comando ls = lista arquivos e o contedo de diretrios
Exibe apenas diretrios
ls -l | grep ^d
ou
ls -d */
Exibe apenas diretrios sem exibir seus respectivos tamanhos
ls -l | grep ^d | awk {print $8}
Exibe arquivos ocultos, ou seja, iniciados com .
ls -a
Exibe arquivos ocultos, exceto o . e ..
ls -A
Para listar arquivos e diretrios como o comando dir /p:
ls | less
* ou *
ls | most
Exibe os arquivos em colunas, ordenados verticalmente
ls -C
Exibe somente diretrios:
ls -l | grep ^d
ou
ls -la | grep ^d
Exibe os arquivos em seus tamanhos em KB, MB e GB
ls -h
Exibe primeiramente os arquivos criados/alterados recentemente
ls -t
Exibe informaes referentes a arquivos e diretorios em colunas
ls -l
Exibe apenas arquivos executveis, ou seja, marcados por um asterisco
no final do seu nome
ls -F
Exibe arquivos de acordo com o tempo do ultimo acesso ao inves
do tempo de modificacao do mesmo
ls -u
Exibe os arquivos na ordem inversa (de z para a)
ls -r
Exibe um diretorio e seus respectivos subdiretorios
ls -R
Exibe o conteudo do diretorio pelo tamanho do arquivo, no lugar
de ordem alfabetica, com os maiores arquivos sendo exibidos primeiro
ls -S
Exibe o nmero do inode de cada arquivo/diretorio
ls -i
Exibe os arquivos horizontalmente cada um separado por virgula
ls -m
Exibe o UID e o GID ao inves do nome/grupo do arquivo
ls -nl
Exibe arquivos/diretorios nao exibindo o grupo, apenas o dono
ls -o
Exibe os arquivos em colunas, ordenados horizontalmente
ls -x
Exibe e ordena o conteudo do diretorio alfabeticamente pela extensao
(caracteres depois do ultimo .) do arquivo. Arquivos sem extensao so
ordenados primeiramente
ls -X
Exibe o nome de cada diretorio com / e cada nome de arquivos executaveis
com * em seu final
ls -F
Exibe o status do tempo de alterao ao invs do tempo de modificao para
ordenar (com -t) ou listar (com -l)
ls -c
Exibe todos os arquivos com a inicial minuscula contidos dentro da faixa
entre os caracteres a e d
ls [a-d]*
Exibe os arquivos com a inicial entre P e Q, e depois outra entre 1 e 3
ls [P-Q1-3]*
Envia o conteudo do comando ls no console atual para o console tty2
ls > /dev/tty2
Exibe uma lista de arquivos/diretorios ordenados pela data de criao
ls -Fltr
Exibe os arquivos ordenados do menor para o maior
ls -la | sort +4 -n
Exibe os arquivos ordenados do maior para o menor
ls -la | sort +4 -nr
Exibe os arquivos com suas propriedades no estilo do S. O. Windows
ls -al full-time
Exibe todos os arquivos com extenso txt
ls -l *.txt
Exibe todos os arquivos txt que contenham a palavra jordam
ls -l *.txt | grep jordam
Exibe um nmero de quantos arquivos existem em um diretrio
ls -A | wc -l
Exibe um nmero de quantos arquivos existem em um diretrio
ls -A -p | sed -e /\//d | wc -l
Exibe um nmero de quantos diretrios existem em um diretrio
ls -A -p | grep / | wc -l
Para listar em um diretrio os arquivos mais velhos
ls -lt | tail -30
Para listar os arquivos maiores
ls -l | sort -n -k 5 | tail -30
Para procurar os diretrios com a maior quantidade de arquivos
du -k . | sort -n -k 1 | tail -30
1.2 comando rm = remove arquivos e diretorios
Remove o arquivo [Link]
rm [Link]
Remove os arquivos [Link], [Link] e [Link]
rm [Link] [Link] [Link]
Pergunta ao usurio se ele deseja realmente remover o arquivo [Link]
rm -i [Link]
Remove os diretorios com seus arquivos e subdiretorios (-r) no exibindo
perguntas de confirmacao de exclusao (-f)
rm -rf /trabalhos/exposicao50
Remove os diretorios com seus arquivos e subdiretorios (-r) no exibindo
perguntas de confirmacao de exclusao (-f) exibindo o nome de cada arquivo
antes de apag-lo (-v)
rm -rfv /trabalhos/exposicao50
Para remover o arquivo [Link] de todos os diretrios home de todos
os usurios cadastrados no sistema
rm -rfv /home/*/[Link]
Para remover todos os arquivos de todos os diretrios home de todos
os usurios cadastrados no sistema que possuam arquivos dentro de seus
respectivos diretrios trash
rm -rf /home/*/trash/*
Para remover o arquivo verify
rm -f verify
* ou *
rm ./verify
O 1 significa que acabou a lista de argumentos, o que vier na frente
nome de arquivo. O 2 faz parte do nome do arquivo.
Para remover o arquivo exclude-from=excluir
rm exclude-from=excluir
* ou *
rm exclude-from=excluir
1.3 comando cp = copia arquivos ou diretorios
Mais utilizado:
cp -aRdiv
ou
cp -a -R -d -i -v
Quando o primeiro diretrio tem vrios diretrios dentro, o cp precisa
saber que voc quer copiar tudo. Para isso adicione a opo -a. E ele
far uma copia recursiva, isto : copiara tudo o que encontrar dentro
do primeiro diretrio para o segundo, e preservara sua estrutura e atributos,
mesmo que -dpr
cp -a diretorio diretorio
Se j existir um arquivo de mesmo nome dentro do diretrio, ele pergunta
se voc quer substitu-lo. Se a resposta pergunta for y, ele o far
cp -i arquivo diretorio
Se j existir um arquivo de mesmo nome dentro do diretrio, ele gravar
em cima dele sem perguntar nada
cp -f arquivo diretorio
Copia o arquivo [Link] para o diretorio citado
cp [Link] /home/edjordam
Copia o arquivo [Link] para o diretorio citado com um novo nome:
[Link]
cp [Link] /home/edjordam/[Link]
Faz uma copia do arquivo1 para o arquivo2
cp [Link] [Link]
Copia o arquivo [Link] checando se existe um arquivo de mesmo nome
no diretorio /home/ederjordam, se estiver esta opo ir fazer uma
pergunta se deseja sobrescrever o arquivo de destino
cp -i [Link] /home/ederjordam
Copia o arquivo [Link] preservando suas propriedades, como o pro-
prietario do arquivo, data de criao, permisses de acesso, ltima
modificacao e ltimo acesso
cp -p [Link] /home/ederjordam
Copia os arquivos/diretrios/sub-diretrios do diretrio textos para o
diretrio atual
cp -R /files/textos/* .
Copia os arquivos, diretrios, sub-diretrios do diretrio textos para
o diretrio /usr/backup
cp -R /files/textos/* /usr/backup
Copia todos os arquivos .txt do diretrio /chicago para o diretrio atual
cp /chicago/*.txt .
Copia o arquivo [Link] mantendo seu link simbolico, ou seja, o vnculo
original do arquivo
cp -d [Link] /home/ederjordam
Copia o arquivo [Link] da maneira mais fiel possivel, o -a a unio
das flags -pdR juntas e o -i apresenta um prompt antes de sobescrever
arquivos de destinos existentes
cp -ai [Link] /home/ederjordam
Copia o arquivo [Link] e cria uma cpia de segurana do arquivo citado.
Repare que existe um arquivo de mesmo nome no diretrio
/home/ederjordam porem com um ~ no final
cp -b [Link] /home/ederjordam
Copia o arquivo [Link] para o diretrio /home/ederjordam e se existir
um arquivo de mesmo nome ser atomaticamente deletado
cp -f [Link] /home/ederjordam
Copia o arquivo [Link] para o diretorio /home/ederjordam e substitui
o arquivo caso tenha a hora de modificao mais antiga do que o arquivo de
origem correspondente
cp -u [Link] /home/ederjordam
Copia o contedo dos 3 arquivos para o arquivo [Link]
cp [Link] [Link] [Link] > [Link]
Acrescenta o contedo do arquivo [Link] no arquivo [Link]
cp [Link] >> [Link]
Copia TODOS os arquivos (inclusive os ocultos) exibindo o resultado final
do comando -v
cp -av teste/* /home/ederjordam
ou
cp -av teste/.??* /home/ederjordam
ou
cp * .[a-zA-Z0-9#~]* /home/ederjordam
Note que se voc tiver arquivos ocultos com menos que trs letras aps o .
no nome estes no sero copiados. Para copi-los, digite seus respectivos
nomes. Isso se deve ao fato da expresso .??* ser usada para eliminar os
diretrios . e ...
Copiar, a partir do diretrio corrente, 100 arquivos que atendam condio
INPUT*:*, ou seja que comecem por INPUT, e que so seguidos por zero ou
mais caracteres. Podemos colocar como origem em um comando cp, mv, ou qualquer
outro semelhante uma expresso regular que me permita selecionar com preciso
quais arquivos eu quero copiar ou mover para um diretrio de destino. As
aspas invertidas sinalizam exatamente isto, que o comando entre aspas
invertidas sero executados e seu resultado ser passado para o comando sendo
executado
cp `ls INPUT* | head -n 100` destino
1.4 comando cat = exibe o contedo de um arquivo
Exibe o conteudo do arquivo [Link]
cat [Link]
Exibe o contedo do arquivo [Link] com suas linhas numeradas
cat -n [Link]
Exibe o contedo do arquifo [Link] apresentando no finaL de cada linha
o caracter $
cat -A [Link]
Enumera os arquivos de um diretrio
cat -n <(ls)
Exibe uma lista apenas com os logins dos usurios cadastrados no sistema
cat /etc/passwd | cut -d : -f 1
ou
cat /etc/passwd | awk -F : {print $1}
Procura o nome Edi Jordam no arquivo [Link]
cat [Link] | grep Edi Jordam
Recebe por email o conteudo do arquivo /etc/services
cat /etc/services | sendmail user@[Link]
Retira o ^M dos arquivos formatados com padro MS Windows (quebra de linha)
cat arquivo | tr -s \r \n > novo_arquivo_sem_m
Onde [Link] o arquivo que voce deseja exibir, com a opo -n ele
numera todas as linhas e o grep N sendo a ensima linha que voc desejar
cat -n [Link] | grep N
Exibi a ensima linha de todos os arquivos de um diretrio
cat -n /caminho/arquivo | grep -e ^[\ ]*NUMERO_LINHA[^0-9]
Copia o conteudo destes 3 arquivos para o arquivo [Link]
cat [Link] [Link] [Link] > [Link]
Acrescenta o contedo do [Link] no arquivo [Link] sem apagar os
dados j nele armazenados
cat [Link] >> [Link]
Remove as trs primeiras linhas do arquivo [Link] e cria o arquivo
options com as modificacoes
cat ~/.gnupg/[Link] | sed 0,3d > ~/.gnupg/options
Envia um em@ail a todos os usuarios do sistema
cat /etc/passwd | cut -d: -f 1 | while read x;
do
echo Desliguem seus computadores no final do expediente! | mail ${x} -s Aviso do
administrador.;
done
Exibe o contedo do primeiro console
cat /dev/vcs1
Exibe o contedo do primeiro console com cores
cat /dev/vcsa1
Exibe a 95 linha do arquivo [Link]
cat -n [Link] | awk $1 == 95 {print $2}
Exibe a 95 linha do arquivo passwd
cat -n passwd | awk $1 == 95 {print $0} | cut -f 2-
Direciona a sada do comando cat para a impressora
cat [Link] > /dev/lp0
ou
cat < [Link] > /dev/lp0
Direciona a sada do comando cat para a impressora numerando suas linhas
cat -n [Link] > /dev/lp0
Exibe o conteudo do cat no monitor envia tambm para a impressora
cat [Link] | tee /dev/lp0
Direciona a saida do comando cat para o programa de spool lpr
cat [Link] | lpr
Exibe todas as mensagens do daemon kernel da estao de trabalho wrk1
eliminando os campos wrk1 e kernel. Os parmetros $1, $2 do comando
awk indica que campos sero listados, (omitimos $4 e $5 que so respecti-
vamente wrk1 e kernel)
cat /var/log/* | grep wrk1 | grep kernel | awk {print $1 $2 $3 $6 $7 $8 $9 $10
$11 $12}
Exibe as 10 linhas restantes depois da 1 ocorrncia da palavra palavra1
que fica sempre no incio de alguma linha
cat [Link] | grep palavra1 -B 10
Exibe todas as linhas exeto as que tenham joao e maria
cat arquivo | grep -v joao | grep -v maria
Converte um arquivo criado no DOS para o Unix
cat file | sed s/^M\{1,\}$// | sed $ s/^Z// > [Link]
Converte um arquivo criado no Unix para o DOS
cat file | sed s/$/^M/ | sed $ s/$/^Z/ > [Link]
Exibe a primeira coluna do arquivo /etc/passwd.
cat /etc/passwd | cut -d: -f1 | sort > arq
Explicao:
cat /etc/passwd = obtem o conteudo do /etc/passwd
cut -d: -f1 = corta a primeira ocorrencia de 2 pontos : do arquivo
sort = ordena em ordem alfabetica
> arq = direciona o resultado ou saida para o arquivo arq
Gera o arquivo [Link] contendo todos os usuarios do computador
cat /etc/passwd | cut -f1 -d: >> /etc/mail/[Link]
Se houver um erro de arquivo no encontrado use este comando para ler
arquivos texto com a extenso gz
zcat /usr/man/man1/[Link]
Possuo um arquivo com vrios usernames e necessito criar um shell para
consultar este arquivo e remover do passwd todos esses usernames
cat ArqPWs | xargs grep -v /etc/passwd > /tmp/passwdnew
mv -f /tmp/passwdnew /etc/passwd
Como faco pra tirar as linhas que contem uma certa expresso em um
arquivo? EX:
aaaaa.string_que_eu_quero_tirar.bbbbbbb
aaaaa.string_normal.bbbbbbbbbbbb
aaa.string_que_eu_quero_tirar.bbbbbbbbbbbbbbbbbb
cat arquivo | grep -v string_que_eu_quero_tirar
Preciso alterar uma string que vem entre . A string que vem algo
assim: seila seila seila seil seila2
cat arquivo | cut -d -f 2 > arquivo_2
Como fazer para trocar todas as letras maiusculas de um arquivo
por minusculas?
cat [Link] | tr [A-Z] [a-z]
Mantenho um livro de endereo para envio de e-mail em um arquivo txt com
os e-mail de meus clientes. Pensei em um script que capturasse o username
do /etc/passwd (levando-se em conta o grupo) e concatenasse com
@[Link]; resolveria esta questo
Voc cria um arquivo chamado [Link], com todos os usuarios que possuem UID
maior que 500, menos o nobody
cat /etc/passwd | sed -e /^\([^:]*:\)\{2\}[5-9][0-9]\{2,\}:/!
d;/nobody/d;s/:.*/@[Link]/ > [Link]
Cria o [Link], mas apenas dos usuarios que pertencem ao grupo de GID=500
e GID=502
cat /etc/passwd |sed -e /^\([^:]*:\)\{3\}\(500\)\|\(502\):/!
d;s/:.*/@[Link]/ > [Link]
Em uma migracao de scripts do MS-DOS para o Unix, ganhamos alguns ^M no
final de cada linha. Existem linhas com 1 ^M outras com 2 ^M e outras sem
nenhum. Como posso retirar todos os ^M sem danificar os scripts?
cat [Link] | tr -d \r > [Link]
Concatenar os arquivos em um nico arquivo, que chamaremos de [Link]
cat [Link] > [Link]
cat [Link] >> [Link]
cat [Link] >> [Link]
ou voc pode abreviar esse passo para
cat [Link] [Link] [Link] > [Link]
ou ainda
cat file?.zip > [Link]
cat file[1-3].zip > [Link]
Exibe o modelo do HD configurado como master na ide primria
cat /proc/ide/ide0/hda/model
Exibe o modelo do CD-ROM configurado como master na ide secundria
cat /proc/ide/ide1/hdc/model
Seleciona a linha 30 em um arquivo texto
cat [Link] | sed 30!d
Exibir apenas uma determinada linha no arquivo
cat arquivo | awk -e {if(NR == <numero linha>) { print $0; }
1.5 comando less = exibe o conteudo de um arquivo pausadamente
Exibe o conteudo do arquivo [Link] pausadamente
less [Link]
Exibe linhas em banco consecutivas em uma unica linha em branco
less -s [Link]
Corta as linhas mais largas do que a tela
less -S [Link]
Fora os caracretes de controle serem exibidos usando a notao de
acento circunflexo (CTRL + A ^A)
less -r [Link]
Aes com o comando less:
Para pular diretamente para uma linha, coloque o nmero da linha seguido
da letra g
Para pular diretamente para o incio ou final do arquivo, se digitar g
voc pula para a primeira linha do texto. Com o G sozinho voc pula para
a ltima linha do texto
Para retroceder em um arquivo, a seta para cima faz mover para cima uma linha
de texto por vez e a seta para baixo faz mover uma linha de texto para baixo
Para pesquisar retroativamente em um arquivo, uma barra normal(/) seguida de
uma palavra ou frase pesquisar para frente do texto e um ponto de
interrogao
1.6 comando zless = permite visualizar arquivos TXT que estejam compactados
em um arquivo .gz
zless [Link]
1.7 comando zmore = permite visualizar arquivos TXT que estejam compactados
em um arquivo .gz
zmore [Link]
1.8 comando more = exibe o contedo de um arquivo pausadamente
Exibe pausadamente o conteudo do arquivo [Link]
more [Link]
Exibe pausadamente o conteudo do arquivo [Link] e a cada pausa,
exibe um prompt de opcoes
more -d [Link]
1.9 comando od = exibe a sada octal de um arquivo binrio
od nome-do-arquivo
1.10 comando pwd = exibe o diretrio atual que voc se encontra
pwd
1.11 comando mkdir = cria um diretrio
Para criar o diretrio trabalhos na raiz do sistema
mkdir /trabalhos
Para criar uma estrutura de sub-diretrios
mkdir -p diretorio1/diretorio2/diretorio3
Para criar um diretrio com espaos em seu nome
mkdir Diretorio com espacos
Para criar diversos diretrios com apenas um comando
mkdir /home/{joao,maria,jose,raimundo,antonio}
1.12 comando rmdir = deleta um diretorio vazio
Deleta o diretrio, se estiver vazio
rmdir /nome-do-diretorio
Deleta todos os diretrios no caminho
rmdir -p /nome-do-diretorio
Apaga o diretorio se estiver vazio
rmdir Diretorio com espacos
1.13 comando clear = limpa o contedo atual na tela
clear
ou
CTRL + L
1.14 comando df = exibe o espao usado em parties do HD
Exibe os sistemas de arquivos
df
Exibe tambm o tipo de cada sistema de arquivo analizado
df -T
Exibe informaes de todos os sistemas de arquivos
df -a
Exibe o espao livre, o espao ocupado em MB, KB, GB e exibe o uso
e tamanho de todas as parties montadas no sistema
df -h
Exibe o espaco usado em particoes em MB
df -m
1.15 comando free = exibe a memria livre, usada e mais
Exibe informaes sobre a memria
free
Exibe informaes sobre a memria em MB
free -m
Exibe informaes sobre a memria atualizando suas informaes de 6 em
6 segundos
free -s 6
1.16 comando du = determina o espao ocupado pelos arquivos e diretrios
Exibe o espao em disco usado pelo diretrio atual
du
Exibe o tamanho total em MB do diretorio /usr
du -h /usr
Exibe o tamanho em MB do diretrio Mail/
du -h -s Mail/
ou
du -hs Mail/
Exibe o espao usado para o atual diretrio e no para seus sub-diretrios
du -s /dir2
Exibe o tamanho em MB do diretrio httpd
du -s -m httpd
Exibe a contagem para todos os arquivos encontrados, no somente
diretrios
du -a
Exibe o tamanho dos arquivos ou diretrios em bytes
du -b
Exibe o tamanho dos arquivos ou diretrios em KB
du -k
Exibe o tamanho dos arquivos ou diretrios em MB
du -m
Exibe o total geral para todo argumento depois que todos os argumentos
tenham sido processados. Pode ser usado para descobrir o total do disco
usado de um conjunto de arquivos ou diretrios
du -c
Procura todos os arquivos com extenso *.txt no diretrio atual
du -a | grep *.txt
Realiza uma busca mais eficiente do arquivo [Link]
du -a | grep [Link]
Exibe uma listagem de diretorios ordenados do maior para o menor
du -S | sort -nr | more
Vai percorrer todo o HD atrs de todos os arquivos e vai mostrar o
total em kbytes por pasta e no final o total geral
du -sc /* | sort -n
Uma vez que voce descobriu a pasta vil (ex: o prob. o /home), digite:
du -sc /home/* | sort -n
Exibe o tamanho de todos os arquivos no diretrio
du *
Exibe o tamanho de todos os arquivos (aos quais voc tem permisso)
no computador
du /*
Exibe os diretrios que possuem mais de 300MB
du -m | awk ($1 > 300) {print $0 }
Exibe o tamanho do diretrio em MB
du -s -h /home/edersg/fotos
Como descobrir a maior pasta/arquivo?
Normalmente utilizo o du -m -h para fazer isto mas no bem isto que
preciso, pois no necessito saber arquivo por arquivo de cada pasta mas
sim o total de cada pasta. Por exemplo, a partir do /var, executando o
du -m -h
tenho o resultado abaixo:
0 ./cache/man/cat1
0 ./cache/man/cat2
0 ./cache/man/cat3
0 ./cache/man/cat4
0 ./cache/man/cat5
0 ./cache/man/cat6
0 ./cache/man/cat7
0 ./cache/man/cat8
0 ./cache/man/cat9
0 ./cache/man/oldlocal/cat1
0 ./cache/man/oldlocal/cat3
0 ./cache/man/oldlocal/cat5
0 ./cache/man/oldlocal/cat7
0 ./cache/man/oldlocal/cat8
24K ./cache/man/oldlocal
0 ./cache/man/local/cat1
0 ./cache/man/local/cat3
0 ./cache/man/local/cat5
0 ./cache/man/local/cat7
0 ./cache/man/local/cat8
24K ./cache/man/local
0 ./cache/man/X11R6/cat7
0 ./cache/man/X11R6/cat1
20K ./cache/man/X11R6
0 ./cache/man/opt
692K ./cache/man
Porm gostaria que o resultado fosse somente, isto:
692K ./cache/man
Atualmente meu /var(veja o df, acima) tem as seguintes pastas:
alias attach bin boot control doc man queue rc supervise users
O que eu gostaria era se saber quanto MB cada uma destas pastas esto
ocupando em meu disco. Algo do tipo:
200MB alias/
500MB attach/
e assim por diante.
Tente:
du -h max-depth=1
Opa! Corrigindo a msg anterior:
cd diretrio_que_vc_deseja_saber_tamanho_dos_subdiretrios
ls -1p|fgrep /|cut -d\ -f10|xargs du -hs
Obs: H DOIS espaos aps o cut -d\, ok?
Ah, eu ia me esquecendo: note que ls -1p ( hfen NMERO UM
LETRA P MINSCULA)
Tente ai:
cd /var
du -h max-depth=1 | more
Tente:
du -s /var/*
Isto ir mostrar o tamanho de cada diretrio. Voc ainda pode listar me KB e
fazer um sort no final para listar os maiores primeiro:
du -sk /var/* |sort -n
Ooops faltou o parmetro -r no sort para mostrar os maiores primeiro
du -sk /var/* |sort -nr
Essa era mais ou menos o que eu ia sugerir:
du -sc /var/* | sort -n
O maior problema dessa soluo que ela no inclui diretrio escondidos
(aqueles que comeam com ponto). Tipo, se vc fizer isso no seu home,
fatalmente no vai descobrir que o cache do firefox ocupa 50MB Ai a
soluo usar um comando um poquinho maior:
du -k max-depth=1 /var/ | sort -n
Tente:
du -s /var/* | sort -n | tail lines=1
limitao: no d para deixar a sada do du mais bonitinha, com -h, pois
seno o sort pira.
1.17 comando tree = exibe o conteudo de um diretorio(arquivos/subdiretorios)
Exibe somente os sub-diretrios
tree -d
Exibe todos os arquivos, inclusive os ocultos
tree -a
Exibe o caminho completo dos arquivos
tree -f
Exibe as permisses dos arquivos
tree -p
1.18 comando mv = move ou renomeia arquivos e diretrios
Renomeia os arquivo [Link]
mv [Link] [Link]
Move o arquivo [Link] para o diretorio /home
mv [Link] /home
Move todos os arquivos do diretorio padrao com a extenso txt,
doc e jpg para o diretorio /home
mv *.txt *.doc *.jpg /home
Move o diretorio mp3 para o diretorio /home/musicas
mv mp3/ /home/musicas
Renomeia o diretorio fotos para fotos-novas
mv fotos/ /fotos-novas
Opes:
-f = remove arquivos do diretorio de destino com o mesmo nome,
ou seja, remove os arquivos existentes que vao ser sobrescritos
pela movimentacao, sem avisar ao usuario
-i = exbe um prompt caso exista arquivos com o mesmo nome, ou
seja, avisa antes de sobescrever qualquer arquivo
-v = exibe o nome de cada arquivo antes de move-lo
-b = faz um backup dos arquivos que estao sendo movidos
-u = no sobescreve um arquivo existente se ele possuir a mesma
hora de modificao ou for mais recente
1.19 comando ln = cria links simbolicos para arquivos e diretorios.
Existem 2 tipos de links:
1 links simblicos (soft links) = cria um arquivo especial no disco (do
tipo link) que tem como contedo o caminho para chegar at o arquivo alvo
(isto pode ser verificado pelo tamanho do arquivo do link). Use a opo
-s para criar links simblicos. Os links simblicos tem uma funo pare-
cida com os atalhos do Windows, eles apontam para um arquivo, mas se o
arquivo for movido para outro diretrio, o link ficar quebrado.
2 links diretos (hard link) = faz referncia ao mesmo inodo do arquivo
original, desta forma ele ser perfeitamente idntico, inclusive nas
permisses de acesso, ao arquivo original. Ao contrrio dos links
simblicos, no possvel fazer um hardlink para um diretrio ou
fazer referncia a arquivos que estejam em parties diferentes. Os hard
links por sua vez so semelhantes aos atalhos do OS/2 da IBM, eles so
mais intimamente ligados ao arquivo e so alterados junto com ele. Se
o arquivo mudar de lugar, o link automaticamente atualizado.
Cria um hard link chamado video-mj apontando para o arquivo [Link]
ln /home/jordan/[Link] video-mj
Cria um link simblico chamado [Link] na raiz do sistema apontando
para o arquivo /usr/doc/[Link]
ln -s /usr/doc/[Link] /[Link]
Cria um link simblico chamado /dev/mouse apontando para o arquivo
/dev/ttyS0 que representa a porta COM1/ttyS0
ln -s /dev/ttyS0 /dev/mouse
Fora a criao de um link simblico chamado /dev/mouse apontando para o
arquivo /dev/ttyS0 que representa a porta COM1/ttyS0
ln -sf /dev/ttyS0 /dev/mouse
Cria um link simblico chamado /dev/mouse apontando para o arquivo
/dev/psaux que representa o dispositivo PS2 (minidim)
ln -sf /dev/psaux /dev/mouse
Exibe os resultados de cada arquivo antes de terminar o link
ln -v
Cria hard links
ln -d = cria hardlinks para diretrios
OBS:
Se for usado o comando rm com um link, somente o link ser removido.
Se for usado o comando cp com um link, o arquivo original ser
copiado ao invs do link.
Se for usado o comando mv com um link, a modificao ser feita
no link.
Se for usado um comando de visualizao (como o cat), o arquivo
original ser visualizado.
1.20 comando find = procura arquivos/diretorios. O comando find
pode procurar arquivos/diretorios atravs de sua data de modificacao
tamanho etc. O comando find extremamente poderoso e flexvel para
descobrir arquivos que atendem a determinadas especificaes.
Procura o arquivo [Link] em todo o sistema
find / -name [Link] -print
Procura e deleta arquivos core em todo o sistema
find / -name core -exec rm {} \;
Procura e deleta arquivos (sem confirmao) core em todo o sistema
find / -name core -exec rm -f {} \;
Procura e deleta todos os arquivos chamados [Link] dentro dos
diretrios pessoais de todos os usurios
find /home -name [Link] -exec rf -f {} \;
Procura pelo arquivo [Link] que pertena ao grupo trabalho em
todo o sisetma
find / -group trabalho -name [Link] -print
Procura por todos os arquivos que tenham permisso de execuo pelo
proprietrio no diretrio home
find ~ -perm -100 -print
Procura no diretrio home do usurio joao todos os arquivos que no
tenham a extenso .gif
find ~/joao ! -name *.gif -print
Procura no diretrio atual todos os arquivos que foram modificados h no
mximo 2 dias
find . -mtime 2 -print
Exclui arquivos criados a mais de 2 dias (obs: -ctime +1 = 24 horas,
-ctime +2 = 48 horas)
find * -ctime +2 -exec rm {} \
Procura por todos os arquivos que sejam do usurio joao ou do grupo casa
em todo o sistema
find / ( -group casa -o -user joao ) -print
Procura por arquivos cujo o dono seja o user1 em todo o sistema
find / -user user1 -print
Procura por arquivos que pertenam ao grupo gerentes em todo o sistema
find /home -group gerentes -print
Procura arquivos com a exteno DOC e CONF em todo o sistema
find / -name *.doc -o -name*.conf -print
Procura no diretorio atual e sub-diretrios arquivos com tamanho maior
que 1024KB (1MB)
find . -size +1024K -print
Procura em todo o sistema arquivos com tamanho maior que 1024KB (1MB)
find / -size +1024K -print
Procura arquivos que contm uma determinada frase em todo o sistema
find / -name *.txt -exec grep -i escreva sua frase {} \;
Procura no diretrio atual e sub-diretrios por arquivos que contenham
mais de 1MB (1024KB)
find . -size +1024 -print
Realiza backup de todos os arquivos fontes C no diretrio atual e seus
sub-diretrios
find . -name *.[ch] -print | zip source -@
Procura por arquivos que no foram acessados nos ltimos 20 dias no
diretrio /home/mjordan
find /home/mjordan -atime +20 -print
Apaga todos os arquivos TRASH de cada sub-diretrio sem ter que entrar
em cada um deles
find . -name TRASH -exec rm {} \;
Exclui todos os arquivos com a extenso mm2
find / -name *.mm2 -exec rm {} \;
Faz uma busca por todos os arquivos SETUID/SETGID e salva o resultado do
comando find no arquivo [Link]
find / -type f -perm +6000 -ls >> /[Link]
Faz uma busca por todos os arquivos que possuem permisso de gravao
configurada para todos os usurios e salva o resultado do comando find
no arquivo [Link]
find / -perm -2 ! -type l -ls >> /[Link]
Faz uma busca por todos os arquivos que no possuem um dono ou grupo e
salva o resultado do comando find no arquivo [Link]
find / -nouser -o -nogroup >> /[Link]
Para descobrir links simblicos que apontam para arquivos que no
existem mais no sistema
find . -type l -follow 2>/dev/stdout | cut d: -f 2 | xargs rm -f
Repare q o 2>/dev/stdout pode ser substituido por 2>&1, mas eu acho o
primeiro mais legivel! Isso se faz necessario pois o find, ao seguir um link
quebrado escreve a mensagem da saida padro de erro (stderr), por isso temos
que redirecionar, para que o cut consiga pegar e passar pra frente.
A opo -ctime indica creation time, ou seja, a quantos dias o inode do
arquivo foi alterado. O termo creation time gera um pouco de dvida,
pois no se refere exatamente data de criao do arquivo mas sim data
de alterao de algum atributo do seu inode. Comando como chmod, chown,
chgrp alteram essa data pois alteram os atributos do inode.
A opo -mtime indica modification time, ou seja, a quantos dias o
contedo de um arquivo foi alterado.
Existe tambem a opo -atime, indicando access time. Serve para
verificar a quanto tempo um arquivo no foi acessado (lido, modificado
alterado permisso, etc).
Exibe os arquivos que foram criados ou modificados durante os ultimos 4 dias
find /usr -mtime 4
Exibe os arquivos que foram criados ou modificados durante os ultimos 5 dias
find /trabalho -ctime 5
Para procurar quais arquivos foram criados ou modificados nos ltimos 7
dias, deve usar a opo -mtime junto com a opo -ctime
find /trabalho -ctime 4 -a -mtime 4
feita uma busca para encontrar todos os arquivos terminados em .mm2 e
o comando tar receber esta lista por meio do pipe (caractere |), indicada
pela flag -T. O sinal - significa standard output, ou o que veio pelo
pipe, que criar o arquivo [Link] ir conter apenas arquivos
terminados em .mm2
find . -name \*.mm2 | tar cvzf [Link] -T
Uso do find para achar todos os arquivos criados/modificados dia tal no
caso 18 de dezembro. O find tem 3 opes referentes a datas. So elas:
atime Data do ltimo acesso;
ctime Data da ltima alterao no status do arquivo;
mtime Data da ltima alterao nos dados do arquivo.
Estas 3 opes opes so usadas estipulando-se o nmero de dias desejado.
Assim usando -atime dd, sero listados todos os arquivos cujo timo acesso
foi a dd dias. Se voce fizer -atime -dd, vc ter os arquivos cujo ltimo
acesso foi h menos de dd dias, e de forma analoga, +dd significa h mais
de dd dias.
Deleta arquivos core em todo o sistema
find / -name core -exec rm -f {} \;
Cria um relatrio com o tamanho de todos os diretrios do sistema
find . -type d -maxdepth 1 -exec du -s {} \;
Cria um relatrio com o tamanho de todos os diretrios do sistema
de forma ordenada:
find . -type d -maxdepth 1 -exec du -s {} \; |sort -n
Cria um relatrio com o tamanho de todos os diretrios do sistema
de forma ordenada e ainda caso queira que aparea primeiro os nomes
de diretrios seguido pelos respectivos tamanhos
find . -type d -maxdepth 1 -exec du -s {} \; |sort -n | sed -e s/\([0-9]\+\)
[[:space:]]*\(\.\/\)\?\(.*\)/\3 \1/
Para listar os arquivos modificados mais recentemente para o mais antigo
find / -mtime -1 | ls -t
Para procurar em /home/user/fotos todas as imagens jpg e mostrar
com o software qiv
find /home/user/fotos -iname *.jpg -exec qiv -fm {} \;
Para saber quantas fotos no diretrio /home/user/fotos
find /home/user/fotos -iname *.jpg | wc -l
Procura arquivos que no possuem dono em nosso sistema. Esta situao
extremamente comum, visto que usurios so criados e apagados diaria-
mente e ficam vagando pelo sistema e podem eventualmente vir a comprometer
a segurana. Ento ser gerado uma listagem com todos os arquivos do
sistema que no pertencem a nenhum usurio cadastrado no sistema
find / -nouser -print
Procura arquivos que no possuem dono em nosso sistema. Esta situao
extremamente comum, visto que usurios so criados e apagados diaria-
mente e ficam vagando pelo sistema e podem eventualmente vir a comprometer
a segurana. Ento ser gerado uma listagem com todos os arquivos do
sistema que no pertencem a nenhum usurio cadastrado no sistema e logo
aps sero apagados do sistema
find / -nouser -print | xargs rm
Quero criar um script shell que aceite um parmetro qualquer e busque este
parmetro inserido pelo usurio dentro de pginas HTML em diretrios diversos.
Ou seja, quando o usurio rodar o comando, passando um argumento que pode ser
uma palavra, o script dever procurar em todos os arquivos e subdiretrios
por aquela string especfica.
find $1 -type f -exec grep -l $2 {} \;
isso um grep recursivo que procura a string $2 a partir do diretorio $1.
A opcao -l lista todos os arquivos que contem a string. Sem esta opo, voce
vera todas as linhas onde ocorrem a string.
Tenho um diretrio raiz com vrios arquivos e sub-diretrios. Estou mudado
alguns direitos para os grupos dos arquivos e diretrios com esse comando:
chmod g=rw -R *
Eu gostaria de alterar recursivamente, agora, somente os direitos dos
diretrios, sem alterar os dos arquivos. Isso possvel?
Costumo usar o find para isso
find /home/fabio/diretorio -type d -exec chmod g=rw {} \;
No caso, o -type d diz ao find para localizar apenas os diretrios e o
-exec manda executar o comando chmod g=rw sobre cada diretrio que
ele encontrar, representado na sintaxe com comando com o {}. Repare
que existe um espao antes do \; que fecha a linha de comando. No meu
exemplo o find vai atuar na rvore abaixo do diretrio
/home/fabio/diretorio. Se quiser fazer isso apenas com arquivos, no
lugar de diretrios, bastaria usar -type f.
1.21 comando locate = localiza arquivos, sendo que antes de execut-lo
pela primeira vez deve-se usar o comando updatedb para criar o banco
de dados e deve-se execut-lo freqentemente (sempre que se instalar/remover)
programas no computador.
Procura em todos os arquivos pela palavra text1
locate text1
1.22 comando cd = acessa e sai de um diretrio
Alterna para o ltimo diretrio visitado:
cd
Acessa o diretorio /home
cd /home
Sobe um diretrio
cd ..
Retorna ao diretorio raiz
cd /
Acessa o diretorio home do usuario corrente: EX: /home/ederjordam
cd ~
Acessa o diretrio home do usuario ederjordam
cd ~ederjordam
Sobe um diretrio e entra imediatamente no prximo (por exemplo, quando
voc est em /usr/sbin, voc digita cd ../bin, o comando cd retorna
um diretrio (/usr) e entra imediatamente no diretrio bin (/usr/bin)
cd ../diretorio1
1.23 comando alias = cria atalhos para comandos
Acrescente os comandos abaixo no arquivo /etc/bashrc para que seja
inicializado sempre que o sistema for reinicializado
alias [Link]=mount /mnt/cdrom
alias [Link]=umount /mnt/cdrom
alias desligar=shutdown -h now
alias [Link]=mount /mnt/floppy
alias [Link]=umount /mnt/floppy"
alias olhar-logs=tail -f /var/log/messages
1.24 comando e2fsck checa e corrige erros no sistema de arquivos. Deve-se
apenas usar o e2fsck para dar manuteno em particoes Linux Native. Pode-se
usar tambm o comando equivalente fsck.ext2
Checa e corrige erros na partio hda1
e2fsck -y /dev/hda1
Checa e corrige erros na partio hda2
e2fsck -y /dev/hda2
Checa e corrige erros na partio hda3 executando tambm o comando
badblocks
e2fsck -y -c /dev/hda3
Checa e corrige erros na partio hda4 forando a verificao de sistemas
de arquivos que aparentam estar em bom estado
e2fsck -y -f /dev/hda4
Checa e corrige erros na partio hda5 forando o reparo automtico sem
prompts
e2fsck -y -p /dev/hda5
Faz uma checagem usando o modo somente leitura na particao hda1. Com a
opo -n possvel checar o sistema de arquivos montado sem perda de dados
e2fsck -n /dev/hda1
Faz uma checagem usando o modo somente leitura na partio hda1. Com esta
opo -n possvel checar o sistema de arquivos montado sem perda de dados.
Com a opo -c o sistema de arquivos ser checado e permitir atualizaes
somente dos setores danificados, no alterando qualquer outra rea
e2fsck -c -n /dev/hda1
Para revisar uma partio use:
e2fsck -pycvf /dev/hda1
Opes:
-p: repara os erros automaticamente
-y: em quests crticas ir assumir resposta afirmativa
-c: procura pro blocos defeituosos
-v: mostar todas as mensagens na terla (verboso)
-f: fora checagem do sistema de arquivos estiver marcado como limpo
/dev/hda1 : o dispositivo da partio, voc no ir por a partio em si
mas sim o dispositivo de sua partio, assim se sua partio for a /dev/hda3
voc ir por ela
-c faz o fsck.ext2 verificar se existem agrupamentos danificados na unidade
de disco
-d aciona o debug. Mostra todos os detalhes de processamento
-f fora a checagem mesmo se o sistema aparenta estar em bom estado. Por
padro, um sistema de arquivos que parece em bom estado no verificado
-F grava os dados do cache no disco antes de iniciar o teste
-l:[arquivo] inclui os blocos listados no (arquivo) como blocos defeituosos
no sistema de arquivos. O formato deste arquivo o mesmo gerado pelo programa
badblocks (veja mais adiante)
-L [arquivo] faz o mesmo que a opo -l, s que a lista de blocos defeituosos
do dispositivo completamente limpa e depois a lista do (arquivo)
adicionada ao teste
-n faz somente uma verificao de leitura no sistema de arquivos. Com esta
opo o sistema verificado com o dispositivo montado. Nenhuma modificao
feita no sistema. Apenas o teste de leitura realizado
-p corrige automaticamente o sistema de arquivos sem perguntar nada. re-
comendvel fazer isto manualmente pra entender o que aconteceu, em caso de
problemas com o sistema de arquivos
-v ativa o modo verbose. Todas as mensagens de aviso so mostradas durante
a execuo do programa
-y assume sim para todas as questes feitas durante o texto. O seu uso
altamente no recomendvel
Caso a opo -c seja usada junto com -n, -l ou -L, o sistema de arquivos
ser verificado e permitir somente a atualizaes setores danificados, no
alterando qualquer outra rea do dispositivo. Se forem encontrados arquivos
com problemas e estes no puderem ser recuperados, o fsck perguntar se deseja
salv-los no diretrio lost+found. Aps sua execuo mostrado detalhes sobre
o sistema de arquivos verificado como quantidade de blocos livres, ocupados e
taxa de fragmentao.
1.25 comando type = exibe a localizao de um arquivo no sistema. OBS:
Similar ao comando whereis comando.
Exibe a localizao do comando bash no sistema
type bash
Exibe a localizao do comando ls no sistema
type ls
Exibe a localizao do comando cd no sistema
type cd
1.26 comando diff = compara dois arquivos e exibe as diferencas entre
eles. O comando diff apenas faz comparacoes com arquivos no formato texto
O diff apresenta uma listagem das diferenas encontradas entre os 2 arquivos
passados como parmetro, incluindo os comandos necessrios para que um
editor (o ed, se no me engano) possa, a partir de um dos arquivos, igualar
o contedo do segundo. Se voc quiser apenas verificar se 2 arquivos possuem
o mesmo contedo ou no, mais eficiente usar o cmp, e testar o $? Ou
$status, dependendo do shell que esteja utilizando.
Checa linha a linha para verificar se h ou no diferenas entre os arquivos
diff [Link] [Link]
Compara os arquivos e exibe suas diferencas na tela
diff [Link] [Link]
Compara os arquivos e enviapara o arquivo [Link] as diferencas dos
arquivos
diff [Link] [Link] > [Link]
Faz a comparacao nos arquivos ignorando diferencas entre maiusculas e
minusculas
diff -i [Link] [Link]
Exibe somente se os 2 arquivos possuem diferenas. No exibe as dife-
renas entre eles
diff -q [Link] [Link]
Aumenta a tabulao das diferenas encontradas nos arquivos comparados
diff -t [Link] [Link]
Compara os arquivos ignorando linhas em branco diferentes entre os 2
arquivos e usando o formato unificado
diff -B -u [Link] [Link]
Compara o diretrio e subdiretorios /usr/dir1/ e /usr/dir2/ armazenando
as diferencas entre os diretrios no arquivo [Link]
diff -r /usr/dir1/ /usr/dir2/ > [Link]
Obtem cada linha do primeiro arquivo, verifique se ela existe no segundo
(que tambm possue um nome por linha) e caso no exista, jogua essa linha
para um terceiro arquivo
diff [Link] [Link] | grep < > [Link]
Ler cada linha do segundo arquivo e verificar se ela existe no primeiro
arquivo e se no existir, jogar essa linha para um determinado arquivo
diff [Link] [Link] | grep < > [Link]
Verifica o que h de diferente nos diretrios e exibir as diferenas
diretamente na tela o monitor
diff -uNr [Link] diretorio
Verifica o que h de diferente nos diretrios e redirecionar a sada do
comando para o arquivo [Link]
diff -uNr [Link] diretorio > [Link]
1.27 comando comm = compara dois arquivos ordenados linha a linha. Este sem
opes produz uma sada de trs colunas. A Coluna 1 contm linhas que so
exclusivas do arquivo [Link], a coluna 2 contm linhas que so exclusivas
do arquivo [Link] e a coluna 3 contm linhas comuns aos dois arquivos.
As opes -1, -2, e -3 impedem a exibio das colunas correspondentes
comm -123 [Link] [Link]
1.28 comando wc = lista o nmero de bytes, palavras e linhas nos arquivos
Exibe o numero de linhas, palavras separadas por espaos em branco e o
tamanho em bytes do arquivo [Link]
wc [Link]
Exibe o tamanho em bytes do arquifo [Link]
wc bytes [Link]
Exibe o tamanho em bytes do arquifo [Link]
wc chars [Link]
Exibe as palavras separadas por expaos em branco no arquivo [Link]
wc words [Link]
Exibe o numero de linhas do arquivo [Link]
wc lines [Link]
1.29 comando grep = procura strings (frases) ou palavras em um arquivo
^ acento circunflexo
.. ponto
\ barra invertida
{ chave
\ outra barra invertida
} outra chave
$ cifrao
1,4 de 1 a 4 caracteres
Para procurar no hd por uma determinada string
grep -rin string *
Para procurar no diretrio /etc por uma determinada string
grep -R padrao /etc/
Procura em todos os arquivos de texto e exibe todas as linhas em que
a palavra GNULINUX aparece
grep -n GNULINUX *.txt
Procura a string :0: no arquivo /etc/passwd
grep :0: /etc/passwd
Procura a palavra jordam no arquivo [Link]
grep jordam /home/[Link]
Procura a string Eder Jordam no arquivo [Link]
grep Eder Jordam [Link]
Procura a frase Eder Jordam no arquivo [Link] exibindo o
nmero de cada linha encontrada
grep Eder Jordam -n [Link]
Procura a palavra jordam em todos os arquivos TXT do diretorio atual
grep jordam *.txt
Procura em todos os arquivos a frase Chicago Bulls is the best
grep Chicago Bulls is the best *
Exibe os arquivos do diretorio atual com a data de modificao do dia
28 de maro
ls -lha | grep Mar 28
Faz uma busca pela expresso servidor dentro de todos os arquivos do
diretrio /etc
grep -s servidor /etc/*
Exclui as linhas do arquivo [Link] que tenham o contedo basquete
grep -v basquete [Link] > [Link]
Procura pela palavra1 nos arquivos do diretorio especificado
grep palavra1 /diretorio/*
Procura pela frase qualquer com maiusculas ou minsculas, no diretrio
atual
grep -i frase qualquer ./*
Procura por qualquer palavra que comece com um nmero de 0 a 9 nos arquivos
dos diretrio /home/docs/
grep [0-9]palavra /home/docs/*
Procura por qualquer palavra que comece com as letras a, b ou c nos arquivos
do diretrio especificado
grep [abc]palavra ../*
Procura pela palavra que comece com qualquer caractere EXCETO as letras a,
b ou c no arquivo [Link]
grep [^abc]palavra [Link]
Visualiza de forma rpida os servios habilitados habilitados para
iniciliazao do inetd
grep -v ^# /etc/[Link] | sed -e /^S/d
Retira do arquivo [Link] todas as linhas que possuem nenhum, 1, 2, 3,
ou 4 caracteres entre aspas existe na sequencia
grep -v ^.\{1,4\}$ [Link] > arquivo_final
A opo -v do grep indica para listar somente as linhas que no so reconhe-
cidas pelos padres (que nesse caso est em um arquivo). A opo -f indica
que os padres a serem procurados no so especificados na linha de comando
e sim em um arquivo, cujo nome deve ser fornecido aps a opo -f. A opo
-x representa que o padro ser procurado em toda a linha (voc disse que era
um nome por linha.
grep -x -v -f arq1 arq2 > arq_diff_1_2
grep -x -v -f arq2 arq1 > arq_diff_2_1
O comando grep possui algumas formas de funcionamento bem interessantes.
Recentemente eu precisei localizar alguns arquivos e trat-los de forma
a remover algumas formataes erradas. Veja os exemplos:
grep CODE *.src
[Link]:CODE
[Link]:CODE
[Link]:CODE
Para que eu tenha apenas o nome dos arquivos onde se encontra a palavra
CODE, eu posso usar o comando grep da seguinte forma:
grep -l CODE *.src
[Link]
[Link]
[Link]
A opo -l me indica apenas o arquivo onde a palavra CODE se encontra
porm no exibe as linhas do arquivo, o que o padro do comando grep.
Uma vez de posse desta lista, eu precisava mover estes arquivos para
um outro diretrio, onde ento seriam editados
#!/bin/bash
for file in `grep -l CODE *.src`
do
mv $file repair
done
Na estrutura acima, repair o nome de um diretrio para onde os arquivos,
retornados pelo comando grep, sero movidos.
Retorna o numero da linha de um arquivo que tem a sequencia de strings
que eu queira
grep -n string-a-ser-encontrada [Link]
Exibe todas as linhas exeto as que tenham joao e maria
egrep -v (joao.*maria|maria.*joao)
Se fosse pra tirar tanto as que tivessem joao quanto as que tivessem maria,
grep -v (joao|maria) [Link]
Procura por uma linha com o comando setterm -blank nos arquivos dentro
do diretrio /etc/rc.d/
grep -r setterm -blank /etc/rc.d/
Tenho varios arquivos direrentes e gostaria de selecionar apenas os arquivos
que contem uma determinada palavra(dentro do arquivo).
grep -lF palavra arq1 arq2 arq3
se voce quiser todos os arquivos do diretrio, tambem pode fazer:
grep -lF palavra *
ou
grep -lF palavra * 2> /dev/null
mostra somente os nomes de arquivos que contm a ocorrncia e joga fora
os nomes dos subdiretrios porventura existentes
Do que se trata a porta 161 UDP?
grep \<161/udp\> /etc/services
esta porta para o protocolo SNMP que usado para dar informaes sobre o
sistema. Se voc no usa, desligue o servio.
Estou usando o comando grep para pesquisar uma coincidencia em um arquivo
s que esta pesquisa retorna muitas linhas, como eu faria para pegar
determinada linha, a primeira ou somente a terceira?
A primeira linha:
grep o que vc est procurando nome_do_arquivo | sed 1!d
A terceira linha:
grep o que vc est procurando nome_do_arquivo | sed 3!d
Contagem de Acertos: para determinar o nmero de arquivos que obedecem a
determinado critrio de busca use o comando grep -c:
ls
a ba c d e f
Exibe quantos arquivos possum a letra a em seu nome
ls | grep -c a
2
a resposta dois: os arquivos chamados a e ba.
Exibe quantos arquivos comeam com a letra a
ls | grep -c ^a
1
apenas o arquivo chamado a atende a esta busca.
Arquivos que terminem em a:
ls | grep -c a$
2
neste caso a resposta tambm dois: os arquivos a e ba.
1.30 comando file = determina o tipo de um arquivo
Exibe que tipo de arquivo , ou seja, um texto, uma imagem etc
file arquivo1
Exibe o tipo do arquivo seguindo os links simbolicos
file -L arquivo2
Tenta exibir o tipo dos arquivos dentro de um arquivo compactado
file -z arquivo3
Exibe a verso do programa file
file -v
1.31 Descompactando arquivos
Para descompactar arquivos no formato bz2
bunzip2 -d nome-do-arquivo.bz2
Para descompactar arquivos no formato tar
tar -xvf [Link]
Para descompactar arquivos no formato [Link]
tar -zxvf [Link]
Para descompactar arquivos no formato tgz
gunzip [Link]
Para descompactar arquivos no formato gz
gunzip [Link]
ou
gzip -d [Link]
Para descompactar arquivos no formato zip
unzip [Link]
Para descompactar arquivos no formato rar
unrar e nome_do_arquivo.rar
Para descompactar arquivos no formato Z
uncompress nome-do-arquivo.Z
Exibe uma descrio contendo os nome dos arquivos que esto compactados
no arquivo [Link] testando a integridade do mesmo
unzip -t [Link]
Exibe uma descrio contendo os nome dos arquivos, data, hora e tamanho
que esto compactados no arquivo [Link]
unzip -l [Link]
Exibe uma descrio contendo os nome dos arquivos e seus contedos
(formato TXT) que esto compactados no arquivo [Link]
unzip -c [Link]
Descompacta o arquivo [Link] no diretorio /usr (opo -d)
unzip [Link] -d /usr/
Descompacta apenas os arquivos que so mais recentes no diretrio /usr
unzip -f [Link] -d /usr
Descompacta o arquivo [Link] mas nunca substituindo arquivos j
existentes
unzip -n [Link]
Descompacta o arquivo [Link] substituindo arquivos existentes sem
perguntar. Tem a funo contrria a opo -n
unzip -o [Link]
Permite descompactar arquivos ZIP protegidos por senha
unzip [Link] -P senha
Descompacta arquivos que so mais recentes do que as verses j
existentes dos mesmos, bem como arquivos que ainda no existem
unzip -u [Link]
Exibe o comentrio de um arquivo compactado
unzip -z [Link]
Descompacta o arquivo [Link] no diretorio /usr (opo -C)
tar -zxvf [Link] -C /usr
Copia para vrios disquetes o arquivo musica1.mp3 solicitando disquetes
at o termino da cpia
tar -cvMf /dev/fd0 musica1.mp3
Restaura o arquivo musica1.mp3 para o diretorio atual
tar -xvMf /dev/fd0 musica1.mp3
Exibe o contedo do arquivo [Link]
tar -tz [Link]
Exibe o conteudo do arquivo [Link].bz2
bzip2 -c [Link].bz2
Exibe o contedo do arquivo [Link]
gzip -l [Link]
Verifica a integridade do arquivo [Link].bz2
bzip2 -t [Link].bz2
1.32 Compactando arquivos
O comando tar = no um compactador e sim um arquivador (ele junta
vrios arquivos em um s), mas pode ser usado em conjunto com um
compactador (como o gzip ou zip) para armazena-los compactados.
tar -c = cria um novo arquivo tar
tar -t = lista o conteudo do arquivo tar
tar -x = extrai arquivos de arquivo tar
tar -v = exibe uma lista com cada arquivo sendo processado
tar -u = atualiza arquivos compactados no arquivo tar
tar -f = arquivo de origem/destino
tar -T = indica quais arquivos iro compor o arquivo criado
tar -X arquivo = tenta apagar o arquivo dentro de um arquivo compactado
tar -z = filtra o arquivo com gzip (.[Link]) ou (.tgz)
tar -j = usa o programa bzip2 para processar os arquivos do tar (.tar.bz2)
tar -Z = usa o programa compress para processar os arquivos do tar
(.tar.Z) ou (.tgZ
tar -W = tenta verificar o arquivo gerado pelo tar aps grava-lo
tar -M = cria/lista/extrai arquivos multi-volumes
tar -u = inclui em um arquivamento existente apenas arquivos que sejam
mais recentes do que a copia do arquivamento
Para criar um arquivo chamado [Link] contendo os arquivos
[Link], [Link] e [Link]
tar -cvzf [Link] [Link] [Link] [Link]
Para cria um arquivo chamado backup_diario.[Link] contendo os
arquivos [Link], [Link] e [Link]
tar -cvf backup_diario.`date +%d-%b-%Y`.tar [Link] [Link] [Link]
Para criar um arquivo chamado [Link] contendo os arquivos
do diretrio trabalhos
tar -cvzf [Link] trabalhos/
Para criar um arquivo chamado [Link] contendo todos os arquivos
que tem como proprietrio/dono o usurio ederjordam
tar -cvzf [Link] `find . -user ederjordam -print`
Para criar um arquivo chamado [Link] contendo todos os arquivos
exceto o diretrio /var/spool/squid
tar -f [Link] -exclude /var/spool/squid
Para criar um arquivo chamado [Link] contendo os diretrios
dir1, dir2 e dir3
tar -cvf [Link] dir1 dir2 dir3
Para criar um arquivo chamado [Link] contendo apenas arquivos que
atendam a determinado critrio de seleo, como o exemplo contendo apenas
arquivos com a extenso TXT, encontrados a partir do diretrio atual e
identificados pelo comando find
tar cvzf [Link] -T `find . -name \*.txt`
Para criar um arquivo chamado [Link] contendo
todos os arquivos do diretrio /home/usuario1/work5
tar -zcvf backup7-`date +%d%m%y`.[Link] /home/usuario1/work5
Para compactar um diretrio mas ignorando um subdiretrio dentro deste
diretrio:
tar exclude=diretorio_a_excluir -cf [Link] dir1 file1
Voc pode excluir um ou mais diretorios/arquivos, so sair adicionando
varios exclude na linha de comando ou se preferir pode gerar um lista
em um arquivo txt e passar o arquivo como parametro. Veja os argumentos
abaixo:
exclude=PATTERN exclude files, given as a PATTERN
-X, exclude-from=FILE exclude patterns listed in FILE
Para realizar um backup de todo HD
tar clf / | tar -C /ponto-de-montagem -xvf
/ : estarias fazendo o backup a partir do barra do teu hd
/ponto-de-montagem : ponto onde esta montado o seu backup
Para criar um arquivo chamado [Link] utilizando compactao mxima
gzip -9 [Link]
Fora a compactao mesmo quando um arquivo de mesmo nome j existe e ser
sobrescrito pelo arquivo compactado
gzip -f [Link]
Testa a integridade do arquivo compactado [Link]
gzip -t [Link]
Para criar um arquivo chamado [Link] contendo os arquivos
[Link], [Link] e [Link]
zip [Link] [Link] [Link] [Link]
Para criar um arquivo chamado [Link] contendo todos os arquivos
com extenso TXT
zip [Link] *.txt
Para criar um arquivo chamado [Link] contendo todos os arquivos
com extenso TXT do diretrio /usr e sub-diretrios
zip -r [Link] /usr/*.txt
Parar criar um arquivo chamado [Link] contendo todos os arquivos
do diretrio atual utilizando compatao mxima
zip -9 [Link] *
Verifica se o arquivo [Link] contm erros
zip -T [Link]
Caso o arquivo [Link] esteja danificado, o comando abaixo tentar
arrum-lo
zip -F [Link]
Para criar um arquivo chamado [Link] contendo todos os arquivos
e sub-diretrios do diretrio /home/user. A opo -r recursivo, ou
seja, utilize-o caso queira copiar todos os arquivos e sub-diretrios dentro
do diretrio /home/user
zip -r [Link] /home/user/*
1.33 comando rpm
Para reconstruir a base de dados RPM que est corrompida
rpm rebuildb
Gera um arquivo RPM no diretrio /usr/src/redhat/RPMS/i386
rpm rebuild [Link]
Verifica a assinatura do pacote
rpm -checksig nome-do-pacote
Atualiza e instala um pacote no sistema
rpm -Uhv [Link]
Instala um pacote no sistema
rpm -ivh [Link]
Fora a atualizao de um pacote (no recomendvel utilizar este
comando)
rpm -Uhv [Link]
Fora a instalacao de um pacote de verso anterior j instalada
no sistema
rpm -Uhv [Link] oldpackage
Checa a integridade dos pacotes instalados (desde que o banco de dados
rpm no esteja corrompido)
rpm verify -a
Faz uma pesquisa para encontrar o pacote RPM instalado no sistema que
possui o arquivo [Link].5
rpm -q whatprovides [Link].5
Exibe os pacotes dos quais este depende
rpm -qR nome-do-pacote
Exibe informacoes sobre o pacote
rpm -qpi [Link]
Exibe informaes do pacote, tais como nome, descrio, release,
tamanho, data de criao, data de instalao
rpm -qi nome-do-pacote
Exibe todos os pacotes instalados no sistema
rpm -qa
Verifica se o pacote referente ao software livre apache est instalado
no sistema
rpm -qa | grep apache
Verifica se um determinado pacote est instalado no sistema
rpm -q nome-do-pacote
Exibe o nome do pacote instalado no sistema que contem o
nome-do-programa
rpm -qf /usr/bin/Eterm
Exibe todos os arquivos relacionados ao programa (EX: /usr/bin/awk)
sem saber o pacote
rpm -qdf nome-do-programa
Exibe a lista de todos os arquivos que o pacote possui
rpm -qpl [Link]
Exibe os arquivos contidos no pacote. (EX: rpm -ql squid)
rpm -ql nome-do-programa
Exibe os pr-requisitos para a instalao do pacote
rpm -qpR [Link]
Remove um pacote do sistema
rpm -e [Link]
Fora a remocao do pacote
rpm -e [Link] nodeps force
Verifica a integridade do pacote
rpm -K nopgp [Link]
Exibe o changelog de um pacote instalado no sistema
rpm -qf changelog nome-do-pacote
Procura se o arquivo [Link] existe nos pacotes que esto
instalados no sistema
rpm -qpl *.rpm | grep [Link]
Procura nos pacotes RPM que esto no CD-ROM pelo arquivo lib-so.1.0
rpm -qp filesbypkg /mnt/cdrom/distro/RPMS/* | grep lib-so.1.0
Procura nos pacotes RPM do diretrio atual pelo arquivo [Link].6
rpm -qp filesbypkg * | grep [Link].6
Visualiza os arquivos dentro do pacote
rpm -qpi filesbypkg [Link]
Exibe os pacotes que dependem do pacote glib
rpm -q whatrequires glib
A libXm pertence ao pacote lesstif
rpm -qf /usr/X11R6/lib/[Link].2.0.1
Exibe os pacotes RPM que o pacote glib necessita para ser instalado
rpm -q requires glib
possvel utilizar um pacote fonte para construir um pacote RPM
contendo os arquivos binrios adequados arquitetura da mquina em
que ele ser utilizado. Se voc possui o arquivo fonte e deseja cons-
truir um pacote contendo os binrios para que o programa possa efeti-
vamente ser instalado. O pacote ser construdo e colocado no diretrio
/usr/src/rpm/RPMS/arquitetura onde arquitetura o processador para
o qual o pacote foi compilado normalmente i386. Proceda ento a instalao
como faria normalmente
rpm rebuild [Link]
A libraw1394 a nica interface suportada pela parte raw1394 no
sub-sistema IEEE 1394 no kernel Linux que fornece acesso direto aos
barramentos 1394 conectados para aplicaes fora do kernel
rpm -q qf %{description}\n libraw1394
Extrai o conteudo do pacote RPM no diretorio atual
rpm2cpio [Link] | cpio -ivd
Exibe qual pacote RPM possui o arquivo gnomeconf sem instalar o
pacote RPM
rpm -qpi *.rpm | grep -i gnomeconf
Instala o pacote RPM mesmo possuindo um arquivo de mesmo nome j
instalados no sistema
rpm -Uhv [Link] -replacefiles
Exibe informaes sobre as mudanas (alteracoes) neste pacote
rpm -q changelog nome-do-pacote
Verificao de um pacote provoca a comparao dos arquivos instalados
de um pacote com as informaes localizadas nas bases de dados do RPM.
Entre outras coisas a verificao compara o tamanho, MD5 sum, permisses,
tipo, dono e grupo de cada arquivo
rpm -V nome-do-pacote
Verifica um pacote que contenha o arquivo /bin/ls. Outra funo do
comando seria quando alguns problemas esto ocorrendo com o arquivo
/usr/bin/paste. Inicialmente pode-se verificar a qual pacote o arquivo
pertence e se ele est ntegro
rpm -Vf /bin/ls
Verifica todos os pacotes instalados. Tambem til quando alguns arquivos
foram apagados acidentalmente, mas no se tem certeza de quais arquivos o
foram. Se alguns arquivos no forem localizados ou aparentem estar corrom-
pidos, pode-se reinstalar o pacote imediatamente
rpm -Va
Verifica um pacote instalado e o arquivo do pacote RPM
rpm -Vp [Link]
Esta funo pode ser til caso haja alguma suspeita de que a base de dados
RPM esteja corrompida. Se no houver nenhuma discrepncia no haver resposta
do sistema, caso contrrio ser apresentada na forma de um string com 8
caracteres, com um c significando arquivo de configurao e aps o nome do
arquivo. Cada um dos 8 caracteres significa um dos atributos do arquivo
comparado com aqueles definidos no pacote RPM onde um ponto significa que
o atributo est ok. Os atributos so mostrados abaixo:
Cdigo Significado
5 MD5 checksum
S Tamanho do arquivo
L Link simblico
T Modificao do arquivo
D Device
U Usurio
G Grupo
M Modo (inclui permisses e tipo de arquivo)
Caso algum cdigo seja apresentado, necessrio avaliar a necessidade
de remoo do pacote, ou de sua reinstalao
Exibe informaes sobre as ultimas alteraes no pacote RPM
rpm -qp changelog [Link] | head
Exibe informaes sobre as ltimas alteracoes no pacote RPM
rpm -q changelog rp-pppoe
Fora a reinstalacao do pacote
rpm -Uvh nome_do_pacote.rpm force allfiles
Fora a reinstalacao do pacote substiuindo possveis arquivos existentes
rpm -Uhv nome_do_pacote.rpm force replacefiles
Verifica se o pacote no est corrompido. Alm do md5 ele checa a assinatura
digital(se estiver presente).
rpm -vK nome_do_pacote.rpm
Exibe o nome do pacote RPM que armazena o comando ping
rpm -qf /bin/ping
Sempre que der pela falta de um programa, depois de t-lo procurado
com os comandos:
whereis programa
find / -name programa
rpm -qa | grep programa
Voc pode inserir o CD de instalao, mudar para o diretrio dos RPMS
/mnt/cdrom/distribuicao/RPMS e procur-lo
rpm -qp -filesbypkg *.rpm | grep programa
1.34 comando hdparm = define parametros de acesso para discos rgidos.
Exibe informaes sobre o HD
hdparm /dev/hda
Exibe mais informaes sobre o HD
hdparm -i /dev/hda
Testando o acesso do dispositivo /dev/hda
htparm -t /dev/hda
Testa a velocidade de leitura do buffer-cache e do disco /dev/hda
hdparm -tT /dev/hda
Modo bsico de configurao do hdparm
hdparm -c1 -d1 /dev/hda
ou
hdparm -c 1 -d 1 /dev/hda
Configura o parmetro MaxMultSect para 16
hdparm -m 16 /dev/hda
Habilita o acesso a 32bits e UDMA/100
hdparm -d1 -c1 -X 69 /dev/hda
ou
hdparm -d 1 -c 1 -X 69 /dev/hda
1.35 comando echo = acrescenta palavras, frases a um arquivo
Operaes diversas 1
touch [Link]
echo Enviando uma frase > [Link]
echo Enviando mais uma frase >> [Link]
Operaes diversas 2
echo Ol mundo! >> /home/[Link]
echo /sbin/ismod cim.o >> /etc/rc.d/[Link]
Para exibir o PATH atual
echo $PATH
Para ouvir um beep do speaker do computador
echo -e \a
Para efetuar uma soma
echo $[1 + 3]
Para efetuar uma subtrao
echo $[23 2]
Para efetuar uma multiplicao
echo $[45 * 4]
Para efetuar uma diviso
echo $[80 / 40]
Para modificar a senha do usurio user1
echo senha | passwd stdin user1
Se voc no sabe se o make (ou outro script) foi executado com sucesso
ou nao, execute este comando. O $? uma variavel especial do shell que
contem o resultado do ultimo comando. Se ela contiver o valor 0, significa
que o ultimo comando (no caso make bzImage) foi executado corretamente.
Caso contrario, algum erro aconteceu.
echo $?
1.36 comando nice = altera as propriedades de execuo de um processo.
Para configurar uma menor prioridade ao processo
nice -n 19 nome-do-programa
Para configurar uma maior prioridade ao processo
nice -n -19 nome-do-programa
1.37 comando bc = uma calculadora que funciona no console
Para somar nmeros
8 + 2 e tecle ENTER
Para diminuir nmeros
8 2 e tecle ENTER
Para multiplicar nmeros
8 * 2 e tecle ENTER
Para dividir nmeros
8 / 2 e tecle ENTER
Para sair do bc digite
quit
1.38 comando tail = exibe o final do contedo de um arquivo
Para exibir as 10 ltimas linhas do arquivo /var/log/messages
tail /var/log/messages
Para exibir as 50 ltimas linhas do arquivo /var/log/messages
tail -50 /var/log/messages
Para exibir as ltimas 23 linhas do arquivo /var/log/messages
tail -n 23 /var/log/messages
Para exibir o contedo do arquivo /var/log/messages em tempo real
tail -f /var/log/messages
Para exibir o contedo do comando tail no terminal /dev/tty7
tail -f /var/log/messages > /dev/tty7 &
Para exibir as 100 ltimas linhas do comando tail no terminal /dev/tty7
tail -100 /var/log/messages > dev/tty7
1.39 comando watch = executa um programa periodicamente, exibindo sua
sada no terminal.
Para monitorar o trfego online de FTP, WWW e outros
watch -n 1 netstat -a
Para monitorar o contedo do diretrio padro, ou seja, se voc alterar
um nome de um arquivo, o mesmo ser exibido depois da alterao automa-
ticamente
watch -d ls -l
Para monitorar apenas os arquivos e diretrios em que seu proprietrio/dono
o usurio edersg23
watch -d ls -l | fgrep edersg23
Atualiza de 1 em 1 segundo os resultados na tela do comando sensors
watch -n 1 sensors
1.40 comando mknod = cria arquivos especiais de blobo ou caracteres
Para criar o arquivo especial referente ao CD-ROM sob /dev/hdb
mknod /dev/hdb b 3 64
1.41 comando basename = retira o diretrio e sufixo de arquivos
1.42 comando chfn = usado para alterar as informaes do usurio
apresentadas pelo comando finger. Esta informao armazenada no
arquivo /etc/passwd, e apresentada pelo programa finger. O comando
finger apresentar as informaes em quatro partes que podem ser
alteradas por chfn: nome verdadeiro, nome da empresa e telefone e
telefone residencial.
OPCOES:
-f nome = altera o nome verdadeiro ou completo do usurio
-r nome = altera o nmero da sala do usurio
-o nome-empresa = nome da empresa.
-p telefone-escritorio = telefone comercial
-h telefone-residencial = alterao telefone residencial do usurio
1.43 comando chsh = altera o interpretador de comandos do usurio
(login shell)
Para alterar o shell do usurio user1 para /bin/tcsh
chsh -s /bin/tcsh user1
Para exibir a lista de interpretadores de comandos presentes no
arquivo /etc/shells
chsh -l
1.44 comando uuencode = converte um arquivo binrio em um arquivo de
texto ASCII totalmente codificado para que possa ser enviado via e-m@il.
Envia um email:
uuencode [Link] [Link] | mail -s Titulo-do-email user@[Link]
E quando receber, salve a mensagem em disco e utilize o comando uudecode.
Se o arquivo da mensagem chama-se file5, digite:
uudecode file5
Envia uma imagem por email:
uuencode [Link] [Link] | mail -s $assunto $email`;
1.45 comando uudecode = converte o arquivo codificado para o seu formato
original depois da recepo pelo destinatrio.
uudecode arquivo-temporario
1.46 comando convert = converte uma imagem de um certo padro (jpg) para
um outro padro (png). O comando convert faz parte do pacote ImageMagick.
Para converter uma imagem no formato JPG para o formato PNG
convert [Link] [Link]
1.47 comando import = importa a tela atual do desktop. O comando import
faz parte do pacote ImageMagick.
Para obter um screenshot da tela:
import -window root [Link]
import -window root [Link]
import -geometry 800600 [Link]
import -geometry 800600 [Link]
import -geometry 104768 [Link]
import -geometry 104768 [Link]
sleep 30; import -window root [Link] -quality 80
pode-se usar o programa ksnapshot ou colar a IMG no programa GIMP
1.48 comando xwd = importa a tela atual do desktop.
Para salvar o contedo da tela no arquivo [Link]
xwd -display :0.0 -root -out [Link]
1.49 comando tac = exibe o contedo do arquivo do final para o inicio,
ou seja, comea exibindo a ltima linha at a primeira linha do arquivo
tac [Link]
1.50 comando cryptdir = criptografa todos os arquivos em um diretrio.
Para criptografar todos os arquivos no diretrio /home/secreto
cryptdir /home/secreto
Ao criptografar arquivos, uma senha ser solicitada a voce 2 vezes. Essa
senha necessria para descriptografar arquivos. Estes arquivos tero
a extenso .crypt includas em seus nomes
1.51 comando decryptdir = descriptografa todos os arquivos em um diretrio.
Os arquivos devem ter sido criptografados com o comando cryptdir.
Para descriptografa todos os arquivos do diretrio /home/secreto
decryptdir /home/secreto
1.52 comando gzexe = cria um arquivo compactado executvel. Se voc
compactar um arquivo binrio ou um script com o comando gzexe, ento
poder execut-lo como se ele estivesse descompactado. Quando compactar
um arquivo chamado arquivo1, o original descompactado ser copiado em
arquivo1~ e o arquivo compactado manter o nome arquivo1.
Descompacta o arquivo especificado em vez de compact-lo
gzexe -d nome-do-arquivo
1.53 comando alien = converte pacotes
Para converter um pacote RPM para um pacote DEB
alien -d [Link]
Para converter um pacote DEB em RPM
alien -r [Link]
1.54 comando sed = stream editor
Preciso preencher espacos com o caractere + Assim:
echo Informe seu nome:
read nome
echo $nome
Resultado: Pedro Afonso Segundo
Preciso: Pedro+Afonso+Segundo
echo Informe seu nome:
read nome
echo $nome | sed -e s/ /+/g
sed -n NUMERODA_LINAp /usr/[Link] = exibe um numero da linha do arquivo
[Link]
Como fazer para reconhecer um padro em vrias linhas?
Como separar esse trecho de um arquivo texto e mandar para saida padro?
#<inicio>
.
..
#</fim>
Digite o comando :
sed -n -e /#<inicio>/, /<\/fim>/p nome_do_arquivo
Como fazer a remoo do espao em branco ao final das linhas:
Primeira maneira:
sed s/ *$// arquivo in > [Link]
note: nem precisa do g,
Outra forma:
sed s/ *$//g [Link] > [Link] && mv [Link] [Link]
Todo mundo j teve que formatar um texto, quebras linhas, juntar pargrafos
e, ao final, percebe que existem espaos brancos nos finais das linhas. Para
remover os espaos, utilizando sed, faamos o seguinte:
cat [Link] | sed s/ *$//g > [Link]
Preciso exibir a ensima linha de todos os arquivos de um diretrio.
sed -n 7p arquivo
sed -n 7p * nao funcionou, entao:
for x in *; do sed -n 7p $x; done
ou se quiser fazer do jeito unix
cat arquivo | head -7 | tail -1
7 a linha que se quer mostrar.
sed /bola/d [Link] > arq_new = exclui as linhas do arquivo [Link]
que tenham o conteudo igual a palavra bola
sed s/bulls/chicago/g [Link] > [Link] = faz uma procura no arquivo
[Link] em busca de palavra bulls que sera trocada pela palavra chicago, e
sera enviada estas alteracoes para um novo arquivo, o [Link]
1.55 comando dos2unix = converte a formatacao de arquivos no formato
DOS/MAC para formatacao UNIX
Para retirar os caracteres ^M (quebra de linha) do arquivo [Link]
dos2unix [Link]
Sistemas operacionais diferentes gravam arquivos-texto de forma diferente.
O Unix grava arquivos-texto separando as linhas com um Linefeed (cdigo
ascii 0x0A, ou 10). O Windows, mais perdulrio, grava arquivos-texto
separando as linhas com um carriage return e um linefeed (0x0D 0x0A) em
seqncia. O carriage return, ao ser mostrado na tela por alguns programas
(vi, por exemplo), aparece como ^M que quer dizer Control-M. Soluo:
1 No vi, usar o seguinte comando de substituio:
:%s/^M// <enter>
lembrando q o ^M Ctrl+V + Ctrl+M
OBS.: No digite ^ e M; deixe Ctrl apertado, aperte V, deixe Ctrl apertado
aperte M. O Ctrl-V indica que o prximo caractere teclado deve ser
interpretado literalmente. Assim, Ctrl-V Ctrl-M faz aparecer ^M.
Isso retirar todos os ^M do seu texto.
Mas se voc tiver vrios arquivos, voc pode coloc-los todos em
um diretrio e, nesse diretrio, rodar o seguinte scriptzinho:
for arq in *
do
tr -d \r < $arq > ${arq}.novo
mv ${arq}.novo $arq
done
OBS: Coloque cpias dos arquivos, pois os originais sero apagados por
esse script
1.56 comando awk = uma linguagem para processamento de padres.
Para contar quantas linhas um determinado arquivo tem:
awk END {print NR} [Link]
Para ler apenas uma determinada linha do arquivo (ler apenas 30a. linha):
awk NR == 30 [Link]
awk -F: {print $1 -> $5} /etc/passwd = exibe os usuarios locais
do sistema e seus respectivos nomes completos.
awk -F: {print $1 -> $5 -> $6} /etc/passwd = exibe os usuarios
locais do sistema, seus nomes completos e o shell aonde o usuario ir
se logar (ou o caminho de um programa que ir ser executado assim que
o usurio fizer o login na maquina).
Precido fazer o segunte:
awk -F: $3 igual 100 { print $1 } /home/nomes
Qual seria o comando que eu colocaria no lugar da palavra IGUAL.
Tente:
awk -F: $3 == 100 { print $1 } /home/nomes
Dentro do awk da pra pegar a linha de baixo?
Sim, vc pode usar o next, exemplo:
awk {if($0 ~ /exec_args/)next;c=1;if(c == 1)print;exit} [Link]
1.57 comando tee = envia o resultado do programa para a sada padro
(tela) e para um arquivo ao mesmo tempo.
Exibe a saida do comando ls em uma coluna (-C1) e ao mesmo tempo
grava no arquivo [Link]
ls -C1 * | tee [Link]
A saida do comando ser mostrada normalmente na tela e ao mesmo
tempo gravada no arquivo [Link]
ls -la | tee [Link]
1.58 comando nl = exibe o nmero de linhas juntamente com o contedo
do arquivo.
Exibe o nmero de linhas e o contedo do arquivo [Link]
nl [Link]
Para salvar o resultado em um outro arquivo
nl /[Link] > /tmp/[Link]
1.59 comando sort = organiza e ordena as linhas de um arquivo texto
Organiza o contedo do arquivo [Link] em ordem crescente
sort [Link]
Organiza o contedo do arquivo [Link] em ordem decrescente
sort -r [Link]
Ignora diferencas entre letras maiusculas e minusculas durante a
organizao
sort -f [Link]
Ignora linhas em branco
sort -b [Link]
Somente usa letras, digitos e espaos durante a organizao
sort -d [Link]
Para remover linhas duplicadas em um arquivo:
sort [Link] | uniq >arquivo_novo.txt
Caso estiver organizando um campo que contm nmeros que sero
organizados na ordem aritmtica. Por exemplo, se voc tiver um
arquivo com os nmeros
100
10
50
Usando a opo `-n, o arquivo ser organizado desta maneira:
10
50
100
Caso esta opo _no_ for usada com o `sort, ele organizar como
uma listagem alfabtica (que comeam de `a at `z e do `0 at `9)
10
100
50
O comando
sort -n [Link]
1.60 comando cut = remove para exibio sees de cada linha em arquivos.
utilizado usado quando se deseja extrair campos ou pedaos de dados de
arquivos. Sintaxe:
cut -ccaracteres [arquivo]
Onde caracteres a poro que se deseja cortar de cada registro de
arquivo, podendo ser um simples numero ou uma faixa.
Retira da sada do comando who at o nono caractere
who | cut -c-9
Retira da sada do who do dcimo ao vigsimo caractere
who | cut -c10-20
Retira da sada do who a partir do trigsimo segundo caractere
who | cut -c32-
Para obter a primeira e a tarceira letra de cada linha do arquivo
/etc/passwd
cut -b 1,3 /etc/passwd
Para obter a primeira letra e terceira a decima letra de cada linha
do arquivo /etc/passwd
cut -b 1,3-10 /etc/passwd
Para captura o primeiro caracter e terceiro ao decimo caracter de cada
linha do arquivo /etc/passwd
cut -c 1,3-10 /etc/passwd
Existem duas opes do cut que servem para especificar o(s) campos
dos registros que desejamos extrair. A opo -f (field) pode ser
utilizada para especificar os campos (fields) que desejamos extrair. Obedece
as mesmas regras da opo -c. EX: Temos um arquivo chamado telefones e
dentro deste arquivo h o contedo:
Diego Rodrigo <TAB> (011) 9999-8888
Cristiane de Freitas <TAB> (012)9885-8555
Para extrair somente os nomes deste arquivo, usaramos o seguinte comando:
cat telefones | cut -f1
O resultado seria:
Diego Rodrigo
Cristiane de Freitas
OBS: Note que no especifiquei nenhum delimitador, o delimitador padro
o <TAB>. Repare que entre o nome e o nmero do telefone tem um <TAB>
A opo -d (delimitador) descreve para o cut qual ser o separador de
campos do arquivo. Exemplo: Para indicar ao cut que o delimitador ser
um espao em branco
cat telefones | cut -f1 -d
O resultado seria:
Diego
Cristiane
Caso quisssemos extrair somente o DDD do arquivo telefones, usaramos a
seguinte linha:
cat telefones | cut -f2 -d ( | cut -f1 -d )
O resultado seria:
011
012
Digamos que temos um arquivo com o seguinte contedo:
C o assembler do passado
Java ainda vai ser boa um dia
Perl existe mais de um jeito de fazer isso
PHP Pre processador HTML
Digite ento:
cut -c1-5 [Link]
A sada ser:
C o
Java
Perl
PHP
Digite outro comando:
cut -d - -f 1 [Link]
A sada ser:
C
Java
Perl
PHP
Digite outro comando:
cut -d - -f 2 [Link]
A sada ser:
o assembler do passado
ainda vai ser boa um dia
existe mais de um jeito de fazer isso
Pre processador HTML
1.61 comando cpm = compara dois arquivos de qualquer tipo (binario
ou texto). Os dois arquivos especificados serao comparados e caso
exista diferenca entre eles, mostrado o numero da linha e byte onde
ocorreu a primeira diferenca na saida padrao(tela) e o programa
retorna o codigo de saida 1.
Para comparar do [Link] e do [Link]
cpm [Link] [Link]
1.62 comando patch = atualiza arquivos texto atraves das diferenas
geradas pelo comando diff.
Para aplicar as diferenas contidas no arquivo [Link] nos arquivos
originais
patch -p0 < [Link]
Para aplicar as diferenas contidas no arquivo [Link] nos arquivos
originais
patch -p0 [Link] [Link]
1.63 comando cdrecord = software para gravao de CDs
Para exibir informaes sobre o gravador de CD
cdrecord -scanbus
Para gravar dados a partir do arquivo de imagem [Link]
cdrecord -v speed=4 dev=0,6,0 -data [Link]
Para gravar as trilhas 1 e 2 de um CD de udio
cdrecord -v speed=4 dev=0,6,0 -audio [Link] [Link]
Para gravar as trilhas 1 a 3 sendo o CD multisesso
cdrecord -v speed=4 dev=0,6,0 -data img_do_cd.iso -audio [Link] [Link]
[Link]
Para gravar o arquivo [Link] na velocidade de 8x
cdrecord -v -speed=8 -dev=0,0,0 -eject -fs=8M [Link]
1.64 comando md5sum = checa se um arquivo possui o mesmo checksum
do arquivo original
md5sum [Link]
1.65 comando fmt = faz a formatao de linhas. Ele no faz o alinhamento
do texto, faz apenas a quebra das linhas prximo ao desejado.
Faz com que as linhas do arquivo [Link] tenham em mdia 60
caracteres por linha
fmt -w 60 [Link]
Faz o espaamento uniforme, reduzindo espaos consecutivos entre 2
palavras para apenas um e fazendo o mesmo com as linhas, deixando apenas
uma linha em branco entre pargrafos
fmt -w 60 -u [Link]
1.66 comando gpg = ferramenta para criptografia e assinatura de
arquivos
Cria uma chave
gpg gen-key
Lista chaves pblicas
gpg list-keys
Lista chaves particulares
gpg list-secret-keys
Carrega uma chave particular
gpg import allow-secret-key-import arquivo-da-chave
Carrega uma chave pblica
gpg import arquivo-chave
Imprimi uma chave particular em um arquivo ASCII
gpg export-secret-key -a -o [Link]
Imprimi uma chave pblica em um arquivo ASCII
gpg export -a -o [Link]
Apaga uma chave pblica
gpg delete-key email
Apaga uma chave particular
gpg delete-secret-key email
Criptografa um arquivo
gpg -e -r email arquivo-a-criptografar
Assina um arquivo
gpg -s -r email arquivo-a-assinar
Criptografa e assina um arquivo
gpg -es -r email arquivo
Descriptografa um arquivo
gpg -o arq-descriptografado -d -r email arq-criptografado
Criptografa e envia por email um arquivo
gpg -e -a -r email-a-receber arquivo-a-ser-criptografado
1.67 comando konqueror = browser web e file manager do KDE
Atalhos de navegao do konqueror:
atlantik:/
audiocd:/
bzip:/
bzip2:/
cgi:/
camera:/
devices:/
file:/
finger:/
fish:/
floppy:/
ftp:/
gzip:/
help:/
http:/
https:/
imap4:/
imaps:/
info:/
kdeapi:/
kmailservice:/
knewsservice:/
lan:/
mac:/
man:/
media:/
metainfo:/
nfs:/
nntp:/
perldoc:/
pop3:/
pop3s:/
print:/
pydoc:/
rlan:/
rlogin:/
rtsp:/
sftp:/
smb:/
smtp:/
smtps:/
tar:/
telnet:/
thumbnail:/
vnc:/
webdav:/
webdavs:/
zip:/
1.68 comando ispel = corretor ortogrfico
Para iniciar o processo de correo ortogrfica em pt_BR no arquivo
[Link]
ispel -d pt_br [Link]
#######################################################################
2 COMANDOS INFORMATIVOS
2.1 comando arch = exibe a arquitetura de hardware do pc atual
i686 = computador pentium II e pentium III
i586 = pentium I, k5
i486 = 486
i386 = 386
2.1 comando whoami = exibe o usurio atual, ou seja, exibe o nome
do usurio logado no computador
whoami
2.2 comando who = exibe os usurios que esto logados no computador
Exibe os logins e a quantidade total de usurios logados no sistema
who -q
Exibe aps o login o tempo que o usurio esta logado no sistema
who -i
Exibe se o usuario pode receber msgs via talk
who -w
ou
who -T
+ = o usuario pode receber msgs via talk
= o usuario nao pode receber msgs via talk
? = nao e possivel determinar em que terminal o usuario esta conectado
2.3 comando whois = exibe informaes sobre usuarios e dominios remotos
whois [Link]@[Link]
whois 200.251.148.x@[Link]
whois -h [Link] dominio_a_ser_pesquisado
whois <IP>@[Link]
2.4 comando man = exibe pginas de manual dos comandos do sistema
Para exibir a pgina de manual do comando ls
man ls
Para exibir a pgina de manual do comando rm
man rm
Para exibir a pgina de manual do comando find
man find
Para converter o contedo da man-page do comando hdparm para um
arquivo *.ps, no caso [Link]
man hdparm -t > [Link]
Para converter o arquivo [Link] para [Link]
ps2pdf [Link] [Link]
Para copiar no arquivo [Link] uma cpia da man-page do comando
escolhido hdparm
man hdparm | col -b > [Link]
Para converter o contedo da man-page do comando fdisk para um
arquivo no formato TXT, no caso, [Link]
man fdisk | colcrt > [Link]
Para copiar pginas de manual para um arquivo no formato TXT
info man > [Link]
ou
man ls | groff -Tlatin1 > arquivo
2.5 comando xman = exibe paginas de manual no modo grfico
xman
2.6 comando cal = exibe um calendrio
Exibe o calendrio do ms atual
cal
Exibe o calendrio do ano de 2005
cal 2005
Exibe um calendrio anual, ou seja, de todos os meses:
cal -y
Exibe o calendrio do ms de janeiro de 2001
cal 1 2001
Exibe o calendrio do mes de maio de 2001
cal 5 2001
Exibe o calendrio do ms atual com a segunda-feira como sendo o
primeiro dia da semana
cal -m
Exibe o calendrio do ms passado, atual e do prximo ms:
cal -3
Exibe o calendrio completo do ano de 2002
cal 2002 ou cal -y
Exibe o calendrio do ms de dezembro, porm do dia 335 at o 365
cal -j 12 2002
Exibe quantos so os dias teis (basta retirar o sbado e domingo)
de um determinado mes
cal $mes $ano | sed -n -e s/ / # /g -e s/ / #/g -e s/^ /#/ -e 3,$p | cut -d
-f 2-6 | tr # | wc -w
Excluiu as duas primeiras linhas (cabealho) e tambm os 3 primeiros e
os 3 ltimos caracteres de cada linha (domingo e sbado)
cal 12 2001 | sed 1,2d;s/^//;s/\(.*\)$/\1/ | wc -w
mais visual:
# cal 12 2001
dezembro 2001
Do Se Te Qu Qu Se S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
# cal 12 2001 | sed 1,2d;s/^//;s/\(.*\)$/\1/
3 4 5 6 7
10 11 12 13 14
17 18 19 20 21
24 25 26 27 28
31
2.7 comando date = exibe a data e a hora atual
Exibe a data atual
date
Para ajustar a hora do sistema
date 051909522004
onde o 05 corresponde ao ms, o 19 ao dia, o 09 as horas, o 52 aos minutos,
o 20 s duas primeiras casas do ano e o 04 s duas segundas casas do ano,
logo estou selecionando para o meu sistema a data 19/05/2004 e a hora
09h52min.
Para salvar a data e a hora na CMOS, digite:
clock -w
Para obter o dia da semana por extenso (com 3 letras)
edersg@jordan:~$ date +%a
Sun
Para obter o dia da semana por extenso (completo)
edersg@jordan:~$ date +%A
Sunday
Para o ms atual (com 3 letras)
jordan:~# date +%b
Aug
Para o ms atual (com 3 letras)
jordan:~# date +%h
Aug
Para obter o ms atual (completo)
jordan:~# date +%B
August
Para obter o locale com data(dia, mes ano) e hora, minuto e segundo
jordan:~# date +%c
Sun Aug 7 09:38:05 2005
Para exibir o dia atual (de 01 a 31)
jordan:~# date +%d
07
Para exibir o dia atual (de 1 a 31)
jordan:~# date +%e
7
Para obter a data no formato (mm/dd/yy)
jordan:~# date +%D
08/07/05
Para obter a data no formato (yyyy-mm-dd)
jordan:~# date +%F
Para obter o ano atual com 2 dgidos (yy)
jordan:~# date +%g
05
Para obter o ano atual com 4 dgidos (yy)
jordan:~# date +%G
2005
Para obter a hora atual (00 a 23)
jordan:~# date +%H
09
Para obter a hora atual (01 a 12)
jordan:~# date +%I
09
Para obter o dia do ano atual (de 001 at 366)
jordan:~# date +%j
219
Para obter a hora atual (0 a 23)
jordan:~# date +%k
9
Para obter a hora atual (1 a 12)
jordan:~# date +%l
9
Para o ms atual (com 2 dgitos)
jordan:~# date +%m
08
Para obter o minuto da hora atual
jordan:~# date +%M
50
Para obter o locale em letras masculas: AM ou PM
jordan:~# date +%p
AM
Para obter o locale em letras minsculas: am ou pm
jordan:~# date +%P
am
Para obter a hora (formato 12 em hh:mm:ss) e o locale em masculo (AM ou PM)
jordan:~# date +%r
09:52:17 AM
Para obter a hora (formato 24 em hh:mm)
jordan:~# date +%R
09:53
Para obter os segundos da hora atual no formato 00:00:00 1970-01-01 UTC
jordan:~# date +%s
1123419275
Para obter os segundos (00 a 60) da hora atual
jordan:~# date +%S
45
Para obter a hora (atual) no formato 24 horas (hh:mm:ss)
jordan:~# date +%T
09:57:38
Para obter o dia da semana (1 representa segunda, 2 representa tera,
3 representa quarta, 4 representa quinta, 5 representa sexta,
6 representa sbado e 7 representa domingo)
jordan:~# date +%u
7
Para obter o nmero da semana desde o inicio do ano (00 a 53)
sendo que domingo considerado o primeiro dia da semana
jordan:~# date +%U
32
Para obter o nmero da semana desde o inicio do ano (01 a 53)
sendo que segunda considerado o primeiro dia da semana
jordan:~# date +%V
31
Para obter o dia da semana (de 0 a 6) sendo que domingo representado
como 0, segunda como 1, tera como 2, quarta como 3, quinta como 4,
sexta como 5 e sbado como 6
jordan:~# date +%w
0
Para obter o nmero da semana do ano sendo segunda-feira o primeiro dia
da semana (00 a 53)
jordan:~# date +%W
31
Para obter o locale com a data no formato mm/dd/yy
jordan:~# date +%x
08/07/05
Para obter o locale com a hora no formato hh:mm:ss
jordan:~# date +%X
10:10:37
Para obter os ltimos dois dgidos do ano atual
jordan:~# date +%y
05
Para obter o ano atual (desde 1970)
jordan:~# date +%Y
2005
Para obter o timezone (de acordo com a RFC-2822)
jordan:~# date +%z
-0300
Para obter o timezone no formato EDT
jordan:~# date +%Z
BRT
Exibe a data de ontem com a formatao do sistema. A opo date pode
ser substituda por -d e yesterday pode ser substitudo por today,
tomorrow dentre outras opes)
date date yesterday
Exibe o ano corrente
date +%Y
Exibe a data corrente na formatao dd/mm/aaaa)
date +%d/%m/%Y
Exibe a data do dia anterior na formatao dd/mm/aaaa)
date -d yesterday +%d/%m/%Y
Exibe a data do dia de ontem
date date 1 day ago
Exibe a data do dia de antes de ontem
date date 2 days ago
Exibe a data depois de amanh
date date 2 days
Exibe a data do dia trs meses e um dia atrs
date date 3 months 1 day
Exibe a data daqui a um ano e trs semanas
date date 1 year 3 weeks
Exibe dia no ano do natal no ano atual
date date25 Dec + %j
Exibe a data 5 dias atras
date date 5 days ago
Exibe a data 2 meses atras:
date date 2 months ago
Exibe a data 3 dias a frente
date date 3 days
Exibe a data de 2 meses e 15 dias
date date 2 months 15 days
Exibe a data atual em um formato, incluindo o nome da lua cheia e o
dia do ms
date +%B%d
Mas isto pode no ser o que voc quer pois para os primeiros nove dias do
ms, o %d se expande para um campo de dois dgitos completados com zero
date -d 1-may+%B%d
exibir: May 01
Para exibir a mesma data, mas, sem o zero inicial para dias do ms de um
dgito, voc pode utilizar o modificador no padro - para suprimi-lo.
date -d 1-may+%B %-d
resumo
day dia
week semana
month ms
year ano
ago atrs (passados)
2.8 comando finger = exibe informaes sobre um usurio
Exibe todos os usurios logados no sistema
finger
Exibe informaes de todos os usurios logados no sistema
finger -l
Exibe informaes do usurio ederjordam que est cadastrado
no sistema
finger ederjordam
2.9 comando netstat = exibe tabelas de roteamento, conexes de rede,
estatsticas de interface, informacoes sobre portas TCP e UDP abertas e
conexes mascaradas. Exibe informaes sobre as portas TCP e UDP abertas
que estao em uso. Este comando sem argumentos mostratr uma lista de
portas abertas, as que esto ocupadas ou ouvindo o tipo de conexao, host
etc.
Exibe o endereamento IP em suas respectivas portas
netstat -n
Exibe os detalhes das conexoes atuais
netstat
Exibe informacoes sobre a tabela de roteamento
netstat -r
Exibe uma tabela de todas as interfaces de rede
netstat -i
Verificar informaes sobre a rede
netstat -a
Exibe todas as portas TCP abertas, aguardando pedido de conexo
netstat -at
Exibe todas as portas UDP abertas, aguardando pedido de conexo
netstat -au
Visualiza a tabela de rota dos IP invlidos em uma rede
netstat -rn
Monitora as conexes
netstat -m
Verifica se j no esta no ar a porta 23 do servio/protocolo telnet
netstat -nta | grep :23
Indentifica o processo
netstat -anp
Exibe informaes selecionadas a cada segundo
netstat -c
Exibe as portas abertas no PC atual
netstat -pan inet
Exibe uma lista de todas as sesses mascaradas tambm pode ser vista.
O suporte a mascaramento usado para esconder mquinas em endereos de
rede no oficiais do resto do mundo
netstat -M
Exibe estatsticas sobre o sub-sistema de rede do kernel linux que so
lidas a partir de /proc/net/snmp
netstat -s
Faz uma busca por servios abertos (programas que tm [Link] na coluna
Local Address) que so visveis para toda Internet
netstat -pan inet
Verifica se a porta 25 (padrao SMTP) est funcionando
netstat -tan | grep 25
Verifica se a porta 6000 (padrao X11 est funcionando)
netstat -tan | grep 6000
Para descobrir o endereo IP do gateway padro
netstat -r
Lista todas as portas que esto no estado LISTEN
netstat -an inet
Para encontrar o processo que est mantendo uma porta aberta no seu
computador (netstat -a para ver isso), utilize o seguinte comando
netstat -nap inet | grep <porta que voce quer>
Para descobrir qual programa esta abrindo uma determinada porta
netstat -na (exibe todas as conexes e portas abertas)
ento digite:
fuser -n PROTOCOLO PORTA (exibe o pid do processo respondendo pela porta)
2.10 comando mail = envia/visuliza emails no terminal
Sintaxe:
mail [-s subject] [-c cc-addr] [-b bcc-addr] to-addr
-s subject : especifica a linha de assunto das mensagens enviadas
-c cc-addr : especifica uma lista de endereos que devem receber
copias das mensagens
-b bcc-addr : especifica uma lista de endereos que devem receber
cpias escondidas cegas das mensagens
to-addr : endereo de email do remetente
Para visualizar os emails que esto no arquivo inbox
mail
Le a correspondencia da caixa de entrada do usurio jordam
mail -f /var/spool/mail/jordam
Le a correspondencia da caixa de entrada do usuario user1
mail -f /var/spool/mail/user1
Comando bsico para se enviar um email via texto. Deve-se digitar
o subjetc, o corpo da mensagem e apertando CTRL + D ser
pedido o cc
mail user@[Link]
Envia um email para o usuario user@[Link] com o arquivo
[Link] anexado
mail -s assunto-do-email usuario@[Link] < [Link]
Para enviar um email com uma mensagem pesonalizada:
echo Opa Eder
Tudo bem contigo?
Gostaria que voce me enviasse a apostila. Obrigado
Pedro | mail -s assunto-do-email usuario@[Link]
Envia um email com o arquivo [Link] em anexo
cat [Link] | mail $1 -s Bem Vindo user@[Link]
Envia um email a todos os usuarios do sistema:
cat /etc/passwd | cut -d: -f 1 | while read x ; do echo Desliguem seus
computadores no final do expediente! |mail ${x} -s Aviso do administrador.; done
Se voce quiser colocar um texto no corpo da mensagem:
cat [Link] | mail usuario@[Link]
Se quiser enviar um arquivo anexo:
cat arquivo_anexo.zip | uuencode arquivo_anexo.zip | mail usuario@[Link]
Para enviar um email para vrios destinatrios:
mail -s subject -c mail CC -b mail BCC mail1 mail2 mailn < arquivo-a-ser-
[Link]
Para enviar um nico email para vrios usurios
1) Crie um arquivo com todos emails das pessoas que iroreceber o email.
Um endereo de email por linha. Escolha um nome de arquivo: [Link]
2) Tenha em maos tbm o arquivo com o body do email ex. [Link]
3) Para enviar, digite:
mail -s assunto cat [Link] < [Link]
2.11 comando uptime = exibe o tempo que seu sistema est ativo (rodando)
Para visualizar o carregamento de sua mquina. Se estiver acima de 2.0,
voce est com muito processamento (e talvez pouca memria).
uptime
12:45pm up 2 days, 20:21, 15 users, load average: 0.37, 0.33, 0.17
^^^^ ^^^^ ^^^^
se sua mquina estiver carregada, veja o processo voraz que est comendo
mais memria (ps auxwww | sed 1d | sort +5 -nr). Normalmente alguns
processos como netscape, gnome, etc, comeam a crescer indefinidadmente
ocupando toda a memria e todo o tempo de cpu.
2.12 comando last = exibe o histrico de logins e logouts dos usurios
baseado no contedo do arquivo /var/log/wtmp. So exibidos os seguintes
campos na listagem: nome do usurio, terminal onde ocorreu a conexo e
desconexo, hostname, data do login/logout, hora do login/down e o tempo
em horas:minutos que esteve conectado ao sistema.
Exibe os ltimos registros dos 15 ltimos logins
last | head -15
-Exibe os ltimos 5 usurios que acessaram o computador
last -5
Exibe o nome de host a ser apresentado na ltima coluna
last -a
Usa o DNS para resolver o IP de sistemas remotos para nomes DNS,
logins remotos, exibem todos os enderecos IP como nomes de host
last -d
Exibe as entradas de desligamento do sistema e alteraes do
nvel de execuo do sistema
last -x
Exibe somente as atividades referentes ao usuario user1
last user1
Exibe todas as atividades do tty1
last tty1
Exibe os ltimos 4 acessos que o usurio ederjordam efetuou no sistema
last -R4 ederjordam
2.14 comando dmesg = exibe o buffer de anel do kernel, exibe as mensagens
de inicializacao do sistema.
Exibe as mensagens da inicializao do sistema
dmesg
Limpa o buffer aps ser exibido
dmesg -c
Procura o modelo do drive de CD-ROM do computador
dmesg | grep -i cd-rom
2.15 comando setterm = altera as propriedades de um terminal
Altera a cor de fundo (opo -background) do terminal para branco
e suas letras (opo -foreground) para a cor vermelha
setterm -store -background white -foreground red
Altera a cor de fundo (opo -background) do terminal para branco
e suas letras (opo -foreground) para a cor azul
setterm -store -background white -foreground blue
2.16 comando users = informa os usurios conectados atualmente no sistema.
Os nomes de usurios so obtidos no arquivo /var/log/wtmp
users
2.17 comando id = exibe os UIDs e GIDs efetivos e reais
Exibe os grupos em que o usuario atual esta cadastrado
id
Exibe o id do usurio jordam
id jordam
Exibe somente o ID do grupo programadores
id -g programadores
2.18 comando w = exibe quem est logado no sistema. Alm de determinar
o que est sendo feito, o tempo de uso do processador, etc:
w
2.19 comando whereis = localiza o arquivo executvel, fonte e pginas de
manual de um determinado comando do sistema
Para localizar o arquivo executvel do comando ls
whereis ls
Realiza uma pesquisa apenas nos arquivos binarios
whereis -b cat
Realiza uma pesquisa apenas nas pginas de manual
whereis -m cat
Realiza uma pesquisa apenas o codigo fonte
whereis -s cat
2.20 comando which = exibe o caminho completo de um programa, buscando
por executveis nos PATHs exportados
Exibe o caminho do programa cat
which cat
Exibe TODOS os caminhos do programa cat
which -a cat
2.21 comando env = exibe as variveis que o seu shell possui
env
2.22 comando lynx = navegador web (browser) que funciona no terminal
Exibe informaes do servidor web do site [Link]
lynx -dump -head [Link]
Converte o arquivo [Link] para um arquivo no formato TXT, ou seja,
texto puro
lynx -dump -nolist [Link]
2.23 comando xscreensaver = manipula as protees de tela no console
2.24 comando ldd = lista as depedncias de bibliotecas compartilhadas
necessrias por cada programa ou por outras bibliotecas.
Exibe uma lista de bibliotecas que o programa Eterm depende para ser
executado no computador
ldd /usr/bin/Eterm
Exibe uma lista de bibliotecas que o programa Eterm depende para ser
executado no computador
ldd `which /usr/bin/Eterm`
Exibe funes ausentes
ldd -d programa1
Exibe objetos de dados e funes
ldd -r programa1
Exibe as bibliotecas que o software amule necessita mas que no esto
instaladas no sistema
ldd /usr/bin/amule | grep not
libwx_gtk2_xrc-[Link].0 => not found
libwx_gtk2_qa-[Link].0 => not found
libwx_gtk2_html-[Link].0 => not found
libwx_gtk2_adv-[Link].0 => not found
libwx_gtk2_core-[Link].0 => not found
libwx_base_xml-[Link].0 => not found
libwx_base_net-[Link].0 => not found
libwx_base-[Link].0 => not found
2.25 comando lspci = lista todos os dispositivos PCI do pc
lspci
lspci -vn | more
lspci -vv
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 530 Host (rev 03)
00:00.1 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0)
00:01.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513 (rev b1)
00:01.1 Class ff00: Silicon Integrated Systems [SiS] ACPI
00:02.0 PCI bridge: Silicon Integrated Systems [SiS] 5591/5592 AGP
00:09.0 VGA compatible controller: Trident Microsystems TGUI 9660/968x/968x (rev
d3)
00:0c.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
00:0c.1 Communication controller: C-Media Electronics Inc CM8738 (rev 20)
00:0d.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 10/100
Ethernet (rev 02)
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 6306 3D-AGP
(rev a3)
* Esta a descrio do chipset principal da placa-me SIS 530:
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 530 Host (rev 03)
* Interface IDE SIS 513, chipset que controla a interface usada pelos CDs
e HDs por exemplo:
00:00.1 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0)
* Barramento ISA:
00:01.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513 (rev b1)
* ACPI usado para controlar o consumo de energia de micros modernos:
00:01.1 Class ff00: Silicon Integrated Systems [SiS] ACPI
* A palavra mgica AGP no final da uma dica:
00:02.0 PCI bridge: Silicon Integrated Systems [SiS] 5591/5592 AGP
* O lspci encontrou minha placa de vdeo Trident, posso usar dois monitores ao
mesmo tempo:
00:09.0 VGA compatible controller: Trident Microsystems TGUI 9660/968x/968x (rev
d3)
* Olha meu controlador de udio ai. Aquele CM8738 no final importante,
o chipset:
00:0c.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
* C-Media de novo, mas tem uma funo diferente da anterior:
00:0c.1 Communication controller: C-Media Electronics Inc CM8738 (rev 20)
* Controlador de Rede, SIS900 o chip:
00:0d.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 10/100
Ethernet (rev 02)
* OK, meu controlador VGA, 3d-AGP ruim que di, mas pelo menos o nome rima:
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 6306 3D-AGP
(rev a3)
2.26 comando head = exibe as primeiras linhas de um arquivo
Exibe as primeiras 8 linhas do arquivo [Link]. Caso nao for especi-
ficado, o comando head exibe as 10 primeiras linhas do arquivo
head -n 8 [Link]
Exibe as primeiras 3 linhas do arquivo [Link]. Caso nao for especificado,
o comando head exibe as 10 primeiras linhas do arquivo
head -n 3 [Link]
Gera uma senha de 6 caracteres
head -c 6 /dev/random | mimencode
Gera uma senha de 8 caracteres
head -c 8 /dev/random | mimencode
Cria senhas randomicas
head -c 6 /dev/urandom | uuencode | cat -n | grep 2 | cut -f2 | cut -c
2,3,4,5,6,7,8,9
Exibe a ensima linha de todos os arquivos de um diretrio
head -n N * | tail -n 1
Exibe a enesima linha de todos os arquivos de um diretrio
head -n arquivo | tail -1
Imprime as 30 linhas iniciais do arquivo [Link]
head -n 30 [Link] > /dev/lp0
2.27 comando fuser = permite identificar e fechar os processos que
esto utilizando arquivos e soquetes do sistema.
Exibe quem est acessando o ponto de montagem /dev/cdrom
fuser -u /mnt/cdrom
Exibe qual programa esta rodando na porta 23 TCP
fuser -v -n tcp 23
Exibe qual programa esta rodando na porta 23 UDP
fuser -v -n udp 23
Exibe informacoes sobre a porta 1353
fuser -v 1353/tcp
Exibe qual programa esta usando o dispositivo /dev/dsp
fuser -v /dev/dsp
Exibe qual programa esta utilizando a porta 631
lsof | grep 631
Pergunta antes de destruir o processo 1121
fuser -i 1121
2.28 comando time = mede o tempo que um programa ou comando leva para
ser executado.
Mede o tempo em que o programa Star Office demora para ser carregado
time /usr/bin/soffice
Mede o tempo em que o programa ls executado
time ls
Mede o tempo em que o programa find executado
time find / -name *.txt print
2.29 comando fdisk = possui ferramentas para a manipulao de tabelas
de particao.
Exibe a tabela de parties para os seguintes dispositivos /dev/hd[a-d],
/dev/sd[a-h] e /dev/ed[a-d]
fdisk -l
Exibe o nmero da verso do fdisk
fdisk -v
2.30 comando ksyms = exibe informaes sobre simbolos do kernel exportados
Exibe todos os simbolos, incluindo os do kernel atual
ksyms -a
Exibe informacoes de modulo, incluindo endereco e tamanho do mdulo
ksyms -m
2.31 comando logname = exibe o username do usurio
logname
2.32 comando lsmod = exibe os mdulos atualmente carregados no kernel
lsmod
2.33 comando mailto = envia um email para um ou mais destinatrios
mailto -a character-set -c address -s subject recipient
-a character-set : especifica um conjunto de caracteres alternativo
como o ISO-8859-8. O padro US-ASCII
-c address : especifica uma lista de enderecos que devem receber
copias das mensagens
-s subject : especifica o assunto da mensagem. Se o assunto tiver mais
de uma palavra, coloque-o entre aspas.
recipient : outros enderecos de emails para que se devem enviar a mensagem
Para concluir a composicao de uma mensagem, use CTRL + D o digite um .
sozinho em uma linha em branco.
2.34 comando pidof = localiza e exibe os IDs de processos de um ou
mais programas
Localiza o ID referente a execucao do programa xmms
pidof -s xmms
Exibe os PIDs que estejam execudando sobre o xmms
pidof -x xmms
Obtem o PID do numero do processo digitado
pidof NOME_DO_PROCESSO
EX:
pidof ntop
2.35 comando quota = exibe informaes de cota de utilizao de disco
de um usuario. Sintaxe:
quota -F format-name -guv | q
quota -F format-name -uv | q user
quota -F format-name -gv | q group
Exibe a cota dos grupos a que o usurio pertence
quota -g
Exibe informaceos de cota do usurio
quota -u
Exibe cotas para sistemas de arquivos onde nao est alocado armazenamento
quota -v
2.36 comando quotacheck = percorre um sistema de arquivo para ver a
utilizao de disco por um usurio ou grupo e produz os resultados nos
arquivos [Link] e [Link]. Sintaxe:
quotacheck -guv -F quota-format -a | filesystem
Verifica todos os sistemas de arquivos no arquivo /etc/fstab
quotacheck -a
Verifica os arquivos e diretrios ussados por uma ID de grupo em particular
quotacheck -g
Verifica os arquivos e diretrios usados por uma ID de usurio em particular
quotacheck -u
Exibe cotas para sistemas de arquivos onde nao esta alocado armazenamento
quotacheck -v
2.37 comando quotaoff = desativa cotas de utilizacao de disco de um
ou mais sistemas de arquivo.
sintaxe: quotaoff -g -u -a | filesystem
quotaoff -a = desativa cotas de todos os sistemas de arquivos
em /etc/fstab
quotaoff -g = desativa as cotas de grupo dos sistemas de arquivo
especificados
quotaoff -u = desativa as cotas de usuario dos sistemas de arquivo
especificados
2.38 comando quotaon = ativa as contas de utilizao de disco de um
ou mais sistemas de arquivos. Sintaxe:
quotaon -g -u -a | filesystem
Ativa as cotas de todos os sistemas de arquivo em /etc/fstab
quotaon -a
Ativa as cotas de grupo dos sistemas de arquivo especificados
quotaon -g
Ativa as cotas de usurio dos sistemas de arquivo especificados
quotaon -u
2.39 comando mesg = permite ou nao o recebimentos de requisies de talk
de outros usurios. Sintaxe:
mesg [_y/n_]
Onde: _y_ permite que voc receba talks de outros usurios.
Digite `mesg para saber se voc pode ou no receber talks de outros
usurios. Caso a resposta seja n voc poder enviar um talk para
algum mas o seu sistema se recusar em receber talks de outras
pessoas.
interessante colocar o comando `mesg y em seu arquivo de inicializao
.bash_profile para permitir o recebimento de talks toda vez que entrar
no sistema.
2.40 comando groups = exibe os grupos em que o usurio atual est
cadatrado no arquivo /etc/group
groups
2.41 comando dumpe2fs = exibe informaes sobre uma partio
Exibe informaes sobre a partio /dev/hda1
dumpe2fs /dev/hda1
Exibe apenas os blocos defeituosos da partio /dev/hda1
dumpe2fs -b /dev/hda1
2.42 comando tload = exibe de forma grfica a carga do sistema
tload
Exibe uma escala vertical
tload -s 1 10
Especifica o intervalo de atualizaes em 4 segundos
tload -d 4
2.43 comando ldconfig = cria as ligaes e cache para os arquivos de
bibliotecas mais recentes.
Carrega as novas bibliotecas
ldconfig
Exibe as bibliotecas de sistema instaladas atualmente no seu sistema.
Voc tambem pode visualizar o arquivo /etc/[Link] que contem os
diretrios onde se encontram os arquivos de bibliotecas
ldconfig -v | more
2.44 comando set = visualiza as variveis de ambiente disponveis para o
usuario atual.
set
Visualiza o conteudo da variavel $PATH
echo $PATH
Exporta uma varivel $LINGUAGEM com o valor portugues
export LINGUAGEM=portugues
Para vistualizar a variavel $LINGUAGEM
echo $LINGUAGEM
Exporta a varivel chamada $http_proxy com o valor [Link]:8008
export http_proxy=[Link]:8008
2.45 comando locale = exibe as variveis de localizao do sistema e seus
respectivos valores. As principais variveis de localizao so:
LANG = especifica o idioma e o pas. A lingua portuguesa do brasil
especificada com o valor pt_BR e a lingua inglesa com o valor C.
Para especificar mais de um idioma, use :. EX:
export LANG=pt_BR
export LANG=pt_BR:C
LC_MESSAGES = especifica o idioma que serao mostradas as mensagens dos
programas. O formato o mesmo que a varivel de localizacao LANG.
export LC_MESSAGES=pt_BR
export LC_MESSAGES=pt_BR:C
LC_ALL = especifica todas a variaveis de localizacao de uma s vez.
Seu formato o mesmo da varivel de localizao LANG.
Nota: Os arquivos de localizao esto armazenados no caminho:
/usr/share/locale/[Idioma]/LC_MESSAGES
Nota2: As variveis de ambiente podem ser especificadas no arquivo
/etc/environment
Desta forma as variveis sero carregadas toda a vez que seu sistema for
iniciado. Voc tambm pode especificar as variveis de localizao em seu
arquivos de inicializao
.bash_profile
.bashrc
ou
.profile
assim toda vez que entrar no sistema, as variveis de localizao personali-
zadas sero carregadas.
2.46 comando lsof = exibe todos os arquivos abertos. timo para prevenir
algum tipo de ataque. Este programa vai dizer a voc se alguma coisa
esta rodando um sniffer e ele vai logar tudo sobre o invasor em seus
arquivos de LOG. Este comando (list open files) exibe informaes de todos
os arquivos abertos do sistema. O comando lsof utilizado para mostrar os
arquivos que esto abertos no sistema. Sozinho o comando lsof mostra todos
os arquivos abertos, mas o mesmo possui muitos parmetros.
Para exibir uma lista de todos os arquivos abertos (inclusive arquivos
de rede como sockets, arquivos nfs etc
lsof | less
Para exibir apenas o equivalente do comando sockstat
lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 1876 root 4u IPv6 14621287 TCP maq8:ssh->[Link]:1138 (ESTABLISHED)
sshd 2555 user 4u IPv6 14621287 TCP maq8:ssh->[Link]:1138 (ESTABLISHED)
portmap 3582 bin 3u IPv4 2926 UDP *:sunrpc
portmap 3582 bin 4u IPv4 2927 TCP *:sunrpc (LISTEN)
vi 3878 userY 3u IPv4 12867647 TCP maq8:45119->starway:6000 (ESTABLISHED)
kadmind 4285 root 6u IPv4 4263 TCP *:kerberos-adm (LISTEN)
kadmind 4285 root 9u IPv4 4264 UDP *:464
krb5kdc 4310 root 6u IPv4 4309 UDP [Link]:kerberos
krb5kdc 4310 root 9u IPv4 4310 UDP [Link]:kerberos-iv
krb5kdc 4310 root 10u IPv4 4311 UDP [Link]:kerberos
krb5kdc 4310 root 11u IPv4 4312 UDP [Link]:kerberos-iv
xinetd 4447 root 5u IPv4 4772 UDP *:amanda
xinetd 4447 root 6u IPv4 4773 TCP *:pop-3 (LISTEN)
xinetd 4447 root 8u IPv4 4774 TCP [Link] (LISTEN)
Para visualizar os arquvos j removidos que continuam abertos
e sendo utilizados
lsof | grep DEL
gconfd-2 15606 user mem DEL 254,2 864953 /usr/lib/[Link].0.400.0
gconfd-2 15606 user mem DEL 254,2 864955 /usr/lib/[Link].0.400.0
gconfd-2 15606 user mem DEL 254,2 864951 /usr/lib/[Link].0.400.0
gconfd-2 15606 user mem DEL 254,2 864949 /usr/lib/[Link].0.400.0
Nesse caso o processo gconfd-2 continua usando bilbiotecas antigas que
j foram removidas do sistema (porque foram atualizadas para verses mais
novas). Apesar dos arquivos no aparecerem com o comando ls, eles ainda
esto no sistema de arquivos at que o processo os libere. Quando o gconfd-2
foi reiniciado ele usar as novas bibliotecas e o sistema ento remover
as antigas definitivamente. Esse comportamento permite que um sistema seja
atualizado completamente mesmo com diversos programas sendo excutados.
Verifica que programa est associado s portas sob suspeio
lsof | less
Verifica se a porta 6000 que pertence ao X Windows est aberta
lsof | less | grep 6000
possvel obter uma lista de usurios e programas que estejam utilizando
um determinado arquivo (e possivelmente bloqueando-o)
lsof /var/log/secure
Lista os programas que esto utilizando as portas TCP ou UDP do seu
computador
lsof -i
Os arquivos antigos continuaro ocupando espao em seu disco
lsof | grep \;
para ter uma idia de quantos arquivos antigos ainda esto abertos por
processos e no podem ser deletados.
Para exibir os arquivos abertos identificado pelo nome de usurio,
representado aqui pelo identificador usurio:
lsof -u usurio
Para exibir os arquivos abertos por um determinado grupo, identificado
aqui numericamente pela varivel n:
lsof -g n
Para exibir os arquivos abertos por um determinado nmero de processo
(PID), representado aqui pela varivel n:
lsof -p n
Para exibir os arquivos que cada usurio logado est utilizando
atualmente:
lsof -u<login>
Alguem utiliza o [Link] Postfix + amavis + uvscan? Pois eu estou
tentando configurar o Amavis + o uvscan para funcionar com o meu postfix
e no consigo. Quando eu tento enviar uma mensagem o cliente de correio
me retorna porta 25 indisponvel, verifiquei as portas abertas e constatei
que a porta 25 est fechada. Se alguem tiver alguma informao e/ou
configurao para me mandar eu agradeo.
Bem, veja quem est rodando na sua porta 25 com o comando:
lsof -i tcp:25
A seguir, veja em qual porta o Postfix est rodando atrarvs do comando:
lsof -i tcp:smtp
Tenho um servidor com mysql, e consigo conectar a todas as databases se
estiver servidor, poremm quando tento conectar atravs de um cliente
grfico em outra maquina no consigo conectar, ponho o ip da maquina, o nome
da maquina e nada.
O mysql costuma fazer um arquivo <nomedamaquina>.err no mesmo diretorio onde
ficam os databases, mas varia de acordo com a distro e vc no falou qual .
Este arquivo costuma ter algumas informaes relevantes. Tambm tem um [Link]
que costuma ter as configuraes do mysql, mas vc tambm no postou ele aqui.
Tenta mostrar a sada do comando:
lsof -i:3306
Pra gente ver se mostra alguma coisa. Eu desconfio que o mysql no abriu a
conexo tcp/ip, s est ouvindo no soquete. Isto pra no falar se tem algum
iptables configurado, etc.
Uma outra alternativa para descobrir o processo rodando em determinada
porta usando o comando lsof
lsof -i tcp:25
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sendmail 816 root 4u IPv4 1131 TCP *:smtp (LISTEN)
sendmail 4799 root 4u IPv4 37493002 TCP [Link]->[Link]:smtpYN_SENT)
sendmail 5897 root 4u IPv4 37504728 TCP [Link]-
>[Link]:smtpSTABLISHED)
sendmail 5897 root 6u IPv4 37504728 TCP [Link]-
>[Link]:smtpSTABLISHED)
sendmail 5976 root 4u IPv4 37492525 TCP [Link]-
>[Link]:smtpYN_SENT)
sendmail 6028 root 6u IPv4 37493546 TCP [Link]->200-207-128-
[Link]:smtpYN_SENT)
Neste caso, foram listadas todas as conexes do sendmail, que usa a porta de
nmero 25 do protocolo tcp, juntamente com a identificao dos processos,
entre outras informaes.
A glibc (GNU C Library) a biblioteca bsica usada por praticamente
todos os programas em sistemas GNU/Linux. Riley Hassell da eEye Digital
Security publicou[2] um anncio sobre uma vulnerabilidade[3][4] na
biblioteca XDR usada por diversos sistemas, inclusive pela glibc. A
funo xdrmem_getbytes() (e outras funes da mesma famlia xdrmem_*)
possui uma vulnerabilidade de estouro de inteiro que pode ser explorada
por atacantes remotos para derrubar servios que usam essas funes ou
mesmo executar cdigo arbitrrio. Soluo: recomendado que todos os
usurios faam a atualizao. Todas as aplicaes que estiverem rodando
no momento da atualizao devem ser reiniciadas. Uma forma de verificar
que aplicaes so essas executando o comando
lsof | grep \;
A primeira coluna da sada do comando acima conter o nome da aplicao
que dever ser reiniciada. Se houver dvidas quanto a esse procedimento,
recomendamos que a mquina seja reiniciada.
Verifiquei via nmap que tenho a porta 32768 aberta em um de meus servidores
(RH7.3). Procurei no netstat e aparece ainda a 32769
Proto Recv-Q Send-Q Endereo Local Endereo Remoto Estado
tcp 0 0 *:32768 *:* OUA
tcp 0 0 [Link] *:* OUA
udp 0 0 *:32768 *:*
udp 0 0 *:32769 *:*
Como verifico qual programa est ouvindo nessa porta?
lsof -i
2.47 comando SuperProbe = exibe informaess sobre a placa de
video, como mmoria, chipset etc.
SuperProbe
First video: Super-VGA
Chipset: ATI 264GT3 (3D Rage Pro) (Port Probed)
Memory: 8192 Kbytes
RAMDAC: ATI Mach64 integrated 15/16/24/32-bit DAC w/clock
(with 6-bit wide lookup tables (or in 6-bit mode))
(programmable for 6/8-bit wide lookup tables)
Attached graphics coprocessor:
Chipset: ATI Mach64
Memory: 8192 Kbytes
2.48 comando fold = permite alterar a largura das linhas de um arquivo.
O comando fold faz parte do pacote textutils. Esta alterao pode ser feita
contando-se os bytes, palavras, ou atravs de um valor pr-definido para o
comprimento de linha que se desenha. O comportamento padro do comando fold
quebrar as linhas em 80 colunas.
Com estas opes as linhas sero quebradas na 60 coluna, aps um espao
em branco(-s), impedindo que palavras sejam partidas
fold -s -w 60 [Link]
2.49 comando history = exibe o histrico dos ltimos 1000 comandos de um
usurio
Exibe os ltimos 10 comandos digitados
history 10
Limpa o histrico corrente
history -c
2.50 O diretrio /proc = o sistema de arquivos /proc um sistema de ar-
quivos virtual. Isto significa que ele no existe fisicamente no winchester
Um sistema e arquivos virtual pode ser entendido como aquele que no deixa
rastro em seu winchester, ou seja, este sistema de arquivos est na memria
primria. O /proc criado on the fly durante o processo de incializao
do linux. Ele possui diferentes estruturas de dados e informaes colhidas
do kernel linux.
Obtem informaes sobre placas PCI
lspci
lspci -v
lspci -vv
lspci -vvv
Exibe a quantidade de memria RAM em MB
free -m
Exibe estatisticas sobre a memria virtual
vmstat
Exibe a verso do kernel atual
uname -a
Exibe o tipo de mquina (hardware)
uname -m
Exibe o nome de rede da mquina
uname -n
Exibe a verso (release) do kernel
uname -r
Exibe o nome do sistema operacional
uname -s
Exibe a data da compilao do kernel
uname -v
Informaes sobre gerenciamento de energia
cat /proc/apm
Linha de comando para inicializar o kernel
/proc/cmdline
Informaes sobre a CPU
/proc/cpuinfo
Informaes sobre dispositivos usados o sistema
/proc/devices
Informaes sobre os canais DMA usados por dispositivos
/proc/dma
Informaes sobre os filesystems em uso
/proc/filesystems
Informaes sobre as interrupes (IRQ)
/proc/iterrupts
Informaes sobre s endereos de entrada e sada (I/O)
/proc/ioports
Corresponde a toda a memoria RAM do PC
/proc/kcore
Informaes sobre mensagens do kernel linux
/proc/kmsg
Informaes sobre mdia de carga do PC
/proc/loadavg
Informaes sobre o uso da memria no PC
/proc/meminfo
Informaes sobre outras configuraes
/proc/misc
Informaes sobre mdulos atualmente carregados no kernel linux
/proc/modules
Informaes sobre os filesystems atualmente montados
/proc/mounts
Informaes sobre sobre placas PCI
/proc/pci
Informaes sobre o relogio em tempo real do sistema
/proc/rtc
Exibe o tempo em que o sistema est funcionando
/proc/uptime
Informaes sobre a verso atual do kernel linux
/proc/version
Informaes sobre como esta particionado cada HD
/proc/partitions
Lista os dispositivos de rede. Observe que pode no haver uma correspon-
dncia entre os dispositivos listados e dispositivos fsicos como placas
de rede. O dispositivo lo representa a interface de loopbacke no uma placa
de rede
/proc/net/dev
Informaes sobre placas ISA plug and play
pnpdump config
Diretrio que exibe informaes sobre rede
/proc/net/
Informaes sobre dispositivos
/proc/net/dev
Estatsticas da rede
/proc/net/snmp
Informao sobre o socket BSICO (RAW)
/proc/net/raw
Informao sobre o socket TCP
/proc/net/tcp
Informao sobre o socket UDP
/proc/net/udp
Informao sobre o socket de domnio Unix
/proc/net/unix
Informao sobre o socket IPX
/proc/net/ipx
Informao sobre o socket AX25
/proc/net/ax25
Informao sobre o socket DDP (Appletalk)
/proc/net/appeltalk
Informao sobre o socket NET/ROM
/proc/net/nr
Informao sobre os roteamentos IP realizados pelo kernel
/proc/net/route
Informao sobre os roteamentos AX25 realizados pelo kernel
/proc/net/ax25_route
Informao sobre os roteamentos IPX realizados pelo kernel
/proc/net/ipx_route
Lista de ns NET/ROM do kernel
/proc/net/nr_nodes
Conexes mascaradas do kernel
/proc/net/ip_masquerade
Nmero mximo de arquivos que podem ser abertos
/proc/sys/fs/file-max
Para exibir todas as variveis e seus valores separados pelo sinal de igual
do sistema de arquivos /proc digite:
sysctl -a
Para exibir o valor de uma varivel digite:
sysctl net/ipv4/conf/all/rp_filter
ou
cat /proc/sys/net/ipv4/conf/all/rp_filter
Para atribuir um novo valor para a varivel digite:
sysctl -w net/ipv4/conf/all/rp_filter=1
ou
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
Conta ao kernel linux qual o tempo do live que ser colocado nos pacotes
que deixaro o host. O valor default 64
/proc/sys/net/ipv4/ip_default_ttl
Fornece ao servidor o recurso de linux router server, ou seja, que encaminhe
IP entre as diversas interfaces de rede. O valor booleano e o default 0
(desabilitado). Para habilitar, basta trocar o 0 por 1
/proc/sys/net/ipv4/ip_forward
O pmtu (Path Maximum Transfer Unit) um valor booleano que pode ser habi-
litado para descobrir o mtu entre este host e um end host. O pmtu e o mtu
so coisas diferentes. o mtu conta ao kernel sobre a mxima unidade de
transferencia para suas conexes, mas no sobre todas conexo at o end-host.
O pmtu tenta descobrir o mtu para um end host incluindo todos os hops no
caminho. O valor default 1
/proc/sys/net/ipv4/ip_no_pmtu_disc
Permite que processos locais faam o bind com um endereo IP no local.
Isto til em alguns casos de snnifers para um determinado host. O valor
default 0
/proc/sys/net/ipv4/ip_nonlocal_bind
Se o valor for 1, o kernel linux ignorar todas os ICMP ECHO REQUESTS
/proc/sys/net/ipv4/icmp_echo_ignore_all
Funciona como a varivel icmp_echo_ignore all exceto que ir ignorar
somente mensagens ICMP enviadas para o endereo de broadcast ou multicast.
O valoe default 0
/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
a taxa mxima na qual o kernel linux gerar mensagens ICMP do tipo es-
pecificado na varivel icmp_ratemask. O valor o nmero de jiffies
(1 jiffy = 1/100 sc) entre o envio de 2 mensagens semelhantes. O valor
dafult 100 o que significa que um pacote ICMP pode ser enviado em 100
jiffies. O valor 0 significa no limitado envio de ICMPs
/proc/sys/net/ipv4/icmp_ratelimit
Atribui a mscara do qual tipos de ICMPs sero limitados atravs da vari-
vel icmp_ratelimit
/proc/sys/net/ipv4/icmp_ratemask
Este valor a soma de 2 ^ n, onde o n cada tipo especificado de ICMP
(como especificado no cabealho de arquivos do kernel linux). Alguns tipos:
0 echo reply
3 destination unreachable
4 source quench
5 redirect (change route)
8 echo request
11 time exceeded
12 parameter problem
13 timestamp request
14 timestamp reply
15 information request
16 information reply
17 address mask request
18 address mask reply
O valor default desta varivel 6168 que significa que ICMP Destination
Unreachable, ICMP Source Quench, ICMP Time Exceeded e ICMP Parameter Problem
a mascara. Veja:
2 ^ 3 + 2 ^ 4 + 2 ^ 11 + 2 ^ 12
Esta varivel contar ao kernel linux quando ele deve aceitar ICMP Redirects
ou no. ICMP Redirects so usados para contar a um host que existe um caminho
melhor para enviar pacotes para um especfico host ou rede. O valor default
1
/proc/sys/net/ipv4/conf/nome_da_interface/accept_redirects
Conta ao kernel linux se ele tem permisso para rotear pacotes pela origem.
O valor default 1
/proc/sys/net/ipv4/conf/nome_da_interface/accept_source_route
Conta ao kernel linux se um endereo IP deve ser ligado com um endereo
ARP especfico ou no. O kernel linux decide se responde para um pacote en-
trando numa interface de rede, se ele envia a respsota pelo mesmo endereo
da interface ou no. Se o valor desta varivel for verdadeiro (1) isso o
que acontece. O valor default 0
/proc/sys/net/ipv4/conf/nome_da_interface/arp_filter
Habilita o encaminhamento de IP para dispositivos especficos. Isto til
para habilitar o encaminhamento entre 2 interfaces e uma terceira deixar de-
sabilitada. O valor default o mesmo que o valor de ipv4/ip_forward, assim
se o valor atribudo a ip_forward for 1, todas as variveis forwarding sero
1 tambm
/proc/sys/net/ipv4/conf/nome_da_interface/forwarding
Permite o log de todos os pacotes que contm endereo impossvel/
invlido/marciano. O valor default 0
/proc/sys/net/ipv4/conf/nome_da_interface/log_martians
Permite o roteamento multicast para um dispositivo especfico. O valor
default 0
/proc/sys/net/ipv4/conf/nome_da_interface/mc_forwarding
Atribui proxy arp para uma interface. Este recurso deve ser habilitado
nas interfaces que se deseja para responder a ARP queries. O valor default
0
/proc/sys/net/ipv4/conf/nome_da_interface/proxy_arp
Atribui o filtro de caminho reverso para uma interface. O RP serve para
validar que o atual endereo de origem usadoa por alguns pacotes estejam
correlacionados com uma tabela de rotas e que pacotes com este IP de origem
so supostamente respondidos atravs da mesma interface
/proc/sys/net/ipv4/conf/nome_da_interface/rp_filter
Permite o redirecionamento seguro. Se no estiver habilitado, o kernel linux
aceitar ICMP redirect de qualquer host. Se habilitado, todos os ICMP redi-
rects sero somente aceitos de gateways litados na lista de gateway default.
Com isto poderemos nos livrar de redirecionamentos ilegais que podem ser
maliciosos. O valor default 1
/proc/sys/net/ipv4/conf/nome_da_interface/secure_redirects
Permite informar ao kernel linux se a interface fsica conectada compar-
tilhada ou no. Isto se diversas e diferentes redes IP com diferentes
mscaras operarem sobre uma mesma mdia ou no. O objetivo principal dessa
varivel informar ao kernel se deve enviar ICMP redirects para uma rede
especfica ou no. O valor default 1
/proc/sys/net/ipv4/conf/nome_da_interface/share_media
3 COMANDOS DE INICIALIZACAO E ENCERRAMENTO DO GNU/LINUX
3.1 comando sync = salva as informaes em cache de disco. Isso fora
todas as informaes alteradas a serem salvas no disco. O comando faz o
sistema copiar buffers para o disco. Use o comando sync antes de desligar
o sistema, ou seja, antes do comando shutdown
sync
3.2 comando reboot = reinicia o sistema imediatamente. Deve ser usado
com cuidado pois no faz chamada ao comando sync e isto pode gerar
inconsistncias no sistema de arquivos que somente o fsck poder
consertar
reboot
3.3 comando shutdown = reinicia ou desliga o sistema de forma segura
Reinicia o sistema neste exato momento
shutdown -r now
Desliga o computador neste exato momento
shutdown -h now
Reinicia o sistema daqui 8 minutos
shutdown -r +8
O computador entra em modo mono-usurio as 19:00 horas
shutdown 19:00
Desliga o computador as 19:00 horas
shutdown -h +19:00
Desliga o computador as 06:00 horas da manh
shutdown -h +06:00
Reinicia o sistema daqui a 23 minutos
shutdown -r 23
Cancela a execuo do comando shutdown
shutdown -c
Cancela a execucao do shutdown enviando uma mensagem aos usurios do sistema
shutdown -c mensagem
Envia uma mensagem para os usurios do sistema sem reiniciar o PC
shutdown -k mensagem
Sequncia para desligamento do computador:
sync
sync
shutdown -h now
ou
sync; sync; shutdown -h now
Sequencia para reiniciar o computador:
sync
sync
shutdown -r now
ou
sync; sync; shutdown -r now
3.4 comando exit = termina a sesso atual
3.5 comando logout = termina a sesso atual
3.6 comando sleep = causa um processo para torna-se inativo
3.7 comando su = executa um interpretador de comandos com substituio
de usurio e grupo sem efetuar logout do usuario atual. su permite que
um usurio torne-se outro temporariamente.
su nome-do-usuario
Para retornar ao usurio anterior, tecla CTRL+D ou digite exit
3.8 comando rlogin = inicia uma sessao de terminal remoto
rlogin -l username host
Opes:
-x = ativa a criptografia dos dados que forem transmitidos
3.9 Servicos no gnu/linux
Debian, Kurumin, Ubuntu
Iniciar servico = /etc/init.d/nome-do-servico start
Parar servico = /etc/init.d/nome-do-servico stop
Reiniciar servico = /etc/init.d/nome-do-servico restart
RedHat, Fedora
Iniciar servico = /etc/rc.d/init.d/nome-do-servico start
Parar servico = /etc/rc.d/init.d/nome-do-servico stop
Reiniciar servico = /etc/rc.d/init.d/nome-do-servico restart
3.10 comando crontab = apresenta ou altera a tabela cron (crontab) de um
usurio. A tabela cron especifica acoes programadas que sao executadas pelo
daemon cron.
Edita o arquivo crontab do usuario que esta executando o comando
crontab -e
Exibe o arquivo crontab do usuario que esta executando o comando
crontab -l
Exclui o arquivo crontab do usuario que esta executando o comando
crontab -r
3.11 comando halt = para o sistema.
Desliga o sistema
halt
Fora o desligamento do sistema
halt -f
Desliga as interfaces de rede antes do desligamento total do sistema
halt -i
Ao paralisar o sistema, desliga o computador
halt -p
Desliga o sistema mas no registra o desligamento no arquivo /var/log/wtmp
Por padrao registrado o desligamento neste arquivo
halt -d
3.12 comando login = estabelece login com o sistema.
Pede o login e o password para o user1
login user1
Usado para evitar uma segunda autenticao de acesso. Isso no funciona
para o o usurio root
login -f user2
Usado por getty para dizer ao login no destruir o ambiente
login -p
Usado por outros servidores (por exemplo telnetd) para passar o nome para
o servidor remoto para acessos que podem ser colocados em utmp e wtmp. Apenas
o usurio root pode usar esta opo
login -h nome-da-maquina
3.13 comando chkconfig = faz com que servios sejam inicializados/fiquem
parados nos modos de inicializao do RedHat ou Fedora GNU/Linux(init 1,
2, 3, 4, 5)
Modo grafico = 5
Modo texto = 3
Habilita o servio sshd no modo texto(3)
chkconfig level 3 sshd on
Habilita o servio squid no modo grafico(5)
chkconfig level 5 squid on
Habilita o servico httpd nos modos de inicializacao 3, 4 e 5
chkconfig level 345 httpd on
3.14 comando startx = inicializa um gerenciador de janelas do X.
Se voc quiser iniciar mais de um X, voc dever adicionar alguns
parmetros, a partir da segunda sesso X
startx :1
Executa o terceiro X11, silenciosamente e em segundo plano para no
bloquear o console
startx :2 -quiet &
Executa o quarto X11, com uma profundidade de cor de 24 bits
startx :3 -bpp 24
#######################################################################
4 COMANDOS DE CONTROLE DE ACESSO E USUARIOS/GRUPOS
4.1 comando useradd ou adduser = adiciona um usuario no sistema. Por
padro, quando um novo usuario adicionado, criado um grupo com o
mesmo nome do usuario. Sera criado um diretorio home com o nome do usurio
e este recebera uma identificacao.
Para criar o usurio chamado jordam
useradd jordam
Fora a criao do diretrio home do usurio jordam
useradd -m jordam
Cria o usurio jordam com a ID 800
useradd -u 800 jordam
Cria o usurio jordam com o nome do grupo chamado admin
useradd -g admin jordam
Cria o usurio jordam com o seu shell apontando para /bin/false
(ele no ir conseguir se logar no sistema)
useradd jordam -s /bin/false
Cria o usurio jordam especificando seu diretrio home em /home/users/
ao invs de /home/jordam
useradd -d /home/users jordam
Cria o usurio jordam colocando-o no grupo admin e tambm nos
users e postgresql
useradd -g admin -G users,postgresql jordam
Adiciona o usurio jordam no grupo users com o diretrio home em
/home/jordam e seu nome pessoal Mister Jordam. Se voc no especi-
ficar qualquer parametro ento sero utilizadas as configuraes padro
contidas no arquivo /etc/default/useradd. Alm disso, o contedo do
diretrio /etc/skel ser copiado para o diretrio deste novo usurio
useradd -g users -d /home/jordam -c Mister Jordam jordam
4.2 comando passwd = cria/modifica a senha de um usurio
Altera senha do usurio jordam
passwd jordam
Bloqueia/travar login do usurio jordam
passwd -l jordam
Desbloqueia/destrava login do usuario jordam
passwd -u jordam
4.3 comando usermod = modifica a conta de um usurio
Altera o diretrio home do usurio jordam
usermod -d nome_do_diretorio jordam
Define uma data de expirao para a conta do usurio jordam, aps ela
ser desativada. A data deve estar no formato YYYY-MM-DD
usermod -e YYYY-MM-DD jordam
Fornece um novo ajuste para o nmero de dias depois que uma senha
expira, quando ela ser permanentemente desativada
usermod -f numero_de_dias_inativos usuario1
Altera o nome do login do usurio jordam para jordam23
usermod -l jordam23 jordam
Altera o shell padro do usurio jordam
usermod -s nome_do_shell jordam
Altera o nmero de identificao (UID) do usurio jordam
usermod -u UID jordam
Configura a data de expirao da conta do usurio jordam para 21
de Agosto de 2003
usermod -e 2003-8-21 jordam
Faz com que o usurio jordam passe a ser membro do grupo users
usermod -G users jordam
4.4 comando userdel = remove um usurio do sistema
Remove o usurio jordam
userdel jordam
Remove o usurio jordam e tambm seu diretrio home (/home/jordam)
userdel -r jordam
Procura e remove arquivos que pertenciam ao usurio jordam cujo UID
800 (checar o arquivo /etc/passwd) que se encontram em outros diret-
rios no sistema
find / -type f -uid 800 -print -exec rm {} \;
4.5 comando groupadd ou addgroup = adiciona um grupo ao sistema
Cria um grupo chamado reporteres no sistema
groupadd reporteres
Cria um grupo chamado artistas especificando o nmero de identificao
do grupo (GID) como 823
groupadd -g 823 artistas
OBS: Logo aps a criao de um grupo, pode-se acrescentar uma senha
ao mesmo. Pra isso, basta digitar o comando
gpasswd nome_do_grupo
4.6 comando groupmod = modifica informae sobre um grupo
groupmod grupo1
4.7 comando groupdel = exclui um grupo do sistema. Voc nao pode remover
o grupo primario de um usuario. Remova o usuario primeiro.
Exclui o grupo artistas do sistema
groupdel artistas
Procura todos os arquivos pertencentes ao grupo cuja ID 960 e depois
usa o comando chgrp para alterar a posse de grupo do arquivo para o
grupo chamado novogrupo
find / -type f -uid 960 -print -exec chgrp novogrupo {} \;
4.8 comando chgrp = altera o GRUPO de arquivos/diretorios. O grupo de
um arquivo/diretorio s poder ser alterado pelo seu respectivo dono.
Altera o grupo atual do arquivo [Link] para o grupo projetos
chgrp -c -v projetos teste1
Altera o grupo atual do diretrio pesquisa para o grupo projetos
e tambm de todos os arquivos e subdiretorios presentes no diretrio
pesquisa
chgrp -R -c -v projetos pesquisa
4.9 comando chown = altera o proprietrio/dono e/ou o nome do grupo de
arquivos/diretrios
Altera o dono do arquivo [Link] para o usurio jordam e grupo
admin exibindo o resultado do comando (opo -v)
chown -v [Link] [Link]
Altera o dono do diretrio textos bem como seus sub-diretrios (opo -R)
para o usurio jordam e grupo admin
chown -v -R [Link] textos
Altera o dono do arquivo [Link] para o usurio jordam
chown jordam [Link]
4.10 comando chmod = altera as permisses de acesso de arquivos/diretrios
drw-rr 1 root root 361 Nov2000 07:23AM [Link]
a b c d e f g h
a permisses do arquivo
b nmero
c dono/proprietrio do arquivo
d grupo do arquivo
e tamanho em bytes do arquivo
f data de criacao do arquivo
g hora de criacao do arrquivo
h nome do arquivo
d rwx rwx rwx
| | | |
| | | |_ acesso aos demais usuarios que nao sao do grupo do dono do arquivo
| | |
| | |_ grupo do proprietario do arquivo
| |
| |_ proprietario do arquivo
|
|_ indica que um diretorio
r read (Leitura) copiar, visualizar, imprimir:
* arquivo: significa que se pode ler o arquivo (atravs de um cat por
exemplo.
* diretrio: significa que se pode ver o contedo do diretrio (atravs de
ls por exemplo). Porm observe a explicao sobre a permisso de execuo mais
abaixo.
w write (escrita, gravao): mover, apagar, modificar
* arquivo: significa que se pode adicionar contedo e alterar um arquivo.
* diretrio: significa que se pode criar e/ou apagar qualquer, repito QUALQUER
arquivo e/ou diretrio que esteja dentro deste, mesmo que no se tenha
permisso
alguma para o arquivo/diretrio a ser apagado. Observe a explicao sobre
permisso de execuo abaixo e sticky bit em 2.2. NUNCA deixe o seu
diretrio
home com esta permisso para outros (tambm conhecida como world-writable).
x eXecute (execuo)
* arquivo: pode-se executar o programa ou shell script (se um arquivo texto
no for um script e tiver esta permisso e voc executar vai dar um monte de
command not found).
* diretrio: significa que pode-se entrar no diretrio. Esta permisso
importante quando atribuda a um diretrio. De nada adianta uma permisso
w se no tiver x. J no caso do r sem x ainda podemos ver o contedo
do diretrio, porm com algumas limitaes. Mas na hora de executar um find
precisamos ter r e x.
= sem permisso
PERMISSES OCTAIS (modo octal)
0 = nenhuma permissao para o arquivo ()
1 = permissao para executar o arquivo (x)
2 = permissao para gravar(escrever) no arquivo (-w-)
3 = permissao para gravar(escrever) e executar o arquivo (-wx)
4 = permissao para leitura do arquivo (r)
5 = permissao para leitura e execucao do arquivo (r-x)
6 = permissao para leitura e gravacao(escrever) no arquivo (rw-)
7 = permissao para leitura, gravacao(escrever) e execucao do arquivo (rwx)
,-,,,
| octal | permisso | clculo |
|-|||
| 0 | | 0 |
| 1 | x | 1 |
| 2 | -w- | 2 |
| 3 | -wx | 2+1 |
| 4 | r | 4 |
| 5 | r-x | 4+1 |
| 6 | rw- | 4+2 |
| 7 | rwx | 4+2+1 |
-
Um modo fcil de entender como as permisses de acesso octais funcionam,
atravs da seguinte tabela:
1 = executar
2 = gravar
4 = ler
Basta agora fazer o seguinte:
somente permisso de execuo, use 1
somente a permisso de leitura, use 4
somente permisso de gravao, use 2
permisso de leitura/gravao, use 6 (equivale a 2+4/Gravar+Ler)
permisso de leitura/execuo, use 5 (equivale a 1+4/Executar+Ler)
permisso de execuo/gravao, use 3 (equivale a 1+2 /Executar+Gravar)
permisso de leitura/gravao/execuo, use 7 (equivale a
1+2+4/Executar+Gravar+Ler).
OBS: O caracter d no primeiro bit de algumas linhas geradas com
o comando ls, significa que um diretorio. Veja abaixo a lista de
outras opes possiveis:
Caractere Significado
arquivo normal
b dispositivo de blocos
c dispositivo de caracteres
d diretorio
l symbolic link
p FIFO
s socket, atribudo para arquivos de comunicao/memria
t sticky bit um bit utilizado tanto para arquivos como
para diretrios
Em adio as trs permisses bsicas (rwx), existem permisses de
acesso especiais (stX) que afetam arquivos executveis e diretrios:
s = quando usado na permisso de acesso do dono ajusta a identificao
efetiva do usurio do processo durante a execuo de um programa, tambm
chamado de bit setuid. No tem efeito em diretrios. Quando s usado na
permisso de acesso do Grupo ajusta a identificao efetiva do grupo do
processo durante a execuo de um programa, chamado de bit setgid.
identificado pela letra s no lugar da permisso de execuo do grupo do
arquivo/diretrio. Em diretrios, fora que os arquivos criados dentro dele
pertenam ao mesmo grupo do diretrio, ao invs do grupo primrio que o
usurio pertence. Ambos setgid e setuid podem aparecer ao mesmo tempo no
mesmo arquivo/diretrio. A permisso de acesso especial s somente pode
aparecer no campo dono e grupo.
t = salva a imagem do texto do programa no dispositivo swap, assim ele
ser carregado mais rapidamente quando executado, tambm chamado de stick
bit.
Em diretrios, impede que outros usurios removam arquivos dos quais no so
donos. Isto chamado de colocar o diretrio em modo append-only. Um
exemplo de diretrio que se encaixa perfeitamente nesta condio o /tmp
todos os usurios devem ter acesso para que seus programas possam criar os
arquivos temporrios l, mas nenhum pode apagar arquivos dos outros. A
permisso especial t pode ser especificada somente no campo outros
usurios das permisses de acesso.
X = se voc usar X ao invs de x a permisso de execuo somente
afetada se o arquivo ja tiver permisses de execuo. Em diretrios ela tem
o mesmo efeito que a permisso de execuo x.
,-,
| ATRIBUTOS ESPECIAIS |
|-|
| VALOR OCTAL | SIGNIFICADO |
|-|
| 0 | Nenhum atribudo especial ligado |
| 1 | Bit STICKY ligado |
| 2 | Bit SETGID ligado |
| 3 | Bits STICKY e SETGID ligados |
| 4 | Bit SETUID ligado |
| 5 | Bits STICKY e SETUID ligados |
| 6 | Bits SETUID e SETGID ligados |
| 7 | Bits STICKY, SETUID e SETGID ligados |
-
,,
| BIT | SIGNIFICADO |
|
| SETUID | O arquivo executado como se fosse invocado pelo |
| | proprietario; no faz sentido para diretrios. |
|
| SETGID | O arquivo executado sob seu grupo, mesmo que o |
| | usurio que esteja querendo executar o arquivo no |
| | participe dele. Todo arquivo criado em um diret- |
| | rio SETGID criado com o mesmo grupo do diretrio. |
|
| STICKY | Um arquivo criado sob um diretrio com o bit STICKY |
| | ligado pode ser apagado apenas por seu proprietario.|
| | Um programa com o bit STICKY ligado ter seu texto |
| | mantido na area de swap do sistema. |
Altera a permisso do arquivo [Link] para leitura, gravao
e execuo (x) para o seu dono/proprietrio, leitura e execuo
para o grupo do dono/proprietrio e para os demais usurios permisso
de leitura e execuo
chmod -v 755 [Link]
Semelhante a opo -v mas somente exibe os arquivos que tiveram as
permisses alteradas
chmod -c 755 [Link]
A opo -R indica para mudar os acessos de forma recursiva, ou
seja, de todos os arquivos e sub-diretrios do diretrio textos
chmod -v -R 411 textos
Define a permisso de acesso dos outros usuarios(0) como nenhuma, e
define a permisso de acesso do grupo(4) como somente leitura. Utilizei
somente dois nmeros e ento a permisso de acesso do dono do arquivo
no modificada pois o sistema le as permisses de acesso da direita
para a esquerda
chmod 40 [Link]
Liga o bit STICKY do diretrio projetos e da permisso de leitura,
escrita e execuo a todos os usurios do sistema
chmod 1777 projetos
Define a permisso de acesso dos outros usurios(2) para somente exe-
cuo, acesso do grupo(4) como leitura e execuo o acesso do dono(7)
como leitura, gravao e execuo e ajusta o bit setgid(4) para o ar-
quivo [Link]
chmod 4752 [Link]
4.11 comando umask = a umask (user mask) so 3 nmeros que definem as
permisses iniciais do dono, grupo e outros usuarios que o arquivo/diretrio
recebera quando for criado ou copiado. Digite umask sem parmetros para
retornar o valor de sua umask atual. A umask tem efeitos diferentes caso
o arquivo que estiver sendo criado for binario(um programa executvel) ou
texto. Veja a tabela a seguir para ver qual a mais adequada a sua situao:
,-,-,,
| | ARQUIVO | |
| UMASK |-| DIRETRIO |
| | Binrio | Texto | |
|-||||
| 0 | r-x | rw- | rwx |
| 1 | r | rw- | rw- |
| 2 | r-x | r | r-x |
| 3 | r | r | r |
| 4 | x | -w- | -wx |
| 5 | | -w- | -w- |
| 6 | x | | x |
| 7 | | | |
-
Um arquivo texto criado com o comando
umask 012
touch [Link]
receber as permisses -rw-rw-r pois 0 (dono) ter permisses rw-
1 (grupo), ter permisses rw- e 2 (outros usurios) tero permisses
r
Um arquivo binrio copiado com o comando
umask 012;cp /bin/ls /tmp/ls
receber as permisses `-r-xrr-x (confira com a tabela acima)
Por este motivo preciso um pouco de ateno antes de escolher a
umask, um valor mal escolhido poderia causar problemas de acesso a
arquivos, diretrios ou programas no sendo executados. O valor padro
da umask na maioria das distribuies atuais 022. A umask padro no
Debian GNU/Linux a 022. A umask de grande utilidade para programas
que criam arquivos/diretrios temporrios, desta forma pode-se bloquear
o acesso de outros usurios desde a criao do arquivo, evitando recor-
rer ao comando chmod. Quando um arquivo criado ele recebe certos
valores de propriedade, como o UID do dono (normalmente o criador do
arquivo), o valor de propriedade do grupo GID (geralmente o grupo a que
o dono pertence quando o arquivo criado) e outros valores de permisso
de acesso derivados dos valores associados ao valor umask do dono, no
momento da criao. Estes valores umask so definidos geralmente no arquivo
/etc/profile com os seguintes valores
Para o superusurio (root):
umask 002
Para os demais usurios do sistema:
umask 022
Algarismo 0 = nenhum tipo de acesso
Algarismo 2 = acesso somente leitura
Algarismo 6 = acesso completo (leitura e gravao)
A umask funciona retirando permisses, ou seja, a permisso padro do
sistema seria 666, mas com um valor de 002, no caso do superusurio,
teramos 664 (666-002=664), o que significa que quando um arquivo for
criado pelo superusurio ele vai ter suas permisses inicias em
-rw-rw-r, permitindo escrita e leitura para o dono do arquivo e ao
grupo ao qual ele pertence, porm somente leitura para os demais
usurios do sistema. J no caso dos usurios comuns do sistema, todo
arquivo iniciar sua vida com permisses 644 (666-022=644), o que signi-
fica leitura e escrita para o dono (no formato absoluto ser -rw-rr),
enquanto que para o grupo e aos outros usurios do sistema permite apenas
leitura. Alm destas permisses, existe uma permisso especial que permite
que usurios possam executar arquivos de outros donos, com as permisses
destes ltimos. o chamado o suid bit.
chmod a+s [Link]
Com esta linha de comando, o arquivo [Link] pode ser executado por
qualquer usurio (parmetro a all), utilizando as permisses do dono
do arquivo.
4.12 comando chattr = altera atributos de um arquivo
Altera os atributos dos diretrios e de seus contedos
chattr -R
Exibe os detalhes das modificacoes efetuadas
chattr -V
Remove todos os atributos do arquivo [Link]
chattr = [Link]
Adiciona o atributo imutvel no arquivo [Link]
chattr +i [Link]
Remove o atributo imutvel do arquivo [Link]
chattr -i [Link]
Adiciona o atributo para no atualizar a data de acesso do arquivo
[Link]
chattr +A [Link]
Remove o atributo para nao atualizar a data de acesso do arquivo
[Link]
chattr -A [Link]
Adiciona o atributo para que o arquivo [Link] no seja sobrescrito
chattr +a [Link]
Remove o atributo para que o arquivo [Link] seja sobrescrito
chattr -a [Link]
Adiciona o atributo para presevar o contedo do arquivo [Link]
durante uma atualizao
chattr +u [Link]
Remove o atributo para presevar o conteudo do arquivo [Link]
durante uma atualizao
chattr -u [Link]
4.13 comando lsattr = visualiza os atribuidos criados com o comando
chattr em arquivos/diretrios
Lista os atributos do arquivo [Link]
lsattr [Link]
Lista os atribuidos do diretrio /home
lsattr -d /home
Lista os atributos de todos os sub-diretrios do diretrio
/home/jordam/trabalho
lsattr /home/jordam/trabalho
Lista os atributos de todos os arquivos e diretrios dentro do
diretorio /home
lsattr -R /home
Lista todos os arquivos, inclusive os oculdos .
lsattr -a
4.14 comando stat = exibe informaes sobre um arquivo
Lista informaes do arquivo [Link]
stat [Link]
File: `[Link]
Size: 50 Blocks: 8 IO Block: 4096 regular file
Device: 303h/771d Inode: 343223 Links: 1
Access: (0644/-rw-rr) Uid: ( 1000/ edersg) Gid: ( 1000/ edersg)
Access: 2005-07-09 09:07:34.000000000 -0300
Modify: 2005-07-09 09:07:24.000000000 -0300
Change: 2005-07-09 09:07:24.000000000 -0300
4.15 comando mount = monta sistemas de arquivos
Alguns tipos de de sistemas de arquivos
minix, ext2, ext3, hpfs, msdos, umsdos, vfat, proc, nfs, iso9660,
smbfs, ufs, sysv, xenix
Monta o CD-ROM (de dados) no diretrio /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
ou
mount -t iso9660 /dev/cdrom /mnt/cdrom
ou
mount -t iso9660 /dev/hdx /mnt/cdrom
Monta o disquete no diretrio /mnt/disquete
mount /dev/fd0 /mnt/disquete
Monta o disquete no diretrio /mnt/floppy com o sistema de arquivos
DOS, ou seja, FAT32
mount -t vfat /dev/fd0 /mnt/floppy
Monta o disquete no diretrio /mnt/floppy com o sistema de arquivos
ext2
mount -t ext2 /dev/fd0 /mnt/floppy
Monta na particao hdaX (X trocar pela partio correspondente do seu
win98) os arquivos do win98 no diretorio /mnt/win98
mount -t vfat /dev/hdaX /mnt/win98
Monta o arquivo (imagem ISO) [Link] dentro do diretrio
/mnt/imagem tornando acessveis todos os arquivos que esto em [Link]
como se estivesse acessando o CD n 1 do Debian:
mount -t iso9660 -o ro,loop=/dev/loop0 /imagens/[Link] /mnt/imagem
ou
mount -o loop,unhide -t iso9660 -r [Link] /mnt/imagem
Monta a unidade do WinNT no diretorio /home/winnt
mount -t smbfs -o
username=USUARIO,password=SENHA,workgroup=GRUPO //[Link]/share /home/winnt
Como montar um DRIVE a partir da memria RAM disponvel?
EX: Criar um /tmp/ram (32MB) para colocar arquivos temporrios.
Use o tmpfs para isso:
mount -t tmpfs none /tmp/ram -o size=32M
Voc pode mudar seu tamanho depois, fazendo:
mount /tmp/ram -o remount,size=64M
J configurei o NFS no servidor, s no sei como fao para acessar da
minha maquina cliente como montar, esse compartilhamento?
Sintaxe:
mount -t nfs ip-do-serv-nfs:/diretorip /ponto_de_montagem
EX:
mount -t nfs [Link]:/home /mnt/home
Voc vai ter que dar BOOT no PC, entrar com disquete ou CD de Rescue
e montar o / (raiz) na memria, fazer a alterao no fstab e depois
reiniciar Nao precisa. Basta digitar:
mount -n -o remount,rw /
Se voc gravou o arquivo em si, deves montar o CD e depois montar o
arquivo com o seguinte comando:
mount -o loop [Link] /ponto-de-montagem-a-ser-acessado
ou
mount -t iso9660 im_do_cd.iso /mnt/cdrom = poder ser acessado os arquivos
da imagem do CD sem precisar grav-la em uma mdia.
Para montar uma pasta compartilhada do Windows no GNU/Linux:
mount -t smbfs //pc_win2000/pasta /mnt/maq_w2k -o username=Usuario,password=Senha
Formatar disquete para acesso no DOS/Windows 9x, GNU/Linux
fdformat /dev/fd0H1440
Cria o sistema de arquivos etx2 para acesso somente no GNU/Linux
checando blocos ruins:
mke2fs -c -L nome-do-volume /dev/fd0 = cria o sistema de arquivos ext2
no disquete checando blocos ruins e especificando o nome do volume ou
mkfs -t ext2 -c /dev/fd0H1440 = cria o sistema de arquivos ext2 no disquete
checando blocos ruins ou
mkfs.ext2 -c /dev/fd0H1440 = cria o sistema de arquivos ext2 no disquete
checando blocos ruins
Cria o sistema de arquivos ext2 na particao /dev/hda1 checando blocos
ruins e especificando o nome do volume
mke2fs -c -L nome-do-volume /dev/hda1
Cria o sistema de arquivos ext2 na partio /dev/hda2 checando blocos
ruins
mkfs -t ext2 -c /dev/hda2
Cria o sistema de arquivos ext2 na partio /dev/hda3 checando blocos
ruins
mkfs.ext2 -c /dev/hda3
Opes:
-c = checa blocos ruins
-t = especifica o tipo de sistema de arquivos a ser gerado
-L = especifica o nome do volume da particao
Cria(formata) o sistema de arquivos vfat para acesso no DOS/Win9*
checando blocos ruins: (cria o sistema de arquivos e verifica a
existencia de blocos defeituosos antes de formatar)
mkdosfs -c /dev/fd0
Cria o sistema de arquivos e verifica a existencia de blocos
defeituosos antes de formatar
mkdosfs -c /dev/hda1
Indica o tipo de alocacao de arquivo a ser criado. Pode ser FAT12,
FAT16
mkdosfs -F fatsize /dev/fd0
Define o rotulo de volume com o nome de no maximo 11 caracteres
mkdosfs -n nome-do-volume /dev/fd0
Cria o sistema de arquivos FAT e verifica a existencia de blocos
ruins na partio /dev/hda1
[Link] -c /dev/hda1
Antes de retirar o disquete, desmonte-o
umount /dev/fd0
Como formato disquetes para mais de 1.44MB?
Escolha o dispositivo correto. Ex: para formatar um disquete em 1.44
fdformat /dev/fd0h1440 ou simplesmente fdformat /dev/fd0
Para formatar em 1.66
fdformat /dev/fd0h1660
4.16 copiando disquetes = para copiar disquetes, digite
dd if=/dev/fd0H1440 of=imagem # dd if=imagem of /dev/fd0H1440
o primeiro dd gera a imagem exata do disquete para o arquivo imagem,
o segundo dd grava a imagem para o disquete
4.17 comando mkpasswd = quando invocado sem parmetros, retorna uma senha
randmica qualquer. Uma shell script simples para criar quantas contas forem
necessrias e que atribui a cada usurio uma senha pode ser criada facilmente.
cd /usr/bin
mcedit [Link]
#!/bin/bash
for usuario in `cat $1`
do
useradd $usuario
mkpasswd $usuario > $[Link]
# Criao da carta ao usuario
cat > $[Link] << FIM
Conforme sua solicitao, foi criada uma conta em nossos computadores
centrais com as seguintes especificaes:
computador: $HOSTNAME
login: $usuario
senha: `cat $[Link]`
Solicitamos a memorizao das informaes contidas neste documento e
sua destruio em seguida, devido ao carter confidencial destas
informaes.
Realize a troca de sua senha j em seu primeiro acesso para algo que
lhe seja mais fcil de lembrar.
Lembre-se, nunca divulgue a sua senha de acesso para ningum. A segurana
de seus dados e do sistema como um todo dependem de voc.
Atenciosamente,
Suporte Tcnico
FIM
cat $[Link]
enscript -f Courier12 -F Courier-bold12 -b Prezado Usurio(a),
$[Link]
rm $usuario.*
done
4.18 comando mkswap = configura e formata uma particao como area de troca
Configura a partio /dev/hda5 como do tipo swap checando se existem
blocos defeituosos na partio /dev/hda5
mkswap -c /dev/hda5
depois, digite o comando abaixo para ativar a particao swap /dev/hda5
swapon /dev/hda5
e para desativar uma particao swap /dev/hda5 momentaneamente
swapoff /dev/hda5
4.19 comando badblocks = utilizado para pesquisar qualquer disco ou
partio na deteco de blocos defeituosos
Cria o arquivo [Link] com a lista de blocos defeituosos
encontrados na partio /dev/hda1
badblocks -o /[Link] /dev/hda1
Exibe o nmero de blocos checados durante a execuo do comando
badblocks -s e exibe maiores detalhes sobre os resultados do comando
backblocks -v
badblocks -s -v /dev/hda1
Checa se um disquete possui badblocks
badblocks /dev/fd0H1440 1440
Opes:
-b [tamanho] especifica o tamanho do bloco do dispositivo em bytes
-o [arquivo] gera uma lista de blocos defeituosos do disco no [arquivo].
Esta lista pode ser usada com o programa fsck junto com a opo -l
-s mostra nmeros de blocos checados durante a execuo dos badblocks
-v modo verbose que exibe todos os detalhes da execuo
-w usa o modo leitura/gravao. Com esta opo o badblocks procura por
blocos defeituosos gravando alguns padres (0xaa,0x55,0xff,0x00) em cada
bloco do dispositivo testado
Cuidado: Nunca use esta opo em um dispositivo que contenha arquivos, pois
eles sero apagados.
4.20 comando dumpe2fs = exibe informaes sobre o superbloco para o
sistema de arquivos presente, no caso, o ext2
dumpe2fs -b -V /dev/dispositivo
4.21 comando chroot = permite que o diretrio raiz / seja um diretrio
diferente de / no sistema de arquivos. Um exemplo, um servidor Internet,
voc poder definir o diretrio raiz como /usr/ftp. Quando alguem acessar
esse servidor usando FTP, o qual vai para o diretrio raiz por padro,
estar na verdade acessando o diretrio /usr/ftp
chroot </ </usr/ftp>
Executa o daemon do BIND enjaulado, como usurio named e no modo de
depurao. A partir disso pode se constatar erros e realizar os acertos
necessrios
chroot /var/named /usr/local/sbin/named -u named -g
Digamos que a sua rvore de dir seja
/
|-root
|-etc
|-bin
|-home
|-outro usuario
|-user
|-bin
|-etc
chroot /home/user
agora para o usuario a arvore vai ser
/
|-bin
|-etc
perceba que voce tem que ter os diretorios de suporte no home do user, ja
que para ele nem vai existir o resto da arvore mais ou menos como em
um FTP voc tem de ter o /bin o /lib e etc e no /etc/
4.22 comando dd = converte e copia um arquivo
Copia o contedo do hd_origem para um novo HD, no caso o hd_destino
dd if=/dev/hd_origem of=/dev/hd_destino
Copia o contedo completo do CD-ROM (j montado no sistema) para o
arquivo /usr/[Link]
dd if=/dev/cdrom of=/usr/[Link]
Para testar a cpia, monte-a utilizando o comando
mount -o loop -t iso9660 -r /usr/[Link] /mnt/imagem1
Cria uma imagem do contedo do CD-ROM para o arquivo /home/[Link]
dd if=/dev/cdrom of=/home/[Link]
Copia o [Link] para um disquete de 1.44MB
dd if=[Link] of=/dev/fd0 bs=1440k
if=arquivo = le a partir do arquivo ao invs da entrada padro
of=arquivo = escreve no arquivo ao invs da sada padro. A menos que
conv=notrunc seja fornecido, dd trunca o arquivo para zero bytes
(ou para o tamanho especificado com seek=)
4.23 comando newusers = le um arquivo contendo uma lista de novos
usuarios e cria estes usuarios no sistema. O formato do arquivo lido
pelo comando newusers o mesmo do arquivo /etc/passwd
newusers [Link]
4.24 comando lastlog = exibe o ltimo login dos usurios cadastrados no
sistema. exibido o nome usado no login, o terminal onde ocorreu a conexo
e a hora da ultima conexao. Estes dados sao obtidos atraves da pesquisa e
formatacao do arquivo /var/log/lastlog. Caso o usuario nao tenha feito
login mostrada a mensagem ** Never logged in **
Exibe somente os usuarios que se conectaram ao sistema nos ltimos DIAS
lastlog -t DIAS
Exibe somente detalhes sobre o usurio NOME
lastlog -u NOME
4.25 comando chage = altera uma senha que tenha um tempo de expirao.
Serve para dar permisses de login temporario para usurios, cancelar usu-
rio entre outros
Criei um usuario temporario, e quero que em primeiro plano, ele tenha
direito somente a 2 dias mais de uso do sistema. Como acabei de criar,
veja as permisses
chage -l temporario
Minimum: 0
Maximum: 99999
Warning: 7
Inactive: -1
Last Change: Apr 06, 2004
Password Expires: Never
Password Inactive: Never
Account Expires: Never
Para alterar estas informaes:
chage -E 2004-04-08 temporario
Onde usuariamos ano-mes-dia que a senha ir expirar (apos isso o usurio no
loga mais na mquina. Digite:
chage -l temporario
Minimum: 0
Maximum: 0
Warning: 7
Inactive: -1
Last Change: Apr 06, 2004
Password Expires: Never
Password Inactive: Never
Account Expires: Apr 08, 2004
Veja que a conta expira em 8 de abril de 2004. Vamos bloquear agora um
usuario para ele nao logar mais:
chage -E 2004-04-05 temporario
Isso quer dizer, coloque uma data ja ultrapassada e veja o log no arquivo
/var/log/messages quando tento logar
Apr 6 02:03:12 queen sshd(pam_unix)[18539]: account temporario has expired (account
expired)
Apr 6 02:03:12 queen sshd[18539]: PAM rejected by account configuration[13]: User
account has expired
Apr 6 02:03:12 queen sshd[18539]: Failed password for temporario from [Link]
port 4239
Informa (-m) o minimo de dias em que a senha deve permacer at uma nova
troca, (-E) a data de expiracao da senha, (-I) o nmero de dias antes do
bloqueio da conta em que esta ficara inativa, (-W) o nmero de dias antes
do bloqueio da conta em que o usuario receber avisos e jonas o nome do
usurio para aplicar estar configuracoes
chage -m 0 -E 2003-10-31 -I 7 -W 7 jonas
Outro comando:
chage -m mindays -M maxdays -d lastday -I inactive -E expiredate -W warndays user
#######################################################################
5 COMANDOS DE PROCESSOS DO GNU/LINUX
5.1 comando top = exibe uma listagem das atividades de processamento em
tempo real. Ele lista as tarefas que usam mais intensamente a CPU e pode
disponibilizar uma interface interativa de manipulao de processos. Ele
pode ordenar os processos por usa de CPU, de memria e tempo de execuo.
A listagem atualizada, por padro, a cada 5 segundos, mas isso pode ser
alterado atravs da opo -d na linha de comando ou -s para o comando
interativo.
Especifica 2 segundos do tempo entre as atualizaes das telas
top -d 2
Atualiza a tela sem qualquer espera
top -q
Indica que top deve ser executado em modo seguro, desabilitando
possveis perigos do modo interativo. elegante executar um top seguro
permanentemente em um terminal extra
top -s
Inicia top ignorando qualquer processo inativo ou zumbi. Veja o
comando interativo i abaixo
top -i
Altera o nmero de linhas que serao exibidas no monitor
top -n numero
Semelhante ao comando kill, para terminar um processo
top -k numero-PID
5.2 comando ps = exibe o status sobre os processos ativos
Exibe informaes sobre os processos de outros usurios
ps -a
Exibe informaes em um formato extenso
ps -l
Exibe informaes sobre o PID, tty dos comandos que estao rodando
ps -e
Exibe informaes se algum programa esta rodando
ps -ef | grep programa
Exibe apenas os processos que estao em execuo
ps -r
Exibe os processos em execuo no terminal 1
ps -t1
Exibe os processos em execuo no terminal 2
ps -t2
Exibe um melhor metodo de visualizao dos processos
ps -auxw
Exibe o processo que est consumindo mais memria
ps -auxw | sort +4n
Exibe o processo que est consumindo mais memria
ps -auxw | sort +5n
Exibe os usuarios logados na maquina via FTP
ps -auxw | grep ftp
Exibe uma lista de todos os processos
ps auxw | grep root
Exibe o processo est usando mais CPU
ps -auxwww | sed 1d | sort -r +3 | head
Checa se o servio apache2 est rodando, se estiver, ele reiniciado
ps ax | grep apache2 || /etc/init.d/apache2 restart
Usando o parmetro -ef surgem oito colunas
1. Coluna UID: identifica a ID do dono do processo
2. Coluna PID: identifica o numero ID do processo
3. Coluna PPID: identifica o processo pai
4. Coluna C: indica a quantidade de utilizao do processador para
escalamento
5. Coluna STIME: indica a hora que o processo foi iniciado
6. Coluna TTY: indica o terminal de controla associado ao processo
7. Coluna TIME: tempo total da execuo que o processo acumulou
8. Coluna COMMAND: descreve o nome do processo indicando qual
comando esta sendo executado
5.3 comando kill = finaliza um ou mais processos em execuo
Opes:
-l = exibe os sinais (nmeros e nomes) que podem ser enviados
-s = especifica o sinal a ser enviado. O sinal pode ser informado
como um dgito ou como um nmero
Tenta finalizar o programa com o nmero do processo (PID)
kill numero_do_pid
Finaliza o programa com o nmero do processo (PID)
kill -9 numero_do_pid
Censura um determinado usurio
kill -9 `ps -aef | grep luser | awk `{ print $2 }`
Para desconectar um usurio:
pkill -u uid_do_usuario
5.4 comando killall = envia um sinal a todos os processos que esto
compartilhando um nome de processo comum entre eles.
Finaliza todos os processos envolvendo tal programa
killall -9 programa
Exibe os sinais (numeros e nomes) que podem ser enviados
killall -l
Fora o programa a enviar o sinal apenas para as combinaes exatas
de nomes de processo maiores do que 15 caracteres
killall -e processo
Solicita configurao antes de enviar o sinal para cada processo
killall -i processo
Reinicia o servio httpd
killall -HUP httpd
Reinicia o servico syslogd
killall -HUP syslogd
5.5 comando jobs = exibe a lista de processos em execuo pelo shell
jobs
jobs -l
5.6 comando pstree = exibe os processos em forma de uma rvore
pstree
Exibe toda estrutura inclusive de sub-processos do processo pai
pstree -c
Exibe caracteres graficos no desenho da rvore de processos
pstree -G
Exibe e classifica pelo numero PID ao invs do nome
pstree -n
Exibe o nmero PID entre parenteses aps o nome do processo
pstree -p
5.7 comando fg = permite que um programa rodando em segundo plano
(background) rode em primeiro plano (foreground). Voc deve usar o
comando jobs para pegar o nmero do processo rodando em segundo
plano ou interrompida, este nmero ser passado ao comando fg
para ativa-lo em primeiro plano.
fg numero
Onde numero o nmero obtido atravs do comando jobs. Caso seja
usado sem parmetros, o comando fg utilizar o ltimo programa
interrompido (o maior nmero obtido com o comando jobs). EX:
fg 1
5.8 comando bg = permite que um programa rodando em primeiro plano
(foreground) rode em segundo plano (background). Voc deve interromper
a execuo do programa teclando CTRL+Z. Ser mostrado o nmero da tarefa
interrompida. Utilize este nmero com o comando bg para iniciar a
execuo do programa em segundo plano (background).
bg numero
Onde numero o nmero do programa obtido com o pressionamento das
teclas CTRL+Z ou atravs do comando jobs
5.9 comando nohup = executa um comando imune a interrupcoes de conexo
com a sada para um dispositivo nao tty, ou seja, deixa o programa em
background apos efetuar logoff.
Deixa um programa rodando em background mesmo depois de ter efetuado
logoff
nohup ./programa &
Evita que o comando caia se voc for dar um logout, isso ir gerar
um arquivo [Link] com as saidas
nohup tar cvf /dev/st0 /arquivos/* &
#######################################################################
6 COMANDOS DE CONFIGURACAO DO GNU/LINUX
OBS: ALguns comandos funcionam apenas no Debian e seus derivados
(Ubuntu, Kurumin, Knoppix etc) e outros funcionam apenas no RedHat,
Fedora, Conectiva.
Configura a interface grfica:
wmchooser
* ou altere o arquivo ~/.wm_style e coloque o nome da interface grfica
que voce quer inicializar. Ex: (windowmaker, gnome, kde)
Configurar teclado:
kbdconfig
Configurar mouse:
mouseconfig
Configura placa de som
sndconfig
sndconfig noprobe
sndconfig noautoconfig
Configurar uma placa de fax-modem
modemconf
Configura placa de vdeo
Xconfigurator
Xconfigurator expert
xf86config
XFree86setup
xf86cfg
Configura rede
netconfig
ou
netconf
Configurao do fuso horario
timeconfig
Configura os servios que inicializam automaticamente
ntsysv
chkconfig
Para configurar o WindowMaker, digite:
wmakerconf &
Para configurar um wallpaper (papel de parede) digite:
Esetroot /[Link]
ou
wmsetbg /[Link]
Status da placa de dispositivos (eth0, eth1, ppp, lo)
ifconfig
Desligar/parar a primeira placa de rede
ifdown eth0
Ligar/iniciar a primeira placa de rede
ifup eth0
Lista os mdulos carregados no sistema
lsmod
Carregando modulos / instalando modulos no kernel:
modprobe nome_do_modulo.o
ou
modprobe nome_do_modulo
Exibe informaes de configurao do mdulo
modprobe -c nome_do_modulo
Desativa o modulo1 do kernel
modprobe -r nome_do_modulo
Exibe todos os mdulos
modprobe -l
Descarrega mdulos carregados no kernel linux:
rmmod nome_do_modulo.o
ou
rmmod nome_do_modulo
Remove todos os mdulos no usados
rmmod -a nome_do_modulo
Envia toda a sada para o log do sistema
rmmod -s nome_do_modulo
6.1 comando linux_logo = configura o slogan(desenho) em texto do pinguim
Exibe o desenho padrao em cores no terminal
linux_logo
Exibe as diversas opes do linux_logo
linux_logo -h
Configura o arquivo /etc/issue para armazenar o desenho do linux_logo
em sua forma texto com cores
linux_logo -classic >> /etc/issue
Configura o arquivo /etc/issue para armazenar o desenho do linux_logo
em sua forma texto sem cores
linux_logo -ascii >> /etc/issue
6.2 comando setserial = exibe e configura portas seriais
Para exibir as configuraes referentes ao modem na COM2:
setserial /dev/ttyS1
Para exibir informacoes referetes a porta COM2:
setserial -a /dev/ttyS1
Para configurar a porta COM2 para usar a IRQ 4:
setserial /dev/ttyS1 irq 4
Para tentar uma configurao automtica
setserial /dev/modem autoconfig
Outras configuraes
setserial /dev/ttyS1 irq 5 uart 16550a port 0x03e8
setserial /dev/ttyS1 irq 11 port 0x6200 autoconfig
setserial /dev/ttyS1 irq 10 port 0xdc00 uart 16550a
6.3 comando statserial = exibe o status de uma porta serial, exibindo
os sinais nos pinos da porta e o status da linha de handshaking
Exibe o status da porta como um numero decimal
statserial -d dispositivo
Desativa o loop e xibe apenas um status
statserial -n dispositivo
Exibe o status da porta como um nmero hexadecimal
statserial -x dispositivo
6.4 comando ntpdate = sincroniza o horrio do PC atual com um servidor
da Internet
ntpdate [Link] || ntpdate [Link] &
6.5 comando sysctl = configura parametros do kernel em tempo real, sem
a necessidade de reinicializao do computador
Exibe todas opes em que o usurio pode alterar, modificar
sysctl -A
#######################################################################
7 COMANDOS DE IMPRESSAO
7.1 comando lpd = executa o daemon de spooler da impressora para
controlar a impressao nas impressoras locais e remotas.
Registra os pedidos de de impresso em rede vlidos
lpd -l porta
7.2 comando lpr = utilizado para enviar um arquivo para a impressora.
Imprime o [Link] na impressora padro
lpr [Link]
Envia o arquivo [Link] para a impresso na impressora em que for
citada no comando
lpr -P nome-da-impressora [Link]
Especifica o nmero de 3 copias do arquivo para a impresso
lpr -K 3 nome-do-arquivo
Envia um email com o status que a impresso foi concluida com sucesso
lpr -m mjordan nome-do-arquivo
Imprime o nome da tarefa especificada em vez do nome do arquivo na pgina
de cabealho
lpr -J nome-da-tarefa [Link]
Permite que os caracteres de controle sejam impressos enquanto suprime
quebras de linha
lpr -l [Link]
7.3 comando lpq = exibe o status corrente de uma fila de spool de impressora
lpq
Exibe todas as informacoes sobre os arquivos que compoem a entrada
da tarefa, em vez de apenas o que caber em uma linha
lpq -l
Consulta a impressora especificada
lpq -P nome-da-impressora
7.4 comando lprm = remove da fila de impressao arquivos que ainda no
foram impressos
lprm numero-do-arquivo-na-fila-de-impressao
lprm -P nome-da-impressora numero-do-arquivo-na-fila-de-impressao
Remove todos os arquivos de spoll na fila de impresso
lprm -a all
Remove os arquivos de spool na fila de impresso com do usurio com a
identificacao user@maquina23
lprm -Pt1 user@maquina23*
7.5 comando lpstat = exibe informaes sobre o status do servio
de impresso
lpstat -v
7.6 comando pr = formata arquivos texto para serem impressos.
Formata o arquivo [Link] para impresso especificando o nmero
mximo de 50 linhas por pgina, o nome Teste do comando pr ao invs
do nome do arquivo sendo impresso no cabealho da pgina
pr -l 50 -h Teste do comando pr [Link]
#######################################################################
8 COMANDOS DE REDE
CAMINHOS IMPORTANTES DEBIAN
Configurao das interfaces de rede:
/etc/network/interfaces
Configurao do host name, roda padro e do gateway:
/etc/network/interfaces
Configurao das rotas estticas:
/etc/network/interfaces
CAMINHOS IMPORTANTES REDHAT / FEDORA
Configurao das interfaces de rede:
/etc/sysconfig/network-scripts/ifcfg-*
Configurao do host name, roda padro e do gateway:
/etc/sysconfig/network
Configurao das rotas estticas:
/etc/sysconfig/static-routes
8.1 comando ping = verifica se uma maquina da rede esta disponvel na rede
enviando pacotes ICMP ECHO_REQUEST para as maquinas da rede. Este comando
envia requisies ICMP de ECHO REQUEST e fica escutando pelos pacotes ICMP
de ECHO REPLY.
O maior pacote ICMP que a especificao TCP/IP admite de 65.535 bytes.
No Windows ele limitado em 65.000 bytes pelo utilitrio ping j no
GNU/Linux o ping permite que esse pacote chegue a 65.467 bytes. Mesmo
assim se voc fizer um programa que envie pacotes maiores que esses 64k
atravs do protocolo ICMP, esses pacotes no podem passar pela Internet
inteiros, assim, so fragmentados antes da transmisso. Quando o host
destino recebe os fragmentos, ele os re-agrupa no seu tamanho original.
Nos sistemas operacionais mais antigos isso era conhecido como Ping da
Morte, pois o sistema se perdia quando o buffer no qual o pacote foi
armazenado estourava. Atualmente, a maioria dos roteadores filtram esses
pacotes grandes. Utilizao correta do parmetro para definir um tamanho
de pacote com o ping.
Sua utilizao correta no caso GNU/Linux
ping -s 65467 endereco_ip
Sua utilizao correta no caso Windows
ping -l 65000 endereco_ip
Obs: O parmetro -f tem sentido diferente nas duas plataformas. No GNU/Linux
utilizado para inundao de pings. Envia pacotes rapidamente medida que
eles voltam ou cem vezes por segundo, dependendo de qual o mais rpido.
Para cada ECHO_REQUEST enviado um perodo um ponto . mostrado, enquanto
que para cada ECHO_REPLY recebido um backspace mostrado. Isto proporciona
uma rpida visualizao de quantos pacotes esto sendo enviados. Somente o
usurio root pode usar esta opo. Seu equivalente no Windows o parmetro
-t. No Windows o parmetro -f utilizado para definir um sinalizador de
No fragmentar no pacote.
Testa a interface local est funcionando
ping [Link]
Testa se a mquina [Link] est funcionando
ping [Link]
Verifica se a maquina cujo o IP [Link] est conectada na rede
ping [Link]
Envia 5 pacotes ICMP para a maquina cuja o numero IP [Link] (endereo
de loopback) e depois termina
ping -c 5 [Link]
Envia pacotes ICMP com a mesma rapidez com que eles voltam ou 100 vezes
por segundo
ping -d [Link]
Especifica 3 segundos para se esperar entre o envio de cada pacote ICMP
ping -i 3 [Link]
Registra a rota que os pacotes tomam e apresenta o buffer de rota de
pacotes que retornaram
ping -R [Link]
Envia novos pacotes antes de receber a resposta do pacote anterior. Para
cada requisicao enviada, um . exibido na tela e para cada resposta
recebida, um backspace exibido. Somente o usurio root pode utilizar esta
opo e pode auxiliar na deteco de erros de transmisso de pacotes em
interfaces das mquinas na sua rede
ping -f [Link]
Especifica o tamanho do pacote que sera enviado maquina (mximo de
65467) cujo endereco IP [Link]
ping -s TAMANHO [Link]
Exibe maiores detalhes sobre os pacotes enviados e recebidos do host
atual para o host cujo IP [Link]
ping -v [Link]
Para testar o ping da morte
ping -f -s 65467 endereco_ip
ou
ping -f -s 65467 dominio
Infelizmente serve para derrubar um host na rede. necessrio que
se usem vrias mquinas ao mesmo tempo. Os n 1000, 99999 podem ser
substituidos, no comando, estam na forma maxima e w0 significa que os
pacotes so enviados ininterruptamente
ping -c 1000 -s 99999 -w0 IP/dominio
Efetua um ping na maquina cujo IP [Link] e diminui a taxa de
pings de 1 para 2 segundos
ping -i 2 [Link]
Resto da rede, s voc usar a interface de rede (ethernet eth0,
eth1 etc)
ping -I eth0 nome_da_minha_maquina
Exibe a rota que os pacotes ICMP fazem, tanto na ida quando na volta
(parmetro -R) e pingando apenas uma vez (parmetro -c 1):
ping -c 1 -R [Link]
PING [Link] ([Link]) 56(124) bytes of data.
64 bytes from [Link] ([Link]): icmp_seq=0 ttl=249 time=37.8
ms
RR: [Link]
[Link] ([Link])
[Link]
[Link] ([Link])
[Link]
[Link] ([Link])
[Link] ([Link])
[Link] ([Link])
[Link] ([Link])
[Link] ping statistics
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 37.827/37.827/37.827/0.000 ms, pipe 2
8.2 comando dnsquery = consulta os servidores DNS para pesquisar
informaes sobre um host especifico.
dnsquery [Link]
Especifica o nome do servidor a ser usado para a consulta
dnsquery -n nome-do-servidor
Procura as troca de correio do dominio
dnsquery -t MX nome-do-servidor
Procura o inicio do registro de autoridade do host
dnsquery -t SOA nome-do-servidor
8.3 comando nslookup = consulta o servidor de nomes DNS. Resolve o
endereamento IP/nome atraves do DNS usado
nslookup [Link]
nslookup numero_ip
nslookup [Link]
nslookup -silent numero_ip
Exibe informacoes sobre o registro de autoridade do host
nslookup -type=SOA numero_ip
Exibe informaes sobre o servidor DNS do referido numero IP
nslookup -type=NS numero_ip
8.4 comando dig = DNS lookup utility
dig
dig [Link]
Exibe a verso do DNS do dominio
dig @[Link] [Link] chaos txt
Exibe se o servidor DNS acessvel e se ele responde a consultas de nomes
dig @endereo_IP_de_um_dos_DNS [Link]
Informa o servidor POP e SMTP do dominio
dig MX [Link]
Exibe o domnio associado este endereo IP
dig -x endereco_ip
Estou com meu DNS instalado em um CL6 aparentemente ele funciona muito bem
mas infelizmente ele est falhando em resover alguns endereos, como por ex:
[Link] e [Link] dentre outros.
Adianto a voce que as requisies para os 2 domnios acima citados no so
realmente resolvidos pelo seu DNS, pois ele no autoritativo para os
respectivos domnios. Eles devem ser resolvidos por servidores de nomes que
possuem autoridade sobre o domnio e esta informao retornada para sua
mquina, por ex:
dig @[Link]
;;Query time: 694 msec
;;SERVER: [Link]#53([Link])
;;WHEN: Tue MAy 14 12:44:21 2002
;;MSG SIZE rcvd: 292
Seria til conhecer a sada do comando dig para seu prprio domnio,
como:
dig seudominio NS
8.5 comando host = DNS lookup utility
host
host [Link]
Onde dns1 o nome ou o IP dos servidores que voc fornece no
cadastramento na Fapesp
host -t SOA dns1
Onde dns2 o nome ou o IP dos servidores que voc fornece no
cadastramento na Fapesp
host -t SOA dns2
Testa se o DNS consegue resolver nomes de dominio
host -v [Link]
Testa se o DNS consegue resolver nomes de dominio
host -v [Link]
host -t mx [Link]
[Link] mail is handled by 5 mail.
[Link] mail is handled by 10 [Link].
Como no existe uma mquina mail aqui, meu MTA tambm encaminharia para
[Link] A, o [Link] receberia
a mensagem e ao enviar para voc, ele veria que tambm no existe uma mquina
mail e enviaria para ele mesmo. Oops! Temos um loop!
8.6 comando ifconfig = usado para configurar e manter as interfaces
de rede. Sintaxe:
ifconfig interface options address
ifconfig interface opes endereo
interface = especifica o nome da interface
eth0 : primeira placa de rede no sistema
eth1 : segunda placa de rede no sistema
eth2 : terceira placa de rede no sistema
options = algumas opcoes do comando ifconfig
up : ativa a interface especificada
down : desativa a interface especificada
netmask address : define a mascara de rede da interface especificada
broadcast address : define o end. de broadcast da inteface especificada
pointtopoint address : ativa o modo ponto a ponto da interface especificada,
implicando um link direto entre 2 maquinas
address = especifica o nome da maquina e o endereco IP da interface
Exibe as interfaces de rede ativas
ifconfig
Se a interface lo (loopback) no estiver ativa, digitando o comando
ela ir se ativar
ifconfig lo [Link] up
Exibe informaes sobre a primeira placa de rede, a eth0
ifconfig eth0
Exibe informaes sobre a segunda placa de rede, a eth1
ifconfig eth1
Ativa a interface eth0 (1 placa de rede)
ifconfig eth0 up
Desativa a interface eth0 (1 placa de rede)
ifconfig eth0 down
Configura o endereo IP [Link] e a mscara de rede [Link]
para a interface eht0 e depois a ative com o parametro up
ifconfig eth0 [Link] netmask [Link] up
Configura a primeira placa de rede (eth0) com nmero IP [Link],
mascara de rede [Link] e o broadcast da rede como [Link]
ifconfig eth0 [Link] netmask [Link] broadcast [Link]
Configura a segunda placa de rede (eth1) com nmero IP [Link],
mascara de rede [Link] e o broadcast da rede como [Link]
ifconfig eth1 [Link] netmask [Link] broadcast [Link]
Exibe o endereo IP da interface ppp0
ifconfig | grep P-a-P | awk {print $3}
ou
ifconfig ppp0 | grep inet end | awk {print$3}
Exibe o endereo IP da interface eth0
ifconfig eth0 | awk /inet addr/ { sub(/inet addr:/, ); print $1}
ou
ifconfig eth0 | grep inet | cut -d : -f2 | cut -d -f2
Para descobrir o endereo MAC da interface eth0
ifconfig eth0
eth0 Encapsulamento do Link: Ethernet Endereo de HW 48:54:E8:28:42:EA
inet end.: [Link] Bcast:[Link] Masc:[Link]
UP BROADCASTRUNNING MULTICAST MTU:1500 Mtrica:1
Pacotes RX:26179 erros:0 descartados:0 sobreposies:0 frame:0
Pacotes TX:25316 erros:0 descartados:0 sobreposies:0 portadora:0
colises:4 txqueuelen:100
IRQ:11 Endereo de E/S:0xdd80
Repare na primeira linha: HW 48:54:E8:28:42:EA
Atribuindo vrios IPs em uma nica placa de rede para criar aliases para
a interface de rede:
ifconfig eth0:0 [Link] netmask 255.255.255 broadcast [Link]
Para atribuir mais IPs s mude o nmero aps o : (eth0:1,
eth0:2 e assim por diante) Agora voc tm dois ou mais IPs em uma
placa de rede. Muito til pra quem deseja hospedar vrios sites.
Exibe as interfaces de redes que esto ativas
ifconfig -a
Cria a interface de loopback caso a mesma no esteja aparecendo com
o comando ifconfig -a
ifconfig lo [Link] netmask [Link]
Para configurar o MTU de uma interface de rede
ifconfig eth0 mtu 1440
Para configurar uma placa de rede com uma conexo ponto-a-ponto
ifconfig eth0 [Link] netmask [Link] pointopoint [Link]
Para colocar uma interface de rede em modo promscuo (a interface aceitar
pacotes destinados a qualquer IP) inserguro!
ifconfig eth0 promisc
Para retirar uma interface de rede em modo promscuo (a interface aceitar
pacotes destinados a qualquer IP) seguro!
ifconfig eth0 -promisc
Para alterar o endereo MAC de uma placa de rede (OBS: ela dever estar
desabilitada. OBS2: Assim que voce reiniciar o PC, o endereo MAC original
ser configurado novamente) digite os seguintes comandos
ifconfig eth0 down
ifconfig eth0 hw ether 00:11:22:33:44:55
ifconfig eth0 up
8.7 comando ifup = inicia/ativa uma interface de rede
Inicia/ativa a primeira placa de rede
ifup eth0
Inicia/ativa o primeiro dispositivo PPP
ifup ppp0
8.8 comando ifdown = paraliza/desativa uma interface especificada
Paraliza/desativa a primeira placa de rede
ifdown eth0
Paraliza/desativa o primeiro dispositivo PPP
ifdown ppp0
8.9 comando ifport = define o tipo de transceptor para uma interface
de rede especificada. Sintaxe:
ifport interface type
interface = especifica o nome da interface
eth0 : primeira placa de rede no sistema
eth1 : segunda placa de rede no sistema
eth2 : terceira placa de rede no sistema
type = especifica o tipo de transceptor.
auto : selecao automatica
10baseT : par trancado ethernet
10base2 : cabo coaxial ethernet
aui : interface AUI ethernet
100baseT : par trancado fash ethernet
8.10 comando traceroute = exibe a rota/caminho percorrido da mquina
local at o host de destino/endereo IP. Ao contrrio do comando
ping -R endereco_ip, o comando traceroute resolve os nomes (podendo-se
desabilitar esta opo com o parmetro -n) e capaz de traar uma rota
mesmo que o host no exista ou esteja inacessvel. Obviamente o comando
somente ir traar a rota at que um roteador responda com um unreacheable
ou at o TTL expirar. Exibe a rota tomada pelos pacotes para uma maquina da
rede. Este comando mostra na tela o caminho percorrido entre os gateways da
rede e o tempo gasto de retransmisso. til para encontrar computadores
defeituosos na rede caso o pacote no esteja chegando ao seu destino. A
Internet uma grande e complexa aglomerao de mquinas de rede conectadas
por gateways. Traar a rota que um pacote segue (ou achar o gateway que est
descartando os seus pacotes) pode ser difcil. O traceroute utiliza o campo
time to live do protocolo IP e tenta obter uma resposta ICMP TIME_EXCEEDED
de cada gateway no caminho para alguma mquina. O nico parmetro obrigatrio
o nome da mquina de destino ou o seu nmero IP. O tamanho pr-definido do
datagrama de procura de 38 bytes, mas isto pode ser aumentado especificando
um tamanho de pacote(em bytes) depois do nome da mquina de destino.
Traa a rota/caminho entre a sua conexo e a origem do host
traceroute numero_ip
ou
traceroute nome_da_maquina
ou
traceroute [Link]
Exibe o valor ttl dos pacotes retornados, ou seja, exibe o tempo de vida do
pacote (ttl). Isto til para verificar roteamento assimtrico
traceroute -l [Link]
Ajusta a quantidade mximas de ttl dos pacotes. O padro 30
traceroute -m NUMERO [Link]
Exibe os endereos dos pontos numericamente ao invs de usar resolucao DNS
(simbolicamente e numericamente, evita uma procura endereo-para-nome em um
servidor de nomes para cada gateway encontrado no caminho)
traceroute -n [Link]
Ajusta a porta que sera usada para o teste. A porta padro 33434
traceroute -p PORTA [Link]
Ignora as tabelas de roteamento normais e envia diretamente para uma mquina
em uma rede anexa. Se a mquina no estiver em uma rede diretamente anexa, um
erro retornado
traceroute -r [Link]
Utiliza o seguinte endereo IP (que deve ser dado como nmero, no como nome
de mquina) como o endereo de origem nos pacotes de procura
traceroute -s end_origem
Exibe mais detalhes sobre o resultado do comando traceroute
traceroute -v [Link]
Configura o tempo maximo que aguardar por uma resposta (padro: 3 segundos)
traceroute -w NUMERO [Link]
Define o campo type-of-service nos pacotes de procura para o valor seguinte
(pr-definido como zero). O valor deve ser um inteiro decimal no alcance de
0 a 255. Esta opo pode ser usada para descobrir se diferentes type-of-
service resultam em diferentes caminhos
traceroute -t servio [Link]
8.11 comando tracepath = similar ao comando traceroute, com a diferena de
exibir o PMTU do caminho.
tracepath [Link]
1: [Link] ([Link]) 0.545ms pmtu 1500
1: [Link] ([Link]) 1.166ms
2: [Link] ([Link]) 19.960ms
3: [Link] ([Link]) 16.118ms
4: [Link] ([Link]) 35.672ms
5: [Link] ([Link]) 65.802ms
6: [Link] ([Link]) 37.473ms
7: [Link] ([Link]) 39.746ms reached
Resume: pmtu 1500 hops 7 back 7
8.12 comando route = exibe/manipula a tabela de roteamento IP
Exibe a tabela de roteamento IP do kernel
route
Exibe a tabela de roteamento IP do kernel (mas no resolve os possveis nomes
de mquinas existentes na rede)
route -n
Sintaxe para adicionar uma rota
route add [ -net | -host ] target [ netmask Nm ] [ gw Gw ] [[ dev ] If ]
Adiciona a rota default(padro)
route add default gw [Link]
Adiciona a rota padrao para a interface ppp0
route add default ppp0
Adiciona e indica que o destino uma rede esta sendo adicionada
route add -net
Adiciona e indica que o destino um host esta sendo adicionada
route add -host
Adiciona uma rota para uma rede
route add -net [Link] netmask [Link] gw [Link]
Adiciona uma rota para um host utilizando uma interface ponto-a-ponto
route add -net [Link] dev ppp0
Adiciona uma rota para a rede 192.168.1 acessvel atravs da interface eth0
route add -net [Link] eth0
Adiciona e diz que o host [Link] (host local, mquina local) deve ser
acessado atravs do dispositivo lo
route add -host [Link] lo
Adiciona/configura o linux para enviar todas as informaes da rede local
para a interface eth0 que est configurada com o IP [Link] e mscara
de rede [Link]
route add -net [Link] netmask [Link] eth0
Adiciona/configura o linux para especificar o gateway padro que pode ser
usado para acessar redes remotas. O gateway padro est no IP [Link] e
pode ser acessado enviando-se informaes destinadas a ele atravs da
interface eth0
route add default gw [Link] eth0
Adiciona uma rota para a rede 192.56.76.x atraves da interface eth0
route add -net [Link] netmask [Link] eth0
Adiciona a rede 192.57.66.x para ser alcancada atraves da rota anterior
atraves da interface SLIP
route add -net [Link] netmask [Link] gw ipx4
Adiciona/configura para que todas as rotas IP classe D (multicast) vo
atraves da interface eth0. Esta e a linha de configuracao normal a ser usada
com um kernel multicast
route add -net [Link] netmask [Link] dev eth0
Adiciona/configura uma rota de rejeicao para a rede privada 10.x.x.x
route add [Link] netmask [Link] reject
Para adicionar uma rota padro a um endereo que no se encontre na tabela
de roteamento utiliza-se o gateway padro da rede. Atravs do gateway padro
possvel especificar um computador (normalmente outro gateway) que os
pacotes de rede sero enviados caso o endereo no confira com os da tabela
de roteamento. No comando, foi especificado o PC [Link] como gateway
padro
route add default gw [Link] eth0
Sintaxe para deletar uma rota:
route del [ -net | -host ] target [ netmask Nm ] [ gw Gw ] [[ dev ] If ]
Deleta a rota padro
route del default
Indica que o destino uma rede esta sendo excluida
route del -net
Indica que o destino um host esta sendo excluida
route del -host
Deleta a rota para a rede [Link] acessvel atravs da interface eth0
route del -net [Link] eth0
Este comando diz que o host [Link] (host local, mquina local) deve ser
excluida atravs do dispositivo lo
route del -host [Link] lo
8.13 comando ipfw = IP firewall administration padrao no kernel 2.0.x
8.14 comando ipchains = IP firewall administration padrao no kernel 2.2.x
O ipchains fornece 3 built-in-chains. Todos os pacotes comeam com uma dessas
chains e,dependendo das regras, pode terminar passando por todas as 3.
input = pacotes chegando atravs de um network device na sua mquina de uma
origem externa. Pacotes gerados localmente vm sempre do loopback device ou
lo.
forward = pacotes que apenas esto passando pela sua mquina ou redire-
cionados. Se tanto o destino quanto a origem do pacote so remotos o pacote
enviado para o forwarding firewall.
output = pacotes deixando a sua mquina sob um network device para uma origem
externa. Ou, se enviado para o loopback device, o pacote reaparece na chain de
input.
Criando e destruindo chains
Chain (ou corrente em portugus) especifica o nome da chain. Pode ter at 8
letras de comprimento e, para previnir conflitos com possveis buit-in target
names futuros, deve conter pelo menos 1 letra minscula.
-N Chain = cria uma nova chain definida pelo usurio.
-X [chain] = deleta uma chain vazia definida pelo usurio, ou todas as chains
definidas pelo usurio. Todas as regras referentes a uma chain definida pelo
usurio deve ser deletada antes da chain definida pelo usurio.
Adicionando ou removendo regras
-v (verbose) = quando usado com o seguinte grupo de comandos, ir fazer com
que a regra seja ecoada para o stdout.
[Regra], como especificada na linha de comando, consiste em nenhum ou mais
predicados seguidos por nenhuma ou mais aes. Predicados e aes estao
listados a seguir.
[Indice] usado para especificar uma regra de acordo com a sua posio na
chain. A primeira regra numa chain tem o ndice 1.
-A [-v] [Regra] = adiciona uma regra a chain
-D [-v] [Indice] = deleta uma regra na chain pela posio [Indice].
-D [-v] [Regra] = deleta primeira regra na chain que contenha a [Regra].
-F [chain] = descarta todas as regras da chain (ou todas as chains).
Equivalente a deletar todas as regras uma a uma.
-I [-v] [Indice Regra] = insere [Regra] na chain precedendo a regra de ndice
[Indice]. Portanto, se o ndice e 1, a regra inserida fica sendo a primeira
regra na chain.
-R [-v] [Indice regra] = substitui (replace) a regra no ndice [Indice] na
chain com a regra [Regra].
Targets (Alvos)
Cada regra tem um alvo que determina o que fazer com um pacote quando
enquadrado. Se um pacote chega ao final de uma chain sem se enquadrar em
nenhuma das regras, a poltica de target padro (default) da chain usada.
Polticas
ACCEPT = permite que o pacote passe atraves do firewall
REJECT = rejeita o pacote. Se no for um pacote ICMP, envia um reply ICMP
Host Unreachable para o remetente.
DENY = no aceitar o pacote, no responder (reply). Simplesmente ignora o
remetente.
MASQ = (para chain forward apenas). Deixa o pacote passar, porm mascara ele.
Substitui o remetente do pacote pelo endereo local e substitui a porta de
origem no cabecalho com o nmero temporrio gerado localmente.
REDIRECT = (para chain input apenas. Envia o pacote a um soquete local ou
processa. Pode ser usado com pacotes TCP e UDP em chains de input ou chains
definidas pelo usurio.
RETURN = equivalente a ignorar as demais chains, podendo chamar uma poltica
de target built-in ou retornar a uma chain do usurio. Seria o equivalente ao
return dentro de uma funo em C.
(no target especified) O byte da regra e o contador do pacote sero incre-
mentados, porm o pacote ser passado para a proxima regra na chain mesmo
se for enquadrado nessa regra. Normalmente utilizado para contabilidade.
Se um target for usado incorretamente (MASQ de uma input chain por exemplo),
o pacote ser descartado e uma mensagem ser enviada ao log do sistema,
syslog.
Comandos de Masquerading
-M L [-v] Lista as coneccoes de masquerading correntes.
-v ira fazer com que as informaes relecionadas
aos nmeros da sequencia delta sejam descartadas
tambem.
-M -S tcp Configura os valores de timeout de masquerading.
tcpfin udp Os parametros especificam o timeout em segundos
para sessoes TCP (tcp), sessoes apos recepcao do
pacote FIN (tcpfin), e pacotes UDP respectivamente.
Um timeout de 0 ira manter os timeouts anteriores.
Os Defaults sao 15,2 e 5 minutos.
Informao
-h Imprime um sumrio dos comandos
-h icmp Lista nomes ICMP conhecidos a ipchains
version Informa a verso do ipchains.
Utilitrios Chain
-P chain Troca a poltica de uma chain built-in para [target].
target [target] precisa ser ACCEPT, DENY, REJECT ou MASQ para
chains forward. Nenhum outro tipo de target pode ser
usado como poltica built-in de uma chain.
-Z [-L] Zerar o byte do pacote e os contadores na chain (ou
todas as chains).-Z pode ser usado em combinao
com -L para leitura de contadores e depois apaga-los,
assegurando que nenhum pacote no prosseguir como
no contabilizado. No entanto, ao fazer isso, voc
deve zerar todas as suas chains. voc no pode
zerar automaticamente e listar uma unica chain.
-L [-vxn] Lista as regras numa chain (ou todas as chains).
[chain] -v especifica modo verbose, -x expande os nmeros
(mostra valores sem as abreviaes K, M, e G),
-n faz o ipchains imprimir IPs numericos ao inves
de fazer lookups de nomes. Pode ser usado com -Z
acima.
-C [-v] Testa um pacote numa chain. pkt e formado como se fosse
chain pkt uma regra exceto pelo fato de conter pelo menos -s, -d, -p
(precisa ter um protocolo especificado, no pode ser
generico), e a flag -i (ao menos que -f seja usado para
criar um fragmento). -v faz com que um trace do caminho
do pacote seja impresso no stdout.
Aes
-j target Pula para (jump-to), especifica o target a ser chamado
[port] quando a regra [Link] pode ser uma das listas
acima, ou o nome de uma chain definida pelo usurio.
voc no pode pular para uma chain built-in.
para facilitar pense assim -j [poltica] ou
-j [target].
-l Faz com que os pacotes que combinarem com a regra
sejam logados no [Link] cuidado com isso porque
pode fazer seu arquivo de log crescer alem da capacidade
do seu disco.
-m [valor] nmero a marcar no pacote. Usado em conjunto com a
implementacao do Servico de Qualidade nos kernels 2.1.
Se [valor] comecar com + ou -, entao o valor ser somado
ou subtraido to valor marcado no pacote, e no substituindo-o.
-o [tam maximo] Copia o pacote para o device do espaco do usurio.
[tm maximo] limita o nmeros de bytes a serem copiados.
-t and xor Muda o bit do tipo de servico do pacote
(TOS Type Of Service). O TOS do pacote ser ANDed com and e
depois XORed com xor. Os dois parametros sao valores de 8-bits
hexadecimais.A RFC1349 especifica que o LSB do campo TOS no
pode ser alterado, portanto ipchains ira recusar qualquer
regras que violem isso.a RFC1349 tambem especifica que apenas
1 bit no campo TOS pode ser alterado por [Link] que
alterarem mais de 1 bit por vez sero aceitas mas um aviso ser
enviado para o stdout.
Predicados
-p [!] Especifica um protocolo. Pode ser um nome do protocolo como
protocolo TCP, UDP, ICMP ou ALL (para todos) (no importa letras
maiusculas ou minusculas), ou o nmero IP do protocolo sendo
0 para todos. Exemplo, 22 ou ssh podem ser usados para ssh.
A lista dos protocolos podem ser encontradas no arquivo
/etc/services.O simbolo [!] significa NOT. Ou seja ! ssh.
Para, no a SSH.
-s [!] end O endereo de origem a ser combinado ou [!] para NOT esse
endereo. -s significa SOURCE (origem). Onde [end] e o
endereo ip (address). Por exemplo [Link].
-d [!] end O endereo de destino a ser combinado ou [!] para NOT esse
endereo. -d significa DESTINATION (destino). Onde [end] e o
endereo ip (address). Por exemplo [Link].
Obs. Tanto o endereo -s quanto -d podem ser especificados
pelo nome (por exemplo, localhost, [Link] ou
o IP, por exemplo [Link]. Para um endereo IP, voc
pode significar o quanto da rede ou endereo e significativa
especificando a netmask. EX:
As duas notaes sao validas:
[Link]/[Link] ou
[Link]/24 (sendo 24 equivale a uma subnet de 24 bits,
ou seja [Link]). Nessa caso estamos falando de
todos os endereos entre [Link] ate [Link].
Ou seja, a subnet inteira.
[[!] porta] Quando usado com protocolos TCP ou UDP, por exemplo:
-p tcp ou -p udp, uma porta ou intervalo de portas
podem ser [Link] especifique o nmero
da porta ou o nome. Por exemplo 80 ou www. Um intervalo
pode ser determinado usando um : entre a porta menor
e a porta maior. Exemplo 0:65535.
[!] -y Quando utilizado com o protocolo TCP, especifica pacotes SYN
do TCP [Link] combinar com pacotes TCP requisitando uma
coneccao TCP.
[!] -f Combina o segundo ate o ultimo fragmento de um pacote
fragmentado. Nenhuma porta pode ser especificada quando
o flag -f e utilizado.
-i [!] nome Especifica a interface de rede pelo nome (de acordo com o
nome listado no comando ifconfig).A interface de input
e a interface por onde entram os pacotes, a interface
de forward e output sao as interfaces por onde os pacotes
[Link] nome de interface terminado com + ira combinar
com todas as interfaces daquele tipo. Por exemplo eth+
para : eth0, eth1, eth2 etc. ppp+ para ppp0, ppp1, etc.
Pode-se especificar um interface que no existe no seu sistema
ou no esta ativa, por exemplo ppp1. Nenhum pacote ira
combinar com a regra ate que a interface ppp1 esteja ativa.
-b Bidirecional, is vai fazer com que a regra funcione no importa
qual seja a direcao do pacote.E equivalente a repetir a regra
invertendo o endereo de origem (-s) e destino (-d). Na
verdade, seria como inserir duas regras em 1 so.
Talvez, para no confundir seja melhor declarar as duas regras
a declarar apenas 1.
obs. A exclamacao ! significa NOT. Por exemplo
! -s [Link] ira combinar com qualquer pacote menos
1 originado em [Link]. A mesma regra pode ser usada para
portas, protocolo, interface e demais predicados acima com essa
opcao descriminada.
O que essa regra faz mascarar todos os pacotes provenientes da rede
[Link] com o IP da eth0 encaminhando-os Internet:
ipchains -A forward -j MASQ -i eth0 -s [Link]/24 -d [Link]
Opes:
-A forward = adiciona regra de encaminhamento;
-j MASQ = poltica de mascarar o IP com o IP do servidor;
-i eth0 = pela interface eth0;
-s [Link]/24 = que tenha origem na rede [Link] de subnet [Link];
-d [Link] = destino a internet.
O que essa regra faz negar toda a entrada de pacotes originrios da
Internet nas portas 0 a 7000.
ipchains -A input -s [Link]/32 0:7000 -j DENY
Opes:
-A input = adiciona regra de entrada
-s [Link]/32 origem (source) = determina a origem, nessa caso a internet com
subnet [Link] ou /32 (32 bits).
0:7000 = especifica todas as portas entre 0 e 7000
-j DENY = poltica de DENY, ou seja negar.
Esse exemplo mais completo por especificar a interface eth1 e o protocolo
TCP. Nesse caso conexes provenientes da Internet na porta 80, protocolo TCP
para interface eth1 so aceitos. Alm disso sero logados atravs do parametro
-l
ipchains -A input -s [Link]/32 80 -p TCP -i eth1 -j ACCEPT -l
Opes:
-A input = adiciona regra de entrada
-s [Link]/32 origem (source) = determina a origem, nessa caso a internet com
subnet [Link] ou /32 (32 bits).
80 = especifica porta 80, ou seja a porta que geralmente utiliza-se http.
-p TCP = apenas para o protocolo TCP.
-i eth1 = na interface especificada eth1.
-j ACCEPT = poltica de aceitao.
-l = logar atividade.
Esse exemplo bloqueia toda a sada da sua rede para a Internet que esteja
usando a porta 4444. Este exemplo util para quando no se quer que os
funcionrios utilizem servios como Napster, ICQ, jogos ou outros tipos
de jogos. importante conhecer a porta do servio e tambm conhecer seu
protocolo
ipchains -A output -d [Link]/32 4444 -j DENY -l
Opes:
-A output = adiciona regra de sada.
-d [Link]/32 = destino internet.
4444 = porta 4444.
-j DENY = poltica de DENY (negar).
-l = logar atividade.
8.15 comando iptables = IP firewall administration padrao no kernel 2.4.x
e 2.6.x, tambm conhecido como NetFilter. Sintaxe:
iptables comandos regras extensoes
comandos:
-P cadeia = define a poltica padro para uma cadeia. As cadeias vlidas so:
INPUT, OUTPUT e FORWARD.
-A cadeia = anexa regras ao final de uma cadeia. Se um nome de host
fornecido, como fonte ou como destino, uma regra adicionada para cada IP
relacionado a este host. A opo cadeia deve ser substituida por: INPUT,
OUTPUT e FORWARD
-D cadeia = apaga uma ou mais regras da cadeia especificada
-D cadeia regra_num = apaga a regra residente na posio indicada por
regra_num da cadeia especificada. A 1 regra na cadeia a de nmero 1
-R cadeia regra_num = substitu a regra regra_num da cadeia especificada pela
regra dada
-I cadeia regra_num = insere uma ou mais regras no comeo da cadeia. Se um
nome de host fornecido, como fonte ou como destino, uma regra adicionada
para cada IP relacionado a este host
-L [cadeia] = lista todas as regras em uma cadeia. Caso no haja nenhuma
cadeia especificada, todas as regras em todas as cadeias so listadas
-F [cadeia] = remove todas as regras de uma cadeia. Se nenhuma cadeia for
especificada, remove as regras de todas as cadeias existentes, inclusive as do
usurio
-Z [cadeia] = restaura os contadores de datagramas e de bytes em todas as
regras das cadeias especificadas para zero, ou para todas as cadeias se
nenhuma for especificada
-N cadeia = cria uma cadeia definida pelo usurio com o nome especificado
-X [cadeia] = apaga a cadeia definida pelo usurio ou todas se no for
especificada uma
-C cadeia = verifica o datagrama descrito pela regra especificada contra a
cadeia especificada. Este comando retorna uma mensagem descrevendo como a
cadeia processou o datagrama. Isto muito til para testar a configuraco do
firewall, e para uma anlise posterior.
regras:
-
As seguintes regras podem ser usadas:
-p ! protocolo = define o protocolo ao qual a regra se aplica. O parmetro
protocolo pode ser qualquer valor numrico do arquivo /etc/protocol ou uma
das palavras chave: tcp, udp ou icmp
-s ! addres[/mask] = define a origem do pacote ao qual a regra se aplica. O
parmetro address pode ser um nome de host, um nome de rede ou um endereo IP
com uma mscara de rede opcional
-d ! address[/mask] = define o destino do pacote ao qual a regra se aplica.
O endereo e a porta so definidos usando-se as mesmas regras utilizadas para
definir esses valores para a origem do pacote
-j poltica = define um alvo para o pacote caso ele se encaixe nesta regra. As
polticas vlidas: ACCEPT, DROP, QUEUE e RETURN.
ACCEPT = permite a passagem do datagrama;
DROP = recusa o datagrama;
DENY = nega o datagrama;
QUEUE = passa o datagrama para rea do usurio para posterior processamento;
RETURN = fora o cdigo do firewall a retornar para a cadeia anterior e
continua o processamento na regra seguinte que retornou.
-i ! interface_name = define o nome da interface DE ENTRADA DE PACOTES por
onde o datagrama foi recebido. Um nome de interface pode ser usado encer-
rando-o com um sinal de +; por exemplo, eth+ corresponderia a todas as
interfaces ethernet iniciadas com eth. Se o seu computador possuir uma
placa fax-modem, sua interface a ppp0.
-o ! interface_name = define o nome da interface DE SADA DE PACOTES por
onde o datagrama ser transmitido. Um nome de interface pode ser usado
encerrando-o com um sinal de +; por exemplo, eth+ corresponderia a todas
as interfaces ethernet iniciadas com eth. Se o seu computador possuir uma
placa fax-modem, sua interface a ppp0.
! -f = indica que a regra somente se refere ao segundo fragmento e aos
subseqentes de pacotes fragamentados.
Observao: O smbolo ! usado na regras como uma negao da expresso.
Exemplo:
-s [Link]/32 equivale ao endereo de origem [Link];
-s ![Link]/32 equivale a todos os endereos exceto o [Link]
opes:
-
-v = sada em modo verbose. Mais rico em termos de detalhes sobre o que est
acontecendo ou sendo feito
-n = sada em modo numrico e no por nome de host, rede ou porta
-x = exibe o valor exato do pacote e dos contadores de bytes em vez de
arrendond-los para o milhar, milho ou bilho mais prximo
line-numbers = quando lista as regras, adiciona um nmero de linha ao comeo
de cada regra, correspondendo posio da regra dentro da cadeia.
extenses:
-
O IPtables extensvel atravs de uma biblioteca de mdulo compartilhados
opcional. Para fazer uso das extenses preciso especificar o seu nome usando
o parmetro -m argumento para o que o IPtables carregue este mdulo. Em
alguns casos usuado o parmetro -p para determinar o protocolo (em certos
casos no necessrio o parmetro -m pois ele carregado automaticamente,
por exemplo quando se usa tcp, udp ou icmp).
Extenso TCP: usada com -m tcp -p tcp
-
sport ! porta:porta = especifica a porta que a origem do datagrama usa.
Portas podem ser especificadas com um conjunto especificando-se o seu limite
superior e inferior separados por dois pontos :. EX: 20:25 descreve todas
as portas numeradas de 20 at 25 inclusive. Tambm possvel usar o caracter
! para inverter a expresso
dport ! porta:porta = especifica a porta que o destino do datagrama usa.
ou
destionation-port ! port:port = especifica a porta que o destino do
datagrama usa.
tcp-flags ! mask comp = especifica que esta regra somente ser validada
quando os flags do datagrama TCP coincidirem com o especificado em mask e
comp. Mask uma lista separada por vrgulas dos flags que devem ser exa-
minados quando for feito o teste. Comp uma lista separada por vrgulas dos
flas que devem ser configurados. Os flags vlidos so: SYN, ACK, FIN, RST,
URG, PSH, ALL ou NONE.
syn = especifica que a regra deve encontrar somente datagramas com o bit
SYN ligado e os bits ACK e FIN desligados. Datagramas com essas opes so
usados para requisitar incio de conexo TCP.
Extenso UDP: usada com -m udp -p udp
-
sport ! port:port = este parmetro tem funcionamento idnyico ao da
extenso TCP.
dport ! port:port = este parmetro tem funcionamento idntico ao da
extenso TCP.
Extenso ICMP: usada com -m icmp -p icmp
-
icmp-type ! typername = especifica o tipo de mensagem ICMP que a regra
deve satisfazer. O tipo pode ser determinado por um nmero ou nome. Alguns
nomes vlidos so: echo-request, echo-reply, source-quench, time-exceeded,
destionation-unreachable, network-unreachable, host-unreanchable,
protocol-unreachable e port-unreachable.
Extenso MAC: usada com -m mac
mac-source ! address = especifica o endereo Ethernet do host que
transmitiu o datagrama que esta regra deve encontrar.
Dispositivos de rede importantes no GNU/Linux
ethX = utilizado para as placas padro ethernet. Normalmente a primeira
placa conectada no host eth0, a segunda eth1 e assim sucessivamente.
lo = dispositivo de loopback, utilizando para testes do TCP/IP. Normalmente
quando aparece somente este dispositivo, significa que a parte fsica da
rede no est ativa.
pppX = a interface ppp, normalmente ativa no momento de uma conexo PPP
(point-to-point protocol) via modem no sistema recebe o dispositivo ppp0,
a segunda ppp1, e assim sucessivamente. Para verificar sua existncia
necessrio que uma conexo PPP esteja estabelecida.
Especifica o source, seja um endereo IP ou um nome DNS
iptables -s ip
Especifica o tipo de protocolo. Ex: tcp, udp, icmp
iptables -p protocolo
Especifica a porta de destino. EX 23=telnet, 22=SSH, 80=WWW
iptables destionation-port porta
ou
iptables dport porta
Exibe uma mensgem de ajuda com os comandos do iptables
iptables -hor
Especifica o que fazer com o pacote. EX: ACCEPT, DENY, DROP
iptables -j codigo
Recusa SYN pedidos de conexao em todas as portas menos a porta 80
iptables -A INPUT -i ppp0 -p tcp syn destination-port ! 80 -j DROP
Aceita (-j ACCEPT) todos os pacotes que entram (-A INPUT) com destino
porta SSH (destination-port ssh) vindos de todos os computadores que
pertencem rede [Link] (-s [Link])
iptables -A INPUT -s [Link] -p tcp destination-port ssh -j ACCEPT
Recusa (-j DROP) todos os pacotes que entram (-A INPUT) com destino porta
SSH (destination-port ssh) vindos de qualquer conexo externa rede local
[Link] (-s ! [Link])
iptables -A INPUT -s ! [Link] -p tcp destination-port ssh -j DROP
8.15 comando arp = este comando poder listar e modificar a tabela arp do
kernel linux. A tabela arp associa endereos IP endereos de hardware (mais
conhecidos como endereo MAC ou MAC Address). Manipula o cache ARP do sistema.
Toda a comunicao entre computadores (usando TCP/IP) feita atrvs do
endereo MAC dos dispositivos de rede, e no somente pelo endereo IP. O ARP
um dos protocolos utilizados na pilha TCP/IP localizado na camada de rede,
ou Internet, como alguns chamam. Ele executa a resoluo de endereos de
pacotes de sada, mapeando os endereos IP para endereos MAC. Os adaptadores
usam o endereo MAC para determinar se um pacote diz respeito a um computador
especfico. Sem o endereo MAC, os adaptadores de rede no sabem se devem
passar os dados para uma camada superior para serem processados posterior-
mente. Como os pacotes esto saindo da camada IP esto sendo preparados para
transmisso na rede, os endereos MAC de destino e origem devem ser adicio-
nados. O ARP armazena uma tabela, chamada cache ARP, que contm os IP e
seus endereos MAC correspondentes (a qual voce lista com o comando arp -a).
O cache do ARP de um computador contm o mapeamento somente de computadores
e roteadores residentes no mesmo segmento. A resoluo funciona da seguinte
maneira: O ARP compara o endereo IP destino de todos os pacotes de sada com
o cache do ARP para determinar o endereo MAC de envio do pacote. Se houver
uma entrada correspondente, o endereo MAC recuperado do cache. Se no
houver, o ARP transmite uma solicitao ao computador que possui o endereo
IP em questo para que responda com seu endereo MAC. A seguir, o computador
com o endereo IP correspondente adiciona o endereo MAC inicial do compu-
tador ao seu cache e responde com seu prprio endereo MAC. Quando recebida
uma resposta do ARP, o cache do ARP atualizado com as novas informaes e
o pacote pode ser enviado. Se o pacote for para outro segmento, o ARP resolve
o endereo MAC para o roteador responsvel por esse segmento, em vez de
resolver o endereo para o computador de destino final. Assim, o roteador
passa a ser responsvel por encontrar o endereo MAC do destino ou encaminhar
o pacote para outro roteador.
Exibe a tabela arp
arp
Address HWtype HWaddress Flags Mask Iface
[Link] ether 00:04:E2:39:58:12 C eth0
Exibe a tabela arp mas no resolve nomes das mquinas existente em uma rede
arp -n
Address HWtype HWaddress Flags Mask Iface
[Link] ether 00:04:E2:39:58:12 C eth0
Para deletar uma entrada da tabela arp
arp -d nome_do_host
ou
arp -d ip_do_host
Exibe ao usurio o que esta acontecendo, de modo detalhado
arp -v
Exibe as entradas das mquinas especificadas. Se o parametro mquina no
for usado, todas as entradas sero exibidas
arp -a
Como posso descobrir o MAC ADDRESS de um mquina?
arp -a
Exibe endereos numricos, ao invs de tentar determinar os nomes
simblicos da mquina, porta e usurio
arp -n maquina/IP
Remove todas as entradas para a mquina especificada
arp -d maquina/IP
Configura a interface eth0 para responder a requisies de arp para o
endereo IP [Link] utilizando o seu prprio endereo de hardware (MAC
Address). O parmetro pub faz com que a interface passe a divulgar esse
endereo e nao apenas aceitar pacotes para ele
arp -s [Link] -i eth0 -D eth0 pub
8.16 comando arping = serve para enviar requisies arp e/ou ICMP. Alm de
aceitar nomes de hosts, endereos IPs e endereos de hardware, pode usar
tambm como origem e/ou destino endereos de broadcast
8.17 comando rarp = manipula a tabela RARP do sistema
rarp -v
8.18 comando dnsdomainname = exibe o nome de dominio DNS do sistema,
com base em seu nome e dominio totalmente qualificado
dnsdomainname
dnsdomainname -v
8.19 comando hostname = exibe o nome da mquina
hostname
Exibe os alias (apelidos) da mquina
hostname -a
Exibe o nome do domnio DNS. No use o comando domainname para obter o
nome do domnio DNS porque ele mostrar o nome do domnio NIS e no o
nome do domnio DNS. Use o comando dnsdomainname
hostname -d
Exibe o FQDN (Nome de Domnio Completamente Qualificado). Um FQDN consiste
de um nome curto de mquina e do nome do domnio DNS. A menos que voc
esteja usando bind ou NIS para resoluo de nomes voc pode mudar o FQDN
e o nome do domnio DNS (que parte do FQDN) no arquivo /etc/hosts
hostname -f
Exibe o(s) endereo(s) IP da mquina
hostname -i
Exibe o nome da mquina sem o nome do dominio
hostname -s
Exibe o nome do domnio NIS no sistema
hostname -y
Exibe uma sada detalhada do que est acontecendo
hostname -v
8.20 comando domainname = exibe ou define o nome de dominio NIS do
sistema.
domainname
8.21 comando nmap = ferramenta de explorao de rede e segurana
Opes:
-PT usa o ping para verificar que HOSTS que esto ativos
-PT21 igual ao primeiro s que usa a porta 21
-sT varre porta de conexo TCP
-sS varre portas TCP SYN (furtivo)
-f usa pacotes fragmentados
-P0 nao faz ping
-PI usa ping ICMP pra saber quais HOSTS esto ativos
-sU varre porta UDP
-sF varredura FIN furtiva
-PB faz varreduras TCP e ICMP (vc pode escolher a porta)
-O descobre que OS o HOST esta usando
-p varre um intervalo de portas vc digita isso seguido do intervalo
de portas
-D [alguma HOST ativa] essa funo eu naum sei direito o que faz, mas
parece que lana algo que confunde a HOST e naum deixa ela te rastear,
se voce colocar varias HOSTS inativas da pra fazer uma inundao SYN
-F varredura rpida
-I obtm infos sobre os processos TCP na escuta
-R resolve todos os HOSTS (pelo menos tenta)
-o essa boa p/ varreduras longas ele grava as sadas no arquivo texto
que voce escrever aps o o
-g configura a porta fonte
-v sada detalhada
-vv sada mais detalhada ainda
-e [nome_dispositivo] envia pacotes na interface nome_dispositivo
nmap -sT -PO -O endereco_ip
Exibe o servio, a porta bem como tenta detectar o software que est
fornecendo a conexo:
nmap -A localhost -P0
Starting nmap 3.55 ([Link] at 2004-09-17 19:54 UTC
Interesting ports on [Link] ([Link]):
(The 1657 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.0.50 ((Fedora))
111/tcp open rpcbind 2 (rpc #100000)
443/tcp open ssl/http Apache httpd 2.0.50 ((Fedora))
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.5.25 2.6.3 or Gentoo 1.2 Linux 2.4.19 rc1-rc7)
Uptime 0.183 days (since Fri Sep 17 15:31:29 2004)
Verifica se a mquina alvo est com a porta do XFree86 aberta, no
pingando o host, mas verificando o sistema operacional que est rodando
nmap -P0 -O -p5999-6005 endereco_ip
Identifica se a maquina est rodando o servio telnet e se tambm
exibe o sistema operacional do host
nmap -P0 -O -p23 endereco_ip
Verifica se o host remoto est com a porta do LPD aberta
nmap -P0 -O -p515 endereco_ip
Verifica se o host remoto est com a porta do http aberta
nmap -P0 -O -p80 endereco_ip
Verifica se o host remoto est com a porta do ftp aberta
nmap -P0 -O -p21 endereco_ip
Verifica se o host remoto est com a porta do ssh aberta
nmap -P0 -O -p22 endereco_ip
Visualiza as portas que esto abertas no seu sistema
nmap localhost
<$1> significa que para mostrar somente a primeira coluna ver uma coluna
de nmero de servios (porta/protocolo) abertas
nmap localhost | grep open | awk {print $1}
Checa se o servio de ftp est rodando
nmap localhost | grep ftp
Faz uma varredura em todos os IP (pingando) que comeam com 172.30.
(deve ser o IP da sua rede) e desviar o resusultado para o arquivo ipativo
namp -sP 172.30.*.* > /var/log/ipativo
Exibe todas as mquinas que estao ligadas neste endereamento IP
nmap -sP 192.168.0.*
Descobre o endereo do DHCP server da rede 192.168.0
nmap -sU -p 67 [Link]-254
Verifica se uma determinada porta esta ou no aberta no sistema
nmap -sS localhost
Exibe as portas TCP abertas
nmap -sT [Link]
Exibe as portas UDP abertas
nmap -sU [Link]
Exibe se as portas 22 a 200 esto abertas
nmap [Link] -p22-200
Exibe quais mquinas que estao ativas na rede
nmap -sP 192.168.0/24
Exibe do IP 1 a 254 e checa se a porta 25 esta aberta
nmap [Link]-254 -p25
nmap -p 25,53 -sX -P0 -D [Link],[Link] [Link]
8.22 comando pppstats = imprime estatsticas PPP
Exibe valores absolutos em vez de relativos. Com esta opo todos os
relatrios mostraro estatsticas relativas ao momento em que a conexo
PPP foi iniciada. Sem esta opo, o segundo e os subseqentes relatrios
mostraro estatsticas relativas ao momento do trmino do relatrio
anterior
pppstats -a ppp0
Repete a tela 8 vezes. Se esta opo no for especificada, o nmero de
repeties padro ser 1
pppstats -c 8 ppp0
Exibe estatsticas adicionais, relatando a taxa de compactao alcanada
pelo algoritmo de compactao de pacotes em uso
pppstats -r ppp0
Exibe estatsticas adicionais, relatando o desempenho do algoritmo de
compactao de cabealho TCP
pppstats -v ppp0
Pausa 8 segundos entre cada repetio da tela. O padro ser de 5 segundos
pppstats -w 8 ppp0
Em vez de utilizar o formato padro de exibio, exibe estatsticas indi-
cando o desempenho do algoritmo de compactao de pacotes utilizado
pppstats -z ppp0
8.23 comando rup = exibe o status de um ou mais sistemas remotos.
Se nenhum host for especificado entao o status de todas as maquinas
na rede local ser exibido. Sintaxe:
rup -dhlt nome-da-maquina
Exibe a hora local em cada maquina
rup -d nome-da-maquina
Exibe as entradas pelo nome de host
rup -h nome-da-maquina
Exibe as entradas pela media de carga
rup -d nome-da-maquina
Exibe as entradas pela hora
rup -t nome-da-maquina
8.24 comando rusers = exibe quem esta conectado com um ou mai hosts
na rede local. Se nenhuma maquina for indicada, entao todos os usurios
conectados com todas as maquinas na rede local serao exibidos. Sintaxe:
rusers -l hostname
Exibe os resultados no formato longo, incluindo nome do usurio, nome
da maquina, tty que est sendo usado pelo usurio e a hora do login,
entre outras informacoes
rusers -l nome-da-maquina
8.25 comando rwho = exibe uma lista de usuarios conectados com todas
as maquinas na rede local
rwho
8.26 comando rwhod = responde as solicitacoes que chegam do cliente rwho
rwhod
8.27 comando wall = envia uma mensagem a todos os usurios conectados
do sistema. O comando wall faz a leitura de um arquivo ou entrada padro
e escreve o resultado em todos os terminais onde existem usurios
conectados. Somente o usuario root pode utilizar este comando
wall mensagem
wall /tmp/[Link]
echo Teste de mensagem | wall
8.28 comando telnet = permite acesso a um computador remoto.
recomendado usar no lugar do servio telnet, o servido ssh, pois
senhas e logins so enviados 100 qualquer tipo de criptografia nos
sevios telnet. Ja com o ssh as informaes sao criptografadas antes
de serem enviadas/recebidas dando maior segurana para o usuario
telnet opcoes ip/dns porta
ip/dns = endereo IP do computador de destino ou o DNS
porta = porta onde ser feita a tentativa de conexo. O padro a porta 23
Opcoes :
-8 : fora uma conexo em modo binario de 8 bits para envio e recebimento.
-a tenta um login automatico, enviando o nome de usuario lido da
varivel de ambiente USER.
-d : ativa o modo debug
-r : ativa a emulacao de rlogin
-l user1 : faz a conexao com o login user1
Tenta uma conexo na porta 80 (httpd)
telnet [Link] 80
Tenta uma conexo na porta 25 (SMTP)
telnet [Link] 25
Faz uma consulta um servidor whois
telnet [Link] 1234
Faz uma consulta um servidor whois
telnet [Link]
Verifica se a porta do Squid est aberta
telnet host 3128
Verifica se a porta do POP3 est aberta
telnet host 110
Verifica se a porta do SMTP est aberta
telnet host 25
8.29 comando ftp = permite a transferencia de arquivos de um computador
local para um computador remoto e vice e versa. Ao entrar em algum endereo
de FTP e o mesmo pedir um user e uma senha, o usurio deve utilizar o login
anonymous, e digitar qualquer senha, seguido do caracter @, pois ele
estar pedindo um e-mail como senha. EX: teste@[Link]
ftp ip
ou
ftp dns
ou
ftp [Link]
Comandos FTP:
Permite acesso na mquina especificada
open nome_maquina ou numero_ip
Altera de diretrio
cd diretorio
Exibe em qual diretorio remoto voc est
pwd
Lista o contedo do diretrio remoto atual
ls
Exibe o diretrio local, ou seja, do seu computador
lcd
Acessa o diretrio local /home/jordam
lcd /home/jordam
Configura o modo de transferncia binrio
bin
Quando estiver baixando um arquivo, exibir caracteres # enquanto
a transferncia estiver sendo realizada
hash
Habilita e desabilita o modo interativo de comandos
prompt
Faz o download do arquivo [Link]
get [Link]
Faz o download de todos os arquivos coma extenso TXT
mget *.txt
Envia o arquivo [Link] para o servidor o qual voce tenha
permisso de gravao
put [Link]
Envia todos os arquivos JPG para o servidor
mput *.jpg
Sai do programa ftp
bye
Copia o arquivo [Link] do servidor ftp para o computador local.
O arquivo gravado por padro no diretrio onde o programa ftp foi
executado/chamado
get [Link]
Por padro esta opcao esta desligada. Quando ligada faz com que o
caractere # seja exibido na tela indicando o progresso do download
hash on/off
Semelhante ao comando get, o comando mget possibilita copiar vrios
arquivos e permite o uso de caracteres curinga *, ?
mget [Link] [Link] [Link]
Envia o arquivo [Link] para o diretrio atual do servidor FTP
send [Link]
Ativa ou desativa a pergunta para a copia de arquivo. Se estiver
desligada (off) assume sim para qualquer pergunta
prompt on/off
Preciso enviar um arquivo de backup via FTP para um determinado host,
como fazer isso isso de forma automtica?
ftp -i -n < /root/scripts/ftp_virusscan.txt
contedo do arquivo /root/scripts/ftp_virusscan.txt
open [Link]
user anonymous xx@[Link]
bin
cd virusdefs
cd 4.x
hash
mget *.zip
mget *.exe
bye
8.30 comando talk = inicia um chat com outro usurio que, necessariamente,
deve estar logado no sistema UNIX
talk nome_do_usuario@[Link]
Para sair, tecle CTRL+C
talk usuario tty
usuario : nome de login que deseja iniciar o chat. Pode-se encontrar
logins para chat digitando o comando who
tty : nome do terminal aonde o usuario esta conectado
Se o usuario que voce deseja conversar estiver conectado em um
computador remoto
usuario@nome-do-host
8.31 comando tcpdchk = til para verificar problemas nos arquivos
[Link] e [Link]. Quando executado ele verifica a sintaxe destes
arquivos e relata problemas, caso eles existam
tcpdchk
8.32 comando tcpdmatch = permite que voc simule a tentativa de conexes
ao seu sistema e observar ser ela ser permitida ou bloqueada pelos arquivos
[Link] e [Link]. EX:
Contedo do arquivo [Link]
ALL: [Link]
[Link], [Link]: ALL
[Link]: 192.168.1. EXCEPT [Link]
A primeira linha permite o loopback ([Link]) acessar qualquer servio
TCP/UDP em nosso computador, a segunda linha permite qualquer um acessar
os servidor TALK (ns desejamos que o sistema nos avise quando algum
desejar conversar) e a terceira somente permite enviar dados do finger
para computadores dentro de nossa rede privada (exceto para [Link]).
Contedo do arquivo [Link]:
ALL: ALL
Qualquer outra conexo ser explicitamente derrubada. Vamos aos testes.
Para verificar se o endereo [Link] tem acesso ao finger digite
tcpdmatch [Link] [Link]
client: address [Link]
server: process [Link]
matched: /etc/[Link] line 1
access: granted
Ok, temos acesso garantido com especificado pela linha 1 do [Link]
(a primeira linha que confere usada).
Digite:
tcpdmatch [Link] [Link]
client: address [Link]
server: process [Link]
matched: /etc/[Link] line 3
access: granted
O acesso foi permitido atravs da linha 3 do [Link].
Digite:
tcpdmatch [Link] [Link]
client: address [Link]
server: process [Link]
matched: /etc/[Link] line 1
access: denied
O que aconteceu? como a linha 2 do `[Link] permite o acesso a todos os
computadores 192.168.1.* exceto [Link], ela no bateu, ento o proces-
samento partiu para o `[Link] que nega todos os servios para qualquer
endereo.
Digite:
tcpdmatch [Link] [Link]
client: address [Link]
server: process [Link]
matched: /etc/[Link] line 2
access: granted
Ok, na linha 2 qualquer computador pode te chamar para conversar via talk na
rede, mas para o endereo DNS conferir com um IP especificado, o GNU/Linux
faz a resoluo DNS, convertendo o endereo para IP e verificando se ele
possui acesso. No lugar do endereo tambm pode ser usado a forma
daemon@computador ou `cliente@computador para verificar respectivamente
o acesso de daemons e cliente de determinados computadores aos servios da
rede.
8.33 comando wget = software que faz o download de arquivos da WWW
Sintaxe:
wget URL:porta/path
Comeca a fazer o download do arquivo [Link]
wget [Link]
Caso a conexao termine e o download do arquivo [Link] no tenha
terminado, basta reiniciar do ponto onde caiu a conexo, usando o
parametro -c
wget -c [Link]
Copia todo o contedo do site referente este dominio
wget -r [Link]
Baixa apenas pginas html do site, deixando de lado as imagens e outros
arquivos. Neste caso voc usa o parmetro -A, seguido dos tipos de arquivos
a serem baixados. O wget automaticamente converte pginas php, asp e outras
extenses para html, de forma que esse comando funciona bem com a maioria
dos sites
wget -r -A .html [Link]
Baixando um arquivo via FTP com com senha. EX:
wget [Link]
ou
wget [Link]
Faz o download do arquivo [Link] especificando o nome de usurio
sendo user1, a senha sendo senha88, e o caminho do arquivo no servidor
ftp
wget user1:senha88@[Link]/home/ederjordam/[Link]
Copia um arquivo especifico, no exemplo seria [Link] e grava no
diretorio /tmp com o nome de [Link]
wget -O /tmp/[Link] [Link]
Copia todas as pginas HTML do site [Link]
wget -m -l 0 -A htm [Link]
Copia a pgina web e suas imagens para o respectivo diretrio que voce
se encontra
wget -r -np -k [Link]
Copia todo o site para o seu computador
wget -t0 -r -F [Link]
Faz o espelhamento (mirror) do site. OBS: Um espelhamento mal projetado
pode contribuir para encher seu disco rgido com material no desejado,
alm de sobrecarregar a Internet e o servidor sendo espelhado
wget -m [Link]
Uma aranha, no contexto da Internet um programa que serve para verificar
se os links de uma pgina esto ativos, ou seja, verificando se cada vnculo
HREF est conectado (ativo), verificando se os links de uma determinada pgina
local, chamada de [Link], esto ativos
wget spider force-html -i [Link]
Faz o mesmo que a opo acima, porem o arquivo agora analizado se encontra
na Internet
wget spider [Link]
Para fazer o download apenas de imagens nos formatos jpg, gif e png
wget -P /tmp/pastaespecifica -r -p [Link]
accept=JPG,jpg,GIF,gif,png,PNG
Para fazer o download de todos os aquivos de um site
wget -c -r [Link]
Para fazer o download do arquivo [Link] de um ftp que exija
login e senha
wget [Link]
wget [Link]
Para limitar o download a no mximo 10Kbps
wget limit-rate=10k continue [Link]
O wget pode tambm retomar transferncias interrompidas (opo -c)
quando se fornece o arquivo incompleto ao qual se acrescenta os
restantes dados. Esta operao precisa de ser suportada pelo servidor
wget -c [Link]
Entretanto, lembre-se que nem todos os sites esto abertos para espelhamento,
o direito autoral deve ser respeitado. E tambm, existem sites que possuem
arquivos [Link] que especificam quais partes do site podem ser copiadas
e quais no. Portanto, no se surpreenda se descobrir que determinado site
ou pgina no pode ser recuperado.
Se tiver tantas interrupes na transferncia de arquivo como eu tenho
no meu escritrio, pode dizer ao wget para tentar o URL vrias vezes
wget -t 5 [Link]
aqui desistimos ao fim de 5 tentativas. Use a opcao -t inf para nunca
desistir.
E quanto a proxy firewalls? Use a varivel de ambiente http_proxy ou
o arquivo de configurao .wgetrc para especificar um proxy atravs
do qual ir fazer a transferncia de arquivos. Um problema com ligaes
via proxy com ligaes interrompidas que o retomar pode por vezes
falhar. Se uma transferncia via proxy interrompida o servidor proxy
ir colocar em cache somente uma cpia incompleta do arquivo. Quando
tentar usar wget -c para obter o resto do arquivo o proxy ir
verificar a sua cache e informar erradamente que o arquivo completo
j foi transferido. Pode conseguir que a maioria dos proxyes no passe
pelo cache, adicionando um cabealho especial ao pedido de
transferncia de arquivos:
wget -c header=Pragma: no-cache [Link]
A opo header pode adicionar qualquer nmero e tipos de cabealhos
pelos quais podemos modificar o comportamento dos servidores de rede e
dos proxies. Alguns stios recusam-se a servir arquivos via uma ligao
externa; o contedo entregue somente a navegadores se acederem a
pgina via outra pgina no mesmo stio. Pode contornar isto adicionando
um cabealho Referer:
wget header=Referer: [Link]
[Link]
Alguns sites na rede particularmente anti-sociais iro fornecer
contedo somente a um tipo especfico de navegador. Contorne isto com
um cabealho User-Agent: header:
wget header=User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; WindowsNT; DigExt)
[Link]
Aviso: a dica acima pode ser considerada um mecanismo para evitar
licenciamento de contedo e existem sistemas legais anti-sociais que
consideram estas aces ilegais. Verifique a legislao local.
A opo -N para o wget ir verificar o selo temporal do objectivo
e parar a transferncia se eles coincidirem, o que uma indicao
que o ficheior completo foi transferido. Por isso pode activa-lo e
esquece-lo
wget -c -N [Link]
Recuperando downloads interrompidos uma das caractersticas que tornam
interessantes o uso do wget sua capacidade para recuperar downloads inter-
rompidos, desde, claro, que o servidor suporte este recurso. Voc pode
recuperar downloads perdidos especificando a opo -c na linha de comando
do wget
wget -c [Link]
Espelhamento de sites outro recurso interessante o espelhamento de
sites, tambm conhecido como mirror. O wget capaz de fazer espelhamento
de sites, mas tenha cuidado: um espelhamento mal projetado pode contribuir
para encher seu disco rgido com material no desejado, alm de sobrecarregar
a Internet e o servidor sendo espelhado. Voc faz um espelhamento utilizando
a opo -m (de mirror). Lembre-se que nem todos os sites esto abertos para
espelhamento. Existem sites que possuem arquivos [Link] que especificam
quais partes do site podem ser copiadas e quais no. Portanto, no se sur-
preenda se descobrir que determinado site ou pgina no pode ser recuperado
wget -m [Link]
O comando at pode ser utilizado para agendar uma tarefa em um momento
especfico do dia. Este comando vai agendar para a 1 hora da madrugada o
download do arquivo [Link] O resultado do
download (no caso, mensagens do wget), sero enviados para voce via comando
mail
echo wget [Link] | at 01:00
Uma aranha, no contexto da Internet, um programa que serve para
verificar se os links de uma pgina esto ativos. A referncia surgiu por
que o programa examina a pgina como se fosse um ponto de uma teia (web),
verificando se cada fio (vnculo HREF) est conectado (ativo). Para utilizar
o wget como aranha, usamos a opo spider. Para verificar se os links
de uma determinada pgina local, chamada de [Link] esto ativos,
basta digitar o comando acima. A opo force-html obriga o arquivo
local [Link] a ser tratado como arquivo HTML
wget spider force-html -i [Link]
Se o arquivo reside na Internet, a sintaxe pode ser simplificada
wget spider [Link]
Baixa o contedo de um web site
wget -c -t70 -r -np [Link]
Passa alguns parametros como usurio e senha para poder baixar o
contedo de um site
wget -c -r http-user=usuario http-passwd=senha link
-c : esta opo informa ao wget para continuar o download de onde terminou
se encontrar um arquivo parcial. Se no fosse informada esta opo, ele
criaria novo arquivo e comearia o download do incio.
-t0 : com esta opo, estou informando ao wget que, caso o download falhe,
ele deve repetir indefinidamente o mesmo. preciso cuidado com esta opo,
principalmente se o comando ser executado em uma sexta-feira para ser
verificado somente na segunda feira se a URL estiver errada, o wget vai
ficar tentando encontrar o arquivo indefinidamente.
-T30 : o wget utiliza a facilidade de timeout, mas seus limites de tempo
no so satisfatrios, pelo menos no para mim. Com esta opo, estou
informando ao wget que, se no houver fluxo de dados por 30 segundos, ele
deve refazer a conexo.
-i [Link] : esta opo informa ao wget que este deve ler as URLs
a serem baixadas a partir de um arquivo, a saber, [Link] (pode ser
qualquer nome), em vez de receber a mesma na linha de comando.
8.34 comando lynx = browser web de interface texto.
Algumas vezes estamos interessados em fazer a transferncia de um
grande nmero de arquivos cujos URLs esto numa dada pgina da rede
mas no queremos fazer um espelho total do stio. Um exemplo ser a
transferncia dos arquivos de msica no top 20 de um stio que mostra
o top 100 ordenados. Aqui as opes accept e reject no funcio-
naro porque somente funcionam com extenses de arquivos. Por isso use
lynx -dump
lynx -dump [Link] |grep gz$ |tail -10 |awk {print $2} >
[Link]
O resultado do lynx pode ento ser filtrado usando vrios utilitrios
de processamento de texto GNU. No exemplo acima, extraimos os URLs que
terminam em gz e guardamos os ltimos 10 desses num arquivo. Um
pequeno comando de scripting bash ir automaticamente transferir
qualquer URL listado neste arquivo
bash$ for x in $(cat [Link])
do
wget $x
done
Conseguimos transferir os ltimos 10 nmeros da Linux Gazette.
8.35 comando xhost = cada servidor X mantm uma lista de hosts que podem ou
no ter acesso. O programa xhost usado para alterar esta lista.
Exibe a lista dos hosts que tem permisso de acesso a este servidor X
xhost
Acrescentar o host [Link]. Ento, qualquer usurio e programa
naquela mquina pode se comunicar com nosso servidor X
xhost +[Link]
Remove o host [Link]
xhost -[Link]
Possiblita que qualquer mquina de qualquer lugar da Internet possa
se conectar ao servidor X de seu PC, exibindo a seguinte mensagem:
access control disabled, clients can connect from any host
xhost +
Somente as mquinas que esto listadas com o comando
xhost +nome-da-maquina podero acessar o servidor X deste PC, exibindo
a msg: access control enabled, only authorized clients can connect
xhost
8.36 comando mii-tool = serve para verificar e alterar o estado de uma
interface de rede. O MII um recurso utilizado pela maioria dos adaptadores
fast ethernet para negociar a velocidade do link e o full/half duplex. Nem
todos os adaptadores suportam esse recurso
Para verificar o estado da primeira interface de rede(eth0)
mii-tool eth0
Para forar que uma placa de rede anuncie somente certas capacidades, ou
para desabilitar completamente a auto-negocia e forar uma certa velocidade,
use os parmetros -A e -F respectivamente
Para configurar uma placa de rede para 100Mbit/s half e full duplex
mii-tool -A 100BaseTx-FD, 100BaseTx-HD eth0
Para configurar uma placa de rede para 10Mbit/s full duplex
mii-tool -F 10BaseT-FD eth0
8.37 comando tcpdump = este comando faz um dump do trfego de rede. Na sua
operao normal ele coloca a interface de rede em modo promscuo e exibe na
tela uma breve descrio de todos os pacotes que chegam interface
Exibe os pacotes do tipo ICMP que esto chegando na interface eth0
tcpdump -i eth0 icmp
Exibe os pacotes com origem na maquina com o IP [Link]
tcpdump src [Link]
Exibe os pacotes que tenham como origem ou destino a maquina [Link]
tcpdump host [Link]
8.38 comando ip = este comando reune todas as funcionalidades dos comandos
ifconfig, arp e route alm de permitir a manipulao das tabelas de rotas
especiais e tneis. Sintaxe:
ip [ opes ] OBJETO { COMMAND | help }
onde:
objeto = link, addr, neigh e route
Obtendo ajuda de um determinado objeto
ip nome_do_objeto help
O objeto link serve para exibir e manipular opes dos dispositivos de
rede. Atravs dele possvel ativar ou desativar uma interface, alterar
seus endereos MAC, opes de arp e multicast e at mesmo renomear uma
interface
Exibe os todos os dispositivos de rede (ativos e inativos)
ip link show
Ativando uma interface de rede
ip link set eth0 up
Alterando a mtu de uma interface de rede
ip link set eth0 mtu 1480
O objeto addr serve para exibir e alterar os endereos IPv4 e IPv6 das in-
terfaces virtuais ou no. Ao contrrio do comando ifconfig, o comando ip addr
capaz de atribuir e exibir mais de um endereo IPv4 para a mesma interface.
OBS: este comando exibe e espera como entrada de dados endereos IP no formato
addr/masklen.
Exibe os endereos das interfaces de rede
ip addr show
Adiciona um endereo em uma interface de rede
ip addr add [Link]/24 dev eth0
Deleta um endereo em uma interface de rede
ip addr del [Link]/24 dev eth0
Adiciona um endereo ponto-a-ponto
ip addr add [Link] peer [Link]
Exibe a tabela arp associada a uma interface de rede (o objeto neigh,
semelhante ao comando arp, serve para exibir e manipular a tabela arp)
ip neigh show dev eth0
Adicionando uma entrada na tabela arp
ip neigh add [Link] lladdr 00:11:22:33:44:55 dev eth0
Deletando uma entrada na tabela arp
ip neigh del [Link] lladdr 00:11:22:33:44:55 dev eth0
Deletando toda a tabela arp associada a uma interface de rede
ip neigh flush dev eth0
O objeto route = serve para exibir e modificar as tabelas de roteamento do
kernel linux. Ao contrario do comando route que apenas manipula a tabela de
rotas principal, este objeto consegue manipular todas as tabelas de rotas.
Exibe a tabela de rotas do kernel linux
ip route show
Exibe a rota para uma determinada rede ou host
ip route get [Link]
Adiciona uma rota
ip route add [Link]/24 via [Link]
Deleta uma rota
ip route del [Link]/24 via [Link]
Adiciona uma rota do tipo blackhole onde os pacote so silenciosamente
descartados
ip route add blackhole [Link]/24
Adiciona uma rota do tipo unreachable onde gerado um ICMP host
unreachable
ip route add unreachable [Link]/24
#######################################################################
9 EDITORES DE TEXTO
No GNU/Linux, existem diversos editores de textos. Iremos descrever:
emacs
vi
mcedit
pico
nano
9.1 editor emacs
CTRL + e + CTRL + e = sai do emacs
CTRL + x + CTRL + f = abrir um arquivo
CTRL + x + CTRL + s = salva um arquivo
CTRL + x + CTRL + w = salvar como um outro nome o arquivo
CTRL + k = apaga a linha corrente colocando-a no buffer
CTRL + y = cola a ultima entrada colocada no buffer
ALT + y = cola a penultima entrada colocada no buffer
CTRL + x + i = insere arquivo no ponto onde est o cursor
CTRL + s = procura o padrao de caracteres informado
CTRL +r = semelhante ao CTRL + s
CTRL + x + u = desfaz a ultima acao efetuada
9.2 editor vi
:q = sai do vi sem salvar
:q!= sai do vi forado sem salvar
:qw = sai do vi salvando o arquivo que esta sendo editado
:e [Link] = abre o arquivo [Link]
:w = salva o arquivo
:w [Link] = salva o arquivo corrente com outro nome
:r [Link] = insere o arquivo [Link] aonde se encontra o cursor
:u = desfaz a ultima acao
<esc>i Entra no modo INSERT (insert)
<esc>:q Sair, quando nada foi alterado (quit)
<esc>:q! Sair forado, quando um texto foi alterado mas no deseja-se
salvar (quit!)
<esc>:w Salvar alteraes correntes (write)
<esc>:w <nome_do_novo_arquivo> Salvar o arquivo corrente com outro nome
(mantm o arquivo corrente)
<esc>:w! <nome_do_arquivo> Salvar o arquivo corrente com outro nome (no
mantm o arquivo corrente)
<esc>:wq Salvar e sair (write & quit)
<esc>:# Vai para o nmero da linha indicado onde # o nmero da linha
<esc>:split <nome_de_outro_arquivo> Divide o arquivo atual com outro
arquivo na mesma tela
<esc>:!<comando> Comando no shell (voc mesmo dentro do vim pode dar um
comando no shell, sem sair dele)
<esc>dd Deleta a linha que o cursor est
<esc>v Seleo de caractres VISUAL
<esc>Shift+v Seleo de linhas VISUAL LINE
<esc>Ctrl+v Seleo em bloco VISUAL BLOCK
O vi pode ser usado para criptografar arquivos. Basta usar a opo
:X no modo de comando e digitar a senha.
Imagine que voc precisa inverter a ordem das linhas de um arquivo texto,
de forma que a primeira linha passe a ser a ultima. Isso pode ser feito
facilmente com o vi. Abra o arquivo, digite : para entrar no modo de
comando e digite: g/^/m0
9.3 editor mcedit
F2 = salva o arquivo
F3 = marca o ponto inicial do bloco a ser movimentado, e repetindo-se a
tecla F3 marca o final do bloco
F4 = substitui palavras em um texto
F5 = copia o texto que estiver selecionado com a tecla F3
F6 = move o texto que estiver selecionado com a tecla F3
F7 = procura palavras em um texto
F8 = apaga a linha corrente
F9 = acessa o menu com as opcoes do mcedit
F10 = sai do mcedit
CTRL + u = desfaz a ultima acao efetuada
9.4 editor pico
pico nome-do-arquivo
9.5 editor nano
9.6 comando touch cria arquivos com tamanho igual a 0 e efetua
alteracoes de data e hora em arquivos
Cria o arquivo [Link]
touch [Link]
Altera a data e a hora do arquivo para 01/10 12:30
touch -t 10011230 [Link]
Altera a data, hora, ano e seguindos do arquivo [Link] para
01/12/1999 e 12:30:30
touch -t 120112301999.30 [Link]
Cria um comentrio no diretrio corrente
touch zzz*** isto um comentario ***zzz
Altera a data e a hora de criao do arquivo [Link] para
os dados atuais
touch -m [Link]
Altera a data de modificao do arquivo [Link] para o
dia 23/05/1999
touch -m 05231999 [Link]
#######################################################################
10 CAMINHOS DE ARQUIVOS IMPORTANTES NO GNU/LINUX
histrico de comandos digitados por um usurio
~/.bash_history
exibe informaes de quem logou no sistema
/var/log/[Link]
usuarios cadastrados no sistema
/etc/passwd
grupos cadastrados no sistema
/etc/group
senhas criptografadas cadastradas no sistema
/etc/shadow
servios e portas disponveis
/etc/services
visualiza as irqs
/proc/interrupts
arquivo de trava do fax-modem
/etc/ppp/options
numeros ips das maquinas na rede
/etc/host
nome da maquina local em uso
/etc/HOSTNAME
Caminho dos papeis de parede do WindowMaker
/usr/X11R6/share/WindowMaker/Backgrounds
Caminho para os estilos de menu do WindowMaker
/usr/X11R6/share/WindowMaker/Styles
Caminho para o arquivo de menu do BlackBox
/etc/X11/blackbox/blackbox-menu
Caminho das imagens de fundo de tela do Eterm
/usr/share/Eterm/pix
Caminho de papeis de parede diversificados
/usr/share/wallpapers
Caminho dos pacotes do kernel
/usr/src/linux
Caminho dos modulos do kernel
/lib/modules/versao-do-kernel
Caminho dos modulos ativados do Kernel
/etc/[Link]
Caminho do arquivo de configuraco do SendMail
/etc/[Link]
Caminho dos arquivos de configurao de servios
/etc/[Link]
/usr/sbin/[Link]
Arquivo que permite acesso de usurios a sua mquina
/etc/[Link]
Arquivo que permite negar acesso de usurios a sua mquina
/etc/[Link]
Arquivos de configuracao do FTP ANONIMO
/etc/ftpaccess
/etc/ftphosts
/etc/ftpusers
Caminho dos logs do sistema
/var/log/
Caminho dos arquivos/diretorios cache do browser konqueror
/root/.kde/share/apps/kio_http/cache
Arquivo de configuracao do apt-get
/etc/apt/[Link]
Exibe seu conteudo apos o ato de efetuar o login na maquina
/etc/motd
Se existir este arquivo, ningum exceto o superusurio poder acessar
o sistema. Quando um usurio tentar efetuar login, o contedo deste arquivo
ser exibido no terminal
/etc/nologin
Os usurios conectados esto listados no arquivo
/var/run/utmp
que pode ser acessado atravs dos comandos w e who
O arquivo /var/log/wtmp mantm o registro dos acessos bem-sucedidos
ao sistema, e pode ser acessado com o comando last
Arquivo que serve para controlar o acesso a sistema de arquivos que
esto sendo exportados para clientes NFS
/etc/exports
Configuraes relacionadas ao sistema de janelas X, como por exemplo
configurao do teclado e comportamento de alguns programas no ambiente
grfico
/etc/X11
Arquivo de configurao do cron, que o servidor utilizado para executar
servios agendados
/etc/crontab
Contm informaes sobre os usurios da mquina. Nesse arquivo ficam
armazenados o nome do usurio, seu nome real, diretrio pessoal, senha,
interpretador de comandos a ser usado e outras informaes especficas
do usurio
/etc/passwd
Parecido com o arquivo passwd, porm, trabalha com grupos de usurios
ao invs de usurios individuais
/etc/group
Contm uma lista com os sistemas de arquivos e opes padro para a
montagem de sistema de arquivos
/etc/fstab
Contm a relao dos sistemas de arquivos atualmente montados, junta-
mente com opes de montagem e o estado em que se encontram
/etc/mtab
Arquivo de configurao dos nveis de execuo (runlevel) do sistema
/etc/inittab
Contm as configurao para as impressoras ligadas ao sistema ou rede.
Nesses arquivos so configurados filtros e alguns outros recursos adminis-
trativos relativo a impressoras
/etc/printcap
Contm a relao de terminais considerados seguros. O superusurio s
poder acessar a mquina a partir desses terminais. Geralmente so listados
apenas terminais acessveis localmente
/etc/securetty
Arquivo de configurao dos mdulos do kernel, composto por vrias diretivas
que adicionam, direcionam e carregam os mdulos
/etc/[Link]
Lista dos interpretadores de comando vlidos. Alguns servidores e comandos
restringem o acesso do usurio aos interpretadores de comando relacionados
nesse arquivo
/etc/shells
Diretrio contendo arquivos do sistema de janelas X. Esse diretrio contm
diversos outros pelos quais se espalham os arquivos do X
/usr/X11R6
Contm praticamente todos os comandos de usurios. Alguns outros podem
ficar no diretrio /bin ou, com menos frequncia, no diretrio
/usr/local/bin
/usr/bin
Possui os comandos de administrao do sistema que no necessitam estar
no diretrio raiz e que so exclusivos do superusurio
/usr/sbin
usado para armazenar os programas instalados localmente e que no se
encontravam empacotados com o RPM
/usr/local
Neste diretrio se encontra a maioria da documentao disponvel da
distribuio, como pginas de manual (manpages) e arquivos Como Fazer
(HOWTOs), entre outros
/usr/share/doc
Contm arquivos de bloqueio. Muitos programas seguem uma conveno
criando arquivos de bloqueio nesse diretrio para sinalizar que esto
usando um dispositivo especfico (como o modem, por exemplo) ou um
arquivo especial. Quando os programas detectam a presena desse
bloqueio eles no usam o mesmo dispositivo ou arquivo
/var/lock
Possui os arquivos de registro e/ou histricos de programas. Os arquivos
desse diretrio tendem a crescer indefinidamente, o que faz necessria
uma limpeza peridica nesse diretrio. No Conectiva Linux o aplicativo
logrotate faz esse servio automaticamente de acordo com configuraes
preestabelecidas ou configuraes definidas pelo administrador
/var/log
Armazena as diversas filas de tarefas como e-mail, notcias, impresso,
etc. Cada fila fica armazenada em seu prprio diretrio
/var/spool
Registra todos os comandos da ultima secao do usuario. Este criado pelo
proprio usuario que pode simplesmente alter-lo
~/.bash_history
Conjunto de comandos para serem executados na entrada do usuario.
~/.bash_profile
EX:
echo hehehehe!!
echo Voce nao fez por merecer essa shell.
echo Good Bye
exit
Adicione comandos a serem executados quando o usuario sair
~/.bash_logout
#######################################################################
12 COMANDOS PARA MODULOS (DRIVERS)
12.1 comando modprobe = carrega um mdulo e checa suas dependencias
referentes ao funcionamento do dispositivo especificado desde que
haja suporte para ele no kernel linux.
Carrega o modulo sb (relativo a placa de som Sound Blaster) usando as
flags io, irq, dma, dma16 e mpuio relativos configurao da placa de som
modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpuio=0x300
Carrega o modulo aha1542 referente a uma placa SCSI ISA
modprobe aha1542 irq=5 io=0x300 dma=3
Carrega o mdulo parport_pc referente ao funcionamento de uma impressora
conectada na porta LPT1(/dev/lp0)
modprobe parport_pc io=0x378 irq=7
Se ISA:
modprobe <modulo> io=<0x123> irq=<9>
Se PCI
modprobe <modulo>
onde:
modulo = o modulo usado pela sua placa de rede, no meu caso, eu uso
ne2k-pci, que a compatvem com minha placa(NE2000 PCI ou Realtek).
12.2 comando lsmod = exibe os mdulos ativos (carregados atualmente
no kernel linux)
lsmod
12.3 comando rmmod = descarrega(remove) mdulos que esto ativos
(carregados atualmente) no kernel linux. Esse comando usado seguido
do mdulo a ser descarregado do kernel linux
rmmod modulo-a-descarregar
Descarrega(remove) o modulo ne relativo a placa de rede
rmmod ne
12.4 comando depmod = retorna dependencias de modulos na saida padro.
Pode ser armazenado em um arquivo e depois usado pelo comando modprobe
para carregar modulos. As dependencias dos modulos sao verificadas pelos
scripts em /etc/init.d usando o comando depmod -a e o resultado
gravado no arquivo /lib/modules/versao-do-kernel/[Link]. Esta
checagem serve para que todas as dependencias de modulos estejam
corretamente disponiveis na inicializacao do sistema.
depmod -a
depmod module1.o module2.o
12.5 comando modinfo = exibe uma lista de parametros que um mdulo(driver)
possui
modinfo -p 3c59x
debug:3c59x debug level (0-6)
options:3c59x: Bits 0-3: media type, bit 4: bus mastering, bit 9: full duplex
global_options:3c59x: same as options, but applies to all NICs if options is unset
full_duplex:3c59x full duplex setting(s) (1)
modinfo 3c59x
filename: /lib/modules/2.6.8-2-686-smp/kernel/drivers/net/[Link]
author: Donald Becker <becker@[Link]>
description: 3Com 3c59x/3c9xx ethernet driver LK1.1.19 10 Nov 2002
license: GPL
vermagic: 2.6.8-2-686-smp SMP preempt 686 gcc-3.3
depends:
alias: pci:v000010B7d00005900sv*sd*bc*sc*i*
#######################################################################
13 COMANDOS DE REDIRECIONAMENTO E PIPE
-
Tente ao invs de somente > use 2> /arquivo. Normalmente o >
somente pega a saida de comandos executados com sucesso em quanto
o 2> eh a saida de erro padro.
13.1 > = redireciona a sada de um programa/comando/script para algum
dispositivo ou arquivo ao invs do dispositivo de sada padro(monitor de
video). Quando usado com arquivos este redirecionamento cria ou substitui
o contedo do arquivo
EX: voc pode usar o comando ls para listar arquivos e usar
ls > [Link]
para enviar a sada do comando para o arquivo [Link]
O mesmo comando pode ser redirecionado para o segundo console /dev/tty2
usando:
ls > /dev/tty2
o resultado do comando ls ser exibido no segundo console
13.2 >> = redireciona a sada de um programa/comando/script para algum
dispositivo ou final de arquivo ao invs do dispositivo de sada padro
(monitor de video). A diferena entre este redirecionamento duplo e o
simples, se caso for usado com arquivos, adiciona a sada do comando
ao final do arquivo existente ao invs de substituir seu contedo.
EX: voc pode acrescentar a sada do comando ls ao arquivo [Link]
do captulo anterior usando:
ls / >> [Link]
O mesmo comando pode ser redirecionado para o segundo console /dev/tty2
usando:
ls > /dev/tty2
o resultado do comando ls ser exibido no segundo console
13.3 < = direciona a entrada padro de arquivo/dispositivo para um
comando. Este comando faz o contrrio do anterior ele envia dados ao comando.
Voc pode usar o comando
cat < [Link]
para enviar o contedo do arquivo [Link] ao comando cat que mostrar
seu contedo
13.4 2> = redireciona a saida de erro padrao
/usr/[Link] 2> /home/arquivos/[Link] = envia a saida de erro padrao
do comando [Link] para o arquivo [Link]
13.5 &> = envia a saida padrao e tambem o erro padrao para um
determinado arquivo
13.6 2>> = o direcionamento no destrutivo d um append(adicionamento)
de sua sada de erro no arquivo [Link] script 2>> [Link]
13.7 | (pipe) = envia a sada de um comando para a entrada do prximo
comando para continuidade do processamento. Os dados enviados so processados
pelo prximo comando que mostrar o resultado do processamento.
EX:
ls -la | more = este comando faz a listagem longa de arquivos que enviado
ao comando `more (que tem a funo de efetuar uma pausa a cada 25 linhas
do arquivo).
A principal diferena entre o | e o >, que o Pipe envolve processamento
entre comandos, a sada de um comando enviado a entrada do prximo e o
> redireciona a sada de um comando para um arquivo/dispositivo.
Voc pode notar pelo exemplo acima ls -la | more que ambos ls e more
so comandos porque esto separados por um | Se um deles no existir ou
estiver digitado incorretamente, ser mostrada uma mensagem de erro.
Um resultado diferente seria obtido usando um > no lugar do | A sada
do comando ls -la seria gravada em um arquivo chamado more.
#######################################################################
14 TECLAS DE ATALHO DO KDE 3.X
-
ALT + F1 = exibe o menu de opcoes do KDe 3.x
ALT + F2 = exibe a janela Comando de execuo para que
voc digite um comando executar
ALT + F3 = tem a mesma funo do boto direito do mouse
ALT + F4 = fecha(encerra) um determinado programa em uso
ALT + TAB = exibe uma janela para escolher outro programa
que esteja rodando em background.
#######################################################################
15 METACARACTERES
-
Os metacaracteres so caracteres que representam o nome de um
grupo de arquivos.
* = substitui todos os caracteres
[] = intervalo de caracteres
? = substitui por um caracter qualquer
#######################################################################
16 COMANDOS PARA GRAVAO DE CDS
16.1 comando mkisofs = permite criar imagens ISO a partir de um
diretrio no HD
mkisofs -r -J -o [Link] /usr/imagem1/
-r: permite que qualquer cliente possa ler o contedo do arquivo e tambm
evita problemas ao tentar ler o arquivo no Win
-J: mais uma opo para manter compatibilidade com o Win ativando as
extenses Joilet
-o: especifica o nome do arquivo ISO que ser criado
[Link]: nome do arquivo ISO. Nunca esquea de incluir a
extenso .iso. O arquivo criado no diretrio corrente
/usr/imagem1/: diretrio onde esto os arquivos que sero incluidos
no arquivo ISO [Link]
16.2 comando cdrecord = permite gravar arquivos em um CDR[W]
Exibe informaes durante a gravao (-v), especifica o tamanho do buffer
na memria RAM em MegaBytes. Substitua o 16 por um nmero menor caso voc
tenha pouca memria RAM (-fs=16), a velocidade de gravao. Pode ser qualquer
nmero suportado pelo gravador. Graas ao cache de memria multitarefa
real, o Linux oferece uma tolerncia muito maior durante a gravao. Quase
sempre voc conseguir gravar a 6x ou mais, mesmo que continue usando o
PC normalmente o que no recomendvel (speed=6), especifica a localizao
do gravador. O 0,0,0 o padro para gravadores IDE na maioria das dis-
tribuies (dev=0,0,0). Se no funcionar, use o comando cdrecord -scanbus
para visualizar onde est instalado o seu gravador, especifica o arquivo
ISO que ser gravado (-data), o nome do arquivo imagem que ser gravado
([Link])
cdrecord -v -fs=16M speed=6 dev=0,0,0 -data [Link]
Efetua a cpia de todas as musicas wav para o CDR
cdrecord -v -fs=16M speed=8 dev=0,0,0 -audio *
Efetua a cpia das faixas(arquivos) [Link], [Link], [Link]
cdrecord -v -fs=16M speed=8 dev=0,0,0 -audio [Link] [Link] [Link]
16.3 comando dd = para copiar um CD j gravado, voc deve primeiro gerar
a imagem do contedo deste CD usando o comando dd e, em seguida, grav-lo
normalmente usando o comando cdrecord. Para gerar uma imagem digite
dd if=/dev/cdrom of=/[Link]
O comando acima serve apenas para copiar CDs de dados, pois faz uma cpia
exata do mesmo, coisa impossvel de ser realizada em um CD musical, onde
no existem os cdigos de correo de erro necessrios.
16.4 comando cdparanoia = para copiar CDs musicais pode-se usar o ripador
cdparanoia. Para ripar todas as faixas do CD de msica, basta coloc-lo na
bandeija do seu CD-ROM e digitar:
cdparanoia -B
isto ir extrair todas as faixas do CD para o diretrio corrente, ou seja,
o diretrio atual que voc se encontre, salvando-as com os nomes
[Link], [Link] etc.
Extrai apenas a faixa nmero 2 do CD musical salvando-a com o nome de
[Link]
cdparanoia 2 [Link]
#######################################################################
17 COMANDOS DA DISTRIBUIO DEBIAN
17.1 comando apt-get = atualiza/instala pacotes no sistema
Atualiza o banco de dados local do apt-get. Deve-se executar este
comando frequentemente (eu executo diariamente) para que o apt-get
busque sempre a lista de pacotes DEB mais recente
apt-get update
Atualiza todos os pacotes que esto instalados no sistema
apt-get upgrade
Atualiza apenas o pacote especificado
apt-get upgrade nome_do_pacote
Checa a integridade dos pacotes do sistema, ou seja, verifica se no h
dependncias quebradas
apt-get check
Instala um novo pacote solucionando automaticamente os pacotes dos quais
o aplicativo a ser instalado depende. Caso o pacote algum-pacote j esteja
instalado, o apt-get tentar atualiz-lo
apt-get install pacote
Para reinstalar um pacote
apt-get install reinstall nome_do_pacote
Saber status do cache, como verses distintas, dependncias
apt-cache stats
Para procurar um pacote
apt-cache search nome_do_pacote
Procurar pacotes apenas pelo nome
apt-cache search names-only nomedopacote
Faz uma busca pelo pacote e exibe alguns dados relacionados com o pacote
apt-cache show nome-do-pacote
Exibe mais detalhes (dependncias e verso) sobre um determinado pacote
apt-cache showpkg nome_do_pacote
EX:
apt-cache showpkg kmail
Exibe apenas os pacotes que depende
apt-cache showpkg nome_do_pacote
EX:
apt-cache depends kmail
Instala os pacotes bsicos e tenta atualizar todo o sistema
apt-get dist-upgrade
Remove o pacote e todas as suas dependencias criadas
apt-get remove nome-do-pacote
Remove o pacote e todas as suas dependencias criadas incluindo arquivos
de configurao
apt-get remove purge nome-do-pacote
Visualiza os pacotes que voce poder atualizar
apt-get -S upgrade
Verifica as dependncias automaticamente
apt-get -f install
Instala o kernel no sistema
apt-get -f install kernel
Apenas efetua o download do pacote para o diretrio
/var/cache/apt/archives cabendo ao usurio instal-lo posteriormente
apt-get install -d nome_do_pacote
Tambem instala o kernel no sistema
apt-get -f install kernel#1:2.2.18-6cl
Para reinstalar um pacote
apt-get install reinstall nome_do_pacote
Para apenas fazer o download de um pacote (A opo -d ou
download-only no apt-get faz apenas o dowload sem instalar nada)
apt-get download-only install nome_do_pacote
Qual pacote devo instalar pra ter o comando import?
apt-file search bin/import
imagemagick: usr/bin/import
Adiciona o suporte ao apt para instalar pacotes via CD-ROM
apt-cdrom add
Para remover arquivos de pacotes baixados pelo apt-get ou aptitude
(que sero armazenados no diretrio /var/cache/apt/archives/) digite:
apt-get clean
apt-get autoclean
Para fazer o download do cdigo-fonte de um pacote (OBS: ser feito
o download para o diretrio atual)
apt-get source nome_do_pacote
note que sero copiados/baixados 3 arquivos
.[Link]
.dsc
.[Link]
Para descobrir o nome de um pacote (que no est instalado no sistema)
que um arquivo pertence
apt-file search nome_do_arquivo
OBS1: Antes disso, por favor, execute o comando
apt-file update
para atualizar a base de dados dos arquivos que os pacotes contm.
OBS2: Este comando similar ao dpkg -S mas exibir os pacotes no
instalados que contm o arquivo. Pode ser usado tambm para procurar
por um pacote que contm arquivos necessrios que estejam faltando
quando se compila alguns programas
Para exibir o contedo de um pacote
apt-file list nome_do_pacote
17.2 comando aptitude = gerenciador de pacotes padro do Debian GNU/Linux
verso sarge/testing. o substituto do software dselect. Pode-se utilizar
o aptitude ao invs do apt-get para gerenciar os pacotes *.deb no sistema.
Possui duas interfaces: baseada em menus de comandos e a outra totalmente em
modo texto, ou seja, via linha de comando.
1 Interface via texto
Atualiza o banco de dados local do aptitude
aptitude update
Atualiza todos os pacotes que esto instalados no sistema
aptitude upgrade
Para instalar um pacote
aptitude install nome_do_pacote
Para remover um pacote instalado no sistema
aptitude remove nome_do_pacote
Para remover um pacote instalado no sistema incluindo seus
arquivos de configurao
aptitude purge nome_do_pacote
Para manter a verso atual de um pacote instalado no sistema, basta
digitar
aptitude hold nome_do_pacote1 nome_do_pacote2 nome_do_pacote3
Assim uma atualizao do pacote selecionado no ser instalado no sistema.
Para remover arquivos de pacotes baixados pelo apt-get ou aptitude
(que sero armazenados no diretrio /var/cache/apt/archives/) digite:
aptitude clean
aptitude autoclean
Para procurar um pacote
aptitude search nome_do_pacote
Faz uma busca pelo pacote e exibe alguns dados relacionados com o pacote
aptitude show nome-do-pacote
2 Interface via menus
Para executar o aptitude atravs da interface via menus:
aptitude
basta acessar os menus apertando a tecla tecla F10.
Para instalar um pacote selecionado, pressione a tecla + e logo aps,
pressione a tecla g duas vezes. Ento aguarde o download e a instalao.
Para remover um pacote instalado no sistema, basta selecion-lo e logo
aps pressionar a tecla -. Caso voc queira remover tambm seus arquivos
de configurao, pressione a tecla _ ao invs da tecla -.
Para manter a verso atual de um pacote instalado no sistema, basta
selecion-lo e depois pressionar a tecla =. Assim uma atualizao
do pacote selecionado no ser instalado no sistema.
Para remover arquivos de pacotes baixados pelo apt-get ou aptitude
(que sero armazenados no diretrio /var/cache/apt/archives/) clique
na tecla F10, selecione o menu Actions e escolha as opes
Clean package cache e depois Clean obsolete files.
17.3 comando dpkg = ferramenta completa para gerenciamento de pacotes
utilizando o Sistema de Pacotes Debian (Debian Package System)
Para instalar um pacote no formato deb
dpkg -i nome_do_pacote.deb
ou
dpkg install nome_do_pacote.deb
Para remover um pacote no formato deb mantendo os arquivos de
configurao relacionados ao pacote
dpkg -r nome_do_pacote
ou
dpkg remove nome_do_pacote
Para remover um pacote no formato deb removendo tambm todos os arquivos
de configurao relacionados ao pacote
dpkg -P nome_do_pacote
ou
dpkg purge nome_do_pacote
Para exibir detalhes sobre um determinado pacote
dpkg -p nome_do_pacote
ou
dpkg print-avail nome_do_pacote
Para exibir todos os pacotes instalados no computador
dpkg -l
ou
dpkg list
Para exibir todos os pacotes que contenham em seu nome a palavra
mozilla
dpkg -l | grep mozilla
ou
dpkg list | grep mozilla
ii kaffeine-mozil [Link]-1 mozilla plugin that lanches kaffeine for sup
ii mozilla-browse 1.7.3-5 The Mozilla Internet application suite cor
ii mozilla-psm 1.7.3-5 The Mozilla Internet application suite Per
mas para que o nome do pacote seja exibido por completo, basta digitar
COLUMNS=95 dpkg -l | grep mozilla
ii kaffeine-mozilla [Link]-1 mozilla plugin that lanches kaffeine for supported
ii mozilla-browser 1.7.3-5 The Mozilla Internet application suite core and
ii mozilla-psm 1.7.3-5 The Mozilla Internet application suite Personal
Para exibir todos os pacotes que comecem com a palavra postgre
dpkg -l postgre*
ou
dpkg list postgre*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==================-==================-
====================================================
un postgres95 <none> (no description available)
ii postgresql 7.4.6-5 object-relational SQL database management system
ii postgresql-client 7.4.6-5 front-end programs for PostgreSQL
un postgresql-contrib <none> (no description available)
un postgresql-dev <none> (no description available)
un postgresql-doc <none> (no description available)
un postgresql-pl <none> (no description available)
un postgresql-test <none> (no description available)
Para exibir os arquivos que um determinado pacote possui
dpkg -L nome_do_pacote
ou
dpkg -listfiles nome_do_pacote
Para exibir o nome do pacote que contem os arquivos todos os kmail_*.sh
dpkg -S kmail_*.sh
ou
dpkg search kmail_*.sh
kmail: /usr/bin/kmail_antivir.sh
kmail: /usr/bin/kmail_sav.sh
kmail: /usr/bin/kmail_fprot.sh
kmail: /usr/bin/kmail_clamav.sh
Para exibir uma descrio mais detalhada do pacote postgresql
dpkg -s postgresql
Para exibir o contedo de um pacote DEB
dpkg -c nome_do_pacote.deb
dpkg -S /usr/include/locale.h
libc6-dev: /usr/include/locale.h
Para exibir todos os pacotes instalados no sistema
dpkg get-selections >> lista_de_pacotes.txt
Para obter uma lista de pacotes instalados no sistema:
dpkg get-selections > lista_de_pacotes.txt
#####################################################################3
ARRUMAR!!! EDER JORDAM PAREI AQUI
Para saber as depedencias de um pacote:
apt-cache show kernel-image-2.6.10-1-k7 | grep Depends
Depends: initrd-tools (>= 0.1.76), coreutils | fileutils (>= 4.0),
module-init-tools (>= 0.9.13)
Conta qtde de bytes no diretrio:
du -Sh | tail -n 1 | awk { print $1 bytes no diretrio }
Conta qtde de bytes no total:
du -Shc | tail -n 1 | awk { print $1 bytes com os subdiretrios}
Mquinas nesta faixa de rede:
nmap -v -Ss -o [Link]/24 192.168.1.*
Mounting ISO Images
If you are already running Linux, you can save an ISO image to a directory
on your machine or another machine on the network. You may then mount
the ISO image to look at or copy files. To mount an ISO image, use the
following command:
mount -o loop -t iso9660 <isofilename> <mountpoint>
Monitora a memoria
xterm -e watch -n 0 cat /proc/meminfo &
Monitora o uptime (quanto tempo ja esta ligado):
xterm -e watch -n 0 cat /proc/uptime &
Apaga a rota desconhecida:
route del -net [Link] netmask [Link] eth1
Exibindo a licenca de um software:
rpm -qi yast2 | grep -E (Name|License)
Name : yast2 Relocations: /usr
Size : 1074160 License: GPL
iptables -L = exibe as regras
iptables -F = limpa as regras
iptables -t nat -L = exibe as regras de NAT
iptables -t nat -F = limpa as regras de NAT
iptables -L -vn -t filter = exibe a tabela filter
2. bz2 geralmente extenso de arquivo compactado com o bzip2.
gz geralmente extenso de arquivo compactado com o gzip
tar geralmente extenso de arquivos aglutinados com o tar
md5 geralmente extenso do arquivo com o hash MD5 para verificar
a integridade dos arquivos distribudos
Exibe todos os processos que estao sendo executados na maquina:
ps -a
iptables -A OUTPUT -s [Link] -d [Link] -j DROP
ou
iptables -A OUTPUT -d [Link] -j DROP
comando lsof -i = exibe todas as portas que estao sendo usadas
pstree mostra uma rvore ordenada do que esta em execuo no momento.
Uma alternativa para o ps.
socklist mostra uma lista dos sockets abertos. Para se ter idia, toda
comunicao feita atravs de sockets.
vmstat um relatrio sobre a utilizao da memria. A primeira vista
parece ser bastante completo, no se restringindo a utilizao da memria
$ dpkg -S `which passwd`; # PRA ver o nome do pacote que mexe com senhas
$ dpkg -L passwd | grep bin; # PRA ver os programas do pacote
$ zcat [Link]
Como saber a qual pacote, determinado arquivo pertence?
1) Para arquivos de pacotes que NO esto instalados: Instale o apt-file.
bash$ apt-get install apt-file
bash$ apt-file update
a) Para descobrir a qual pacote determinado arquivo pertence:
bash$ apt-file search <arquivo>
b) Para listar os arquivos que um pacote possui:
bash$ apt-file list <pacote>
2) Para arquivos de pacotes que ESTO instalados: use o dpkg
a) Para descobrir a qual pacote determinado arquivo pertence:
bash$ dpkg -S <arquivo>
b) Para listar os arquivos que um pacote possui:
bash$ dpkg -L <pacote>
Exibe uma descrio das verses de todos os pacotes instalados:
dpkg list
ou
dpkg -l
Exibe uma descrio do pacote php4:
dpkg list php4
Exibe uma descrio detalhada do pacote php4:
dpkg status php4
Para exibir o nome do pacote .deb (desde que o mesmo esteja instalado
no sistema) que contem um determinado arquivo:
dpkg search nome_do_arquivo
Este comando equivalente a procurar todos os arquivos que possuam a
extenso .list no diretrio /var/lib/dpkg/info/
Para obter o cdigo fonte de um determinado pacote:
apt-get source nome_do_pacote
Para exibir a ajuda do comando dpkg:
dpkg help
Para exibir o arquivo de controle de um pacote .deb:
dpkg info nome_do_pacote.deb
Para instalar um pacote .deb:
dpkg install nome_do_pacote.deb
Para extrair um nico arquivo chamado [Link]:
dpkg fsys-tarfile nome_do_pacote.deb | tar -xf [Link]
Para remover um pacote instalado no sistema (este comando no
remove os arquivos de configurao do pacote):
dpkg remove nome_do_pacote
Para remover um pacote instalado no sistema incluindo todos os
seus arquivos de configurao:
dpkg purge nome_do_pacote
Para forar a remoo de um pacote instalado no sistema incluindo
todos os seus arquivos de configurao:
dpkg purge force-remove-essential nome_do_pacote
Para exibir o estado de instalao dos pacotes instalados no sistema
contendo a string (ou expresso regular) php*:
dpkg list php*
O programa dpkg-deb serve para manipular arquivos de pacotes .deb.
Para exibir a ajuda do comando dpkg-deb:
dpkg-deb help
Para exibir todos os arquivos que esto contidos em pacote .deb:
dpkg-deb contens nome_do_pacote.deb
Para extrair todos os arquivos contidos em um pacote .deb para
um determinado diretorio no sistema:
dpkg-deb extract nome_do_pacote.deb /tmp/pacotes/pacote1
Excelente caso voc deseje visualizar e manipular o contedo de
um pacote .deb sem ter que instal-lo no sistema.
Depois de atualizar o Debian GNU/Linux com os comandos:
apt-get update
e
apt-get upgrade
digite:
apt-get clean
para apagar os pacotes .deb que foram baixados para o seu computador.
Assim liberar espao no disco rgido (HD).
Procure assim:
dpkg -S ipatables
* ou *
dpkg -l *iptables*
Aparecero todos os arquivos deste pacote e voce poder verificar onde
se encontram os scripts que procura.
#######################################################################
comando locale = a base de dados do locate atualizada apenas uma vez
por dia, um job cron que roda (normalmente) as 4 e pouco da manha. Se
voce deixa seu micro desligado de noite, voce vai receber uns avisos quando
ela estiver a mais de 8 dias sem atualizar a base de dados. Nesses casos,
basta rodar o comando updatedb como root antes de usar o locate.
#######################################################################
comando showmount = exibe os pontos de montagem (protocolo NFS) de uma
mquina na rede. EX:
showmount -a [Link]
All mount points on [Link]:
[Link]:/home/edersg
#######################################################################
Bloqueando usarios com o usermod
Para bloquear um usurio temporariamente com o comando usermod muito
simples. Por exemplo, tenho um usurio chamado casa e quero que este
usurio fique um tempo sem acessar o sistema. Para isso abro um terminal
e digito o seguinte comando:
# usermod -L casa
Com este comando o usurio perde o acesso ao sistema temporariamente. Agora
eu quero que este usurio volte a ter acesso ao sistema. Ento, digito o
seguinte comando:
# usermod -U casa
Este comando pode ser muito til. Por exemplo: Tenho um usurio que ficar
temporariamente fora da empresa, ento, em vez de excluir a conta deste
usurio, eu simplesmente desativo esta conta por um tempo.
#######################################################################
>Um estagirio aqui na empresa recebeu a funo de fazer backup dos
>servidores de firewall, no arquivo excluir tinha a lista para o tar
>no copiar e segundo ele:
>- Eu sei fazer o backup com as duas mos nas costas!!!
>
>S que o infeliz colocou a opo exclude-from=excluir no lugar
>errado e foi criado um arquivo exclude-from=excluir que no apaga
>de jeito nenhum, algum tem uma soluo para este problema?
Voc quer dizer isso:
$ ls -l
total 0
-rw-rw-r 1 thiago thiago 0 2004-12-17 17:09 exclude-from=excluir
E a:
$ rm exclude-from\=excluir
rm: opo no reconhecida `exclude-from=excluir
Try `rm help for more information.
isso?
Solues:
$ rm $PWD/exclude-from\=excluir
$ rm ./exclude-from\=excluir
$ rm exclude-from\=excluir
Ou use um gerenciador de arquivos.
Dica: opes SEMPRE precedem os nomes de arquivos:
$ touch abc
$ ls
abc
$ ls -l abc
-rw-rw-r 1 thiago thiago 0 2004-12-17 17:11 abc
$ ls abc -l
-rw-rw-r 1 thiago thiago 0 2004-12-17 17:11 abc
$ export POSIXLY_CORRECT=1
$ ls -l abc
-rw-rw-r 1 thiago thiago 0 2004-12-17 17:11 abc
$ ls abc -l
ls: -l: Arquivo ou diretrio no encontrado
abc
################################################################
> To precisando de arrumar um jeito de copiar uma serie de
> arquivos que esto listados em um arquivo .txt
> J procurei na sintaxe do cp e no vi nenhuma opo para isto.
> Se algum tiver alguma sugesto,
> valeu.
Use crases, como no exemplo:
cp `cat [Link]` /tmp
################################################################
Comandos de impresso!!!
Para limpar a fila de impresso:
lprm
Para exibir a fila de impresso:
lpstat
################################################################
O que eh o SUDO?
Sudo habilita usuarios nao privilegiados a executarem tarefas que
por default o usuario nao poderia faze-la.
O que o SUDO me oferece?
Dar permissoes de root a um usuario que necessite fazer algo
importante,mas somente nos comandos realmente necessitados.
Fazer auditoria dos comandos utilizados pelo usuario, ja que o SUDO cria
um log claro de facil interpretacao.
Arquivo de configuracao do Sudo?
o /etc/sudoers
Abaixo exemplo:
[root@queen /root]# cat /etc/sudoers
# sudoers file.
#
# This file MUST be edited with the visudo command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults specification
# User privilege specification
root ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
Exemplos de uso do SUDO:
1-) Vamos imaginar a situacao: voce tem um admin que precisar mudar as
senhas dos usuario (mail, ftp, shell), mas voce nao confia nele o
suficiente para dar root. O que fazer? Usuaremos o usuario spooker como
sendo o admin (voce podem me dar root ta? Ehehehhe).
Num primeiro momento, se eu tentasse mudar a senha de um usuario do server
logado como spooker (vou usar usuario spookerlabs).
[spooker@queen spooker]$ sudo passwd spookerlabs
spooker is not in the sudoers file. This incident will be reported.
[spooker@queen spooker]$
Perfeito!!! =)))) Era pra dar isso mesmo. Mas agora, quero que meu admin
possa mudar a senha de qualquer um dos meus usuario. Primeiramente edite
o arquivo /etc/sudoers e adicione a seguinte entrada.
spooker ALL = /usr/bin/passwd [A-z]* , ! /usr/bin/passwd root
Adicionando isso, veja o que acontece:
[spooker@queen spooker]$ sudo passwd spookerlabs
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:
# 1) Respect the privacy of others.
# 2) Think before you type.
Password:
Changing password for user spookerlabs
New password:
BAD PASSWORD: it does not contain enough DIFFERENT characters
Retype new password:
passwd: all authentication tokens updated successfully
[spooker@queen spooker]$
Ele me pedira meu password novamente, para ter certeza que eh o usuario
sentado na frente da shell, e depois pedira pra entrar com o novo password.
Pronto nosso admin agora pode adminstrar as contas de FTP, mail!
Entendendo um pouco a linha adicionada, primeiramente vem o nome do usuario
que tera direto a usar o comando, segundo a partir de qual host e apos isso
o comando(o ! /usr/bin/passwd root exclui a possibilidade de mudar a senha
do root =PP ).
2-) Vamos imaginar que voce quer que um grupo possa executar determinados
comandos. Considerando que o grupo seria spookerteam, ao inves de somente
colocar o nome do usuario como coloquei no exemplo assim,colocaria o sinal
de porcentagem (%) seguido do nome do grupo.
%spookerteam ALL = /usr/bin/passwd [A-z]* , ! /usr/bin/passwd root
Conclusao:
-
O texto totalmente basico , e voce pode usar o comando que quiser e
necessitar, como iptables, shutdown entre muitos outros. Somente fiz uma
visao rapida, e quem sabe com isso voces nao leiam alguma leitura avancada
e usem e abusem dessa execelente ferramenta. Criticas, sugestoes sao bem
vindas!
################################################################
login = Faz o login no sistema.
login -h mercurio = faz o login no computador chamado mercurio
logout = Faz o logout no sistema.
exit = Encerra a sessao atual.
shutdown = Desliga ou reinicia o sistema com agendamento.
shutdown -t 30 -h 19:00 = o sistema sera desligado para manutencao.
Este comando envia um aviso (-t) 30 segundos antes de desligar o
sistema (-h) as 19:00 horas e envia uma mensagem personalizada.
halt = Desliga o sistema imediatamente.
poweroff = Desliga o sistema imediatamente.
reboot = Reinicia o sistema imediatamente.
Listar pastas
$ ls */ -d
Copiar um pasta
$ cp -R pasta
Lista partioes
$ df -hT
Nmero de arquivos em uma pasta
$ ls |wc -l
Tamanho dos arquivos de uma pasta (MB)
$ ls -lh
Tamanho de um pasta (MB)
$ du -sh
Processos que impedem de desmontar (busy)
$ fuser -mv /dev/X (onde X partio)
* Comando uptime = exibe o tempo que o servidor est no ar sem ser
desligado.
* Cria os diretrios joao, maria, jose, e jordan dentro
do diretrio home:
mkdir /home/{joao,maria,jose,jordan}
touch -t 10011230 teste = altera data e hora do arquivo para
01/10 e 12:30
touch -t 120112301999 = altada a data, hora, ano e segundos
do arquivo para 01/12/1999 e 12:30:30
cd ~ = retorna ao diretrio home do usurio
cd / = retorna ao diretrio raiz
cd = volta ao diretrio acessado anteriormente
cd .. = sobre um diretrio
cd ../diretorio = sobe um diretrio e entra imediatamente no segundo
cat -n [Link] = exibe o nmero de linhas enquanto o contedo
do arquivo exibido
cat -s = no exibe mais que uma linha em branco
df -m = exibe o espao em MB
import -w root -quality 85 /home/edersg/[Link]
Pacote sysutils
===============
Colaborao: Rubens Queiroz de Almeida
O pacote sysutils da distribuio Debian, contm um aplicativo
bastante til chamado fromdos, que realiza funes de
converso de formatos entre sistemas Unix e Dos.
Por default, ele elimina todos os CR (carriage return)
de um arquivo e permite tambm o caminho reverso, isto ,
a converso do formato Unix para DOS.
# fromdos -u [Link]
# cat -v [Link]
Usage: fromdos [options] [file]^M
-a Always convert (DOS to Unix: kill all CRs;^M
Unix to DOS: convert all LFs to CRLFs)^M
-b Make backup of original file (.bak).^M
-d Convert DOS to Unix.^M
-e Abort processing files on error in any file.^M
-f Force: convert even if file is not writeable.^M
-h Display help on usage and quit.^M
-o Overwrite original file (no backup).^M
-p Preserve file owner and time.^M
-u Convert Unix to DOS.^M
-v Verbose.^M
-V Show version and quit.^M
^M
Usamos o comando cat com a opo -v, para que os
caracteres no imprimveis sejam exibidos na tela.
Note o caractere ^M no final de cada linha. Este caractere
indica o <CR><LF> (Carriage Return, Line Feed), indicativo
de final de linha em arquivos gerados em sistemas DOS e
posteriores.
Para remover este caractere e voltar para o formato Unix:
# fromdos [Link]
# cat -v [Link]
Usage: fromdos [options] [file]
-a Always convert (DOS to Unix: kill all CRs;
Unix to DOS: convert all LFs to CRLFs)
-b Make backup of original file (.bak).
-d Convert DOS to Unix.
-e Abort processing files on error in any file.
-f Force: convert even if file is not writeable.
-h Display help on usage and quit.
-o Overwrite original file (no backup).
-p Preserve file owner and time.
-u Convert Unix to DOS.
-v Verbose.
-V Show version and quit.
O pacote sysutils originrio de sistemas BSD. Alm do programa fromdos, ele
traz tambm os programas lsdev e procinfo. O programa fromdos pode tambm
ser invocado atravs dos nomes dos2unix, unix2dos e todos. Eu particularmente
conhecia os nomes dos2unix e unix2dos que so mais intuitivos.
claro que este comando realiza tarefas extremamente simples e que podem ser
feitas muito bem por sed, e outros, porm eu sempre gostei de ter este comando
ao meu alcance.
Para quem usa outros sistemas e desejar usar este pacote, eu coloquei o fonte em
[Link]
s fazer o download e se divertir.
Comando top:
Tente ordenar por consumo de memria no TOP, apertando M.
Veja qual processo est consumindo a memria e utilize o comando lsof
para ver o que esse processo est utilizando.
lsof -p PID
dpkg get-selections > ~/perfil_pacotes_final.txt = ???
[Link]
O arquivo [Link] original est no diretrio
/usr/share/doc/squid/examples/. Veja:
dpkg -L squid | grep [Link]
> Gostaria de uma ajuda, para saber qual a forma que eu posso usar para saber
> todos os arquivos de um servidor que foram mudados no dia de ontem ou
> acessados, e se existe a possibilidade de se criar um aquivo dizendo quais
> foram os arquivos mudados ou acessados.
Utilize o comando:
find / -atime 1 e $find / -ctime 1
Todos os arquivos modificados no ltimo dia:
find / -mtime -1
Todos os arquivos acessados nas ltimas 24h:
find / -atime
Para descobrir os arquivos acessados nas ltimas 24h, visualizando na tela e
ao mesmo tempo armazenando em um arquivo txt:
find / -atime -1 -type f | tee [Link]
Para descobrir os arquivos alterados nas ltimas 24h, visualizando na tela e
ao mesmo tempo armazenando em um arquivo txt:
find / -mtime -1 -type f | tee [Link]
Qualquer que seja o mtodo usado para atualizao, recomenda-se que
voc verifique o estado de todos os pacotes antes, e verifique se
todos os pacotes esto em um estado atualizvel. O comando seguinte
exibir qualquer pacote cujo estado seja de semi-instalado ou falha na
configurao, e aqueles com qualquer estado de erro.
# dpkg audit
Voc tambm pode inspecionar o estado de todos os pacotes em seu
sistema usando o `dselect, o `aptitude ou com comandos como
# dpkg -l | pager
ou
# dpkg get-selections > ~/[Link]
desejvel remover qualquer hold antes da atualizao. Se algum
pacote essencial para a atualizao estiver em hold, a atualizao
falhar. Voc pode identificar pacotes em hold com
# dpkg audit
Se voc mudou e recompilou um pacote localmente, e no mudou seu nome
nem colocou uma data na verso, voc deve coloc-lo em hold para
evitar que seja atualizado. O estado `hold do pacote pode ser
alterado usando o `aptitude. Com
aptitude hold | unhold <package>
Novas verses de pacotes j instalados que no podem ser atualizados
sem mudar o estado de instalao de outro pacote sero deixados na
verso atual (exibidos como held back ou mantidos).
Isso pode ser
resolvido usando o `aptitude para selecionar esses pacotes para
instalao ou tentando o comando `aptitude -f install <package>.
A opo `fix-broken (ou apenas `-f) faz com que o `apt tente
corrigir um sistema com dependncias quebradas. O `apt no permite
que existam dependncias quebradas em um sistema.
Algumas vezes necessrio habilitar a opo APT::Force-LoopBreak no
APT para poder remover temporariamente um pacote essencial devido a um
loop de Conflitos/Pr-Dependncias. O `aptitude o alertar sobre
isso e abortar a atualizao. Voc pode resolver isso especificando
a opo `-o APT::Force-LoopBreak=1 na linha de comando do `aptitude.
possvel que a estrutura de dependncias de um sistema possa estar
to corrompida que a ponto de requerer interveno manual. Geralmente
isso significa usar o `aptitude ou
dpkg remove <nome_do_pacote>
para eliminar alguns dos pacotes problemticos, ou
aptitude fix-broken install
dpkg configure pending
Em casos extremos voc pode ter que forar a reinstalao com um
comando como
dpkg install /caminho/para/nome_do_pacote.deb
Depois de consertar as coisas, voc deve ser capaz de terminar a
atualizao repetindo os comandos `aptitude previamente descritos.
Para configurar o teclado no debian:
dpkg-reconfigure console-data
Para colocar uma imagem como wallpaper do desktop:
Esetroot -center [Link]
Tente usar o seguinte comando no seu script:
who|grep alex|wc -l
esse comando ir retornar a quantidade de sees para o usuario alex
com base nisso voc pode fazer um pequeno if para verificar se seu
usuario est logado antes de executar o ppp e o bittorrent, algo como:
TESTE=`who|grep alex|wc -l`
if [ $TESTE -eq 0 ]
then
Conecta
Autentica
Iniciar_torrent
else
echo Usuario alex logado, Abortando
fi
podes incrementar o script utilizando o comando sleep e um loop para
que, se o usuario estiver logado, ele aguarda 10 minutos e testa
novamente se voce ainda est logado, assim, quando voce fizer o LOGOUT
depois que o script foi disparado pelo cron, ele inicia o bittorrent e a
conexao.
Subject: Re: (linux-br)Cad o [Link] no Conectiva?
$ rpm -qf /usr/lib/[Link]
libgl-xfree86-devel-4.4.0-63152U10_3cl
apt-get install libgl-xfree86-devel
usermod -L usuario = bloqueia o acesso do usuario temporariamente
usermod -U usuario = desbloqueia o acesso do usuario
import -window root [Link] = tira um screenshot da tela
> Qual o comando similar ao rpm -qf [Link] para ser usado no
> debian ?
dpkg-query -L pacote
Para procurar o pacote:
apt-cache search string => procura na lista de repositrios por pacotes
com string
apt-cache show pacote => exibe informaes sobre o pacote
apt-get install pacote => instala o pacote
Para informaes sobre o pacote instalado:
dpkg -S string => exibe os pacotes instalados que possuem string
dpkg -c pacote => exibe quais arquivos pertencem a um pacote instalado.
Aqui voc tem que fornecer o caminho completo para o pacote. Normalmente
aps baixados com apt-get os pacotes ficam em /var/cache/apt/archives/,
assim este comando deve ser algo como:
dpkg -c /var/cache/apt/archives/pacote
* comandos uteis:
apt-cache search palavra (tipo apropos)
apt-cache show package_name (mostra info do pacote(s))
apt-get -u install package_name (instala pacote mostrando o q vai atualizar)
apt-get -u reinstall install package_name (reinstalar pacote)
apt-get -t unstable -u install package_name (esse legal! instala um pacote
qquer do unstable tipo, eu peguei o mozilla por aqui. O legal eh q jah cria
icone no menu e tudo, mto pratico. Lembre-se de adicionar um mirror unstable
no seu [Link])
dpkg -l (lista todos os pacotes = rpm -qa)
dpkg -L package_name (lista os arquivos do pacote)
dpkg-reconfigure package_name (qdo vc quiser voltar pra aquela tela azul que
reconfigura alguma coisa, use esse comando. Ex:
dpkg-reconfigure xserver-xfree86 )
apt-get update (pra atualizar a lista de pacotes existentes nos servidores)
apt-get upgrade (pra atualizar os pacotes instalados)
A maioria dos comandos apt-get vc pode substituir por aptitude:
[Link]
Rode o comando:
base-config
no base config vai em select and install packages (selecionar e
instalar pacotes). Marca o Desktop environment (ambiente desktop)
e clica no OK.
Exibe todas as placas PCI digite
lspci
lspci -v
lspci -vv
lspci -vvv
Para impedir que a proteo de tela do terminal seja executada depois de
um certo tempo de inatividade:
setterm -blank 0
setterm -powersave off
No lugar do 0 voce pode especificar os minutos quando coloca 0 fica
desabilitado. No X: desative seu protetor de telas e DPMS. Caso voc no
tenha um widget de controle do DPMS, o seguinte comando tambm o desativa:
xset -dpms
comando rename = altera a extenso de um arquivo.
rename .htm .html *.htm = substitui todos os arquivos terminados em .htm
por .html.
ls
[Link] [Link] [Link]
rename jose joao jose.???
ls
[Link] [Link] [Link]
rename jose ricardo *[Link]
ls
[Link] [Link] [Link]