sexta-feira, 18 de setembro de 2009

Lista de Comandos de Linux/Unix





 Uma pequena lista de comandos... claro que estes não são todos os que existem:

dmesg: Imprime as mensagens mostradas pelo "kernel" ao inicio.

depmod -a: Cria um ficheiro que contém as dependências dos módulos que são carregados para o "kernel", quer dizer, é capaz de reconhecer quais módulos devem de ser carregados para que um terceiro seja utilizado no sistema.



free: Estatísticas de uso de memoria.

init q: Comando que faz com que se volte a ler os parâmetros que se encontram em inittab .

insmod: Habilita (inglês:"loads" ou carrega) o modulo que se especifica na linha, para que o "kernel" seja capaz de o utilizar.(exemplo: insmod ip_alias.o )

ldconfig: Actualiza as livrarias utilizadas pelo sistema, recomendável executar cada vez que se instale um programa.

lsmod: Mostra a informação referente aos módulos que estão habilitados pelo "kernel".

mount: Permite que partições do sistema,CD-ROMs, floppys possam ser lidas ("montadas") no sistema. Formato de uso: mount -t  . Veja também /etc/fstab. Use man mount no terminal para mais informação de como usar. 

smbmount: Similar ao comando mount , excepto que este comando é utilizado para montar partições em Samba.

 
smbumount: Utilizado para desactivar (desmontar) as partições activadas com
smbmount.
 
setup: Apresenta um menu para configurar vários parâmetros do sistema (Som, Xwindow, Mouse..). 


slocate: Actualiza a base de informação que é utilizada para encontrar ficheiros com o comando locate .


stat: Mostra informação detalhada sobre o ficheiro especificado como: datas de modificação e cambio, dono do ficheiro, etc.


umount: Desactiva ("desmonta") a partição que se indique, sendo os parâmetros que toma este comando semelhantes aos do comando mount.


uname -a: Informação completa sobre o "Host". 


uptime: Hora actual, tempo que leva el sistema executando-se desde a ultima vez que reiniciou (reboot), utilizadores conectados ao servidor, carga do sistema nos ultimos 1,5 e 15 minutos.


hostname: O nome do "Host". 


chkconfig: Este comando mostra a informação sobre os níveis de execução dos "scripts" localizados no directório /etc/rc.d/init.d

 Exemplo:
 chkconfig --list httpd 

Este comando mostra:
httpd 0 ff 1 ff 2 ff 3 n 4 n 5 n 6 ff


  O anterior indica que quando se utilize o nível de arranque 3, o "script" httpd no directório /etc/rc.d/init.d recibirá o argumento "start", quando se execute o nível de arranque 6, httpd receberá o argumento "stop",etc..

 Para modificar para o argumento "start" :


 chkconfig --add 
--level


 Para modificar para o argumento "stop" :



chkconfig --del
--level



 É precisamente dos directórios /etc/rc.d/rc[0-6] de onde provém a informação que mostra chkconfig.

ntsysv: É uma ferramenta gráfica que tem a mesma funcionalidade que chkconfig, a diferença é que esta ferramenta mostra todos os "scripts" por nível, ou seja, se se utiliza o comando ntsysv --level 3 ,o gráfico mostrará o status "stop" o "start" de todos los "scripts" para o nível de arranque 3 . Da mesma forma se usam: ntsysv --level 5 , ntsysv --level 0 ,etc.

 Da mesma maneira que chkconfig , ntsysv modifica e toma a informação que se encontra nos directórios /etc/rc.d/rc[0-6]


 
Comandos de Rede 
 

host: Determina a direcção IP de um "Host" , host -a mostra toda a informação de DNS.

ifconfig: Permite configurar uma interface de Rede e ver o "status" de esta. Usando
ifconfig, exemplo: ifconfig eth0

ifup: Activa a interface especificada,exemplo: ifup eth0

ifdown: Desactiva a interface especificada,exemplo:
ifdown eth0

netstat -a: Todas la conexões de Rede originadas e recebidas pelo "Host"

netstat -r: Mostra a tabela de "ruteamento" ("routing table") do sistema

netstat -i: Estatísticas de rede de cada interface

nslookup: Procura informação nos servidores DNS, exemplo: nslookup -query=mx osomosis.com , se não se especificam parâmetros entra em modo interactivo.

ping -s 1016: Manda pacotes de ping de 1024 bytes (header 8 bytes), enquanto que o valor por defeito ("default") é de  512 bytes.

route add: Permite agregar tabelas de "ruteamento" de e para o "Host". Exemplo: Para guiar toda a informação da rede 206.171.55.16 netmask 255.255.255.240 via a interface eth0 :

route add -net 206.171.55.16 255.255.255.240 eth0


  Para fazer o "ruteamento" de todo o tráfego por certa interface ("Default Gateway"):

route add default gw 206.171.55.51 eth0
 



 Isto enviará toda la informação pela direcção 206.171.55.51



route -n: Mostra a tabela de "ruteamento" do "Host". NOTA: Deve de estar "IP Forwarding" ON em /etc/sysconfig/network , e também o "kernel" deve de estar configurado para "IP Forwarding" .

smbclient: Funciona como un cliente FTP, que simula conexões que serão realizadas através de Samba.

tcpdump: Permite o "debugging" de uma interface no host.

testparm: Verifica a validação do ficheiro smb.conf utilizado por Samba.


Comandos Para Controle De Processos 
 

ps -aux: Mostra todos los processos do sistema, com nome e tempo de inicio.
kill: É utilizado para mandar sinais aos processos em Unix


kill -HUP : Sinaliza ao processo com numero , que volte a ler os seus ficheiros de configuração.


kill -INT : Sinaliza ao processo com numero , que será interrompido .


kill -TERM : Sinaliza ao processo com numero ,que deve de terminar, á diferença de -KILL , esta opção da a oportunidade ao processo de terminar. 


kill -STOP : Sinaliza ao processo com numero, que pare momentaneamente.


kill -CONT : Sinaliza ao processo com numero que continue, este comando utiliza-se para reanimar um processo que lhe foi aplicado -STOP.


kill -KILL : Sinaliza ao processo com numero, que termine de imediato, sendo o processo terminado abruptamente.

killall: Á diferença de kill , killall permite mandar um sinal ao processo por nome.

killall: Envia o sinal -TERM ao processo com o nome especificado. NOTA: Por defeito o sinal que toma kill e killall é -TERM .

ps -l: Este comando mostra dois parâmetros PRI e NI. O parâmetro PRI indica a prioridade actual do processo, que é calculada pelo sistema operativo, e o valor de NI é tomado em conta quando se determina o PRI.


O que é NI ? : NI é chamado o numero gentil ou "nice number". Este numero é especificado pelo "super-usuário"("root") ou dono do  processo e afecta a ordem final do PRI, dá-lhe a prioridade aos menos gentis. Os seus valores oscilam desde -20 (menos gentil=mais prioridade) e 20 (mais gentil=menos prioridade)

nice: Este comando especifica o numero NI de cada processo.

nice -10 named: Isto baixaria a prioridade de named em 10 unidades.(Se estava em -10, passará a -20). 

nice +10 named: Isto incrementaria a prioridade de named em 10 unidades. (Se estava em 0, passaria a +10). 

snice e renice: Tem o mesmo funcionamento que nice , excepto que utiliza o numero de processo :

top: Esta ferramenta monitoriza vários recursos do sistema e tem um carácter dinâmico, mostra o uso de CPU por processo, quantidade de memoria, tempo desde o seu inicio,etc. 


vmstat: É bastante semelhante a top já que é um condensado dos processos do sistema. Para que esta ferramenta se torne dinâmica devem-se especificar os argumentos: vmstat -n

 
at: Este comando permite programar certas actividades a uma certa hora, exemplo: at 22:00 , o comando anterior abre um "prompt"; sobre este "prompt" especificam-se todos os comandos que se desejam executar, neste caso ás 22:00. Uma vez especificados, utiliza-se Ctlrl-d para sair.
Uma vez finalizado, os comandos estarão programados para executar-se á hora indicada, o directório /var/spool/at contém o trabalho.
 

O comando atq mostra os trabalhos at que estão pendentes, e o comando atrm  elimina um trabalho programado com at . Veja também /etc/at.deny e /etc/at.allow 

crontab: Da mesma maneira que at especifica o tempo no qual se ejecutará um programa "script", crontab tem a seguinte forma: minutos horas dias meses fim_de_semana nome_de_usuário instrução argumentos
 

O seguinte exemplo executará o programa oracle.pl cada meia hora todos os dias:


30 * * * * root /usr/oracle.pl

 Se se deseja realizá-lo mensalmente:


01 3 1 * * root /usr/oracle.pl

 O anterior executará oracle.pl no primeiro dia de cada mês, ás 3:01 AM.

 Para especificar trabalhos cron cada usuário mantém um ficheiro no directório /var/spool/cron/ . Cada usuário acede a este directório com o comando crontab -e

 A execução de crontab facilita-se devido ao ficheiro /etc/crontab que especifica trabalhos crontab por hora,dia,semana e mês. Desta forma só se requer que o usuário coloque um ficheiro nos directorios correspondentes: /etc/cron.hourly
| /etc/cron.daily | /etc/cron.weekly | /etc/cron.monthly


 Comandos Para Registos e Sistema 

 
Controle de Registos "Logs"

tail: Permite ver o final de um ficheiro. Este comando é útil já que os ficheiros de registos "logs" crescem constantemente. tail --f /var/log/messages

  Também pode-se especificar o numero de linhas que se devem visualizar:


tail --f --line 15 /var/log/messages


 Este comando anterior mostra as ultimas 15 linhas do ficheiro ("default" = 10). A opção --f mantém o ficheiro aberto para poder observar-lo conforme se agreguem eventos.

Configuração de Sistema 


/usr/sbin/sndconfig: Executável utilizado para configurar o som do sistema.


/bin/netconf: Executável utilizado para a configuração  de Interfaces de Rede.



 
Comandos de Administração

sysctl
 Descrição: Configurar os parâmetros do kernel em tempo de execução.
  Exemplo: sysctl -a

ulimit
 Descrição: mostra os limites do sistema (máximo de ficheiros abertos, etc..)
  Exemplo: ulimit 

adduser
 Descrição: adicionar usuário ao sistema.
 Exemplos: adduser manuel, adduser -s /bin/false manuel

userdel
  Descrição: (USER DELete) eliminar usuário ao sistema
  Exemplo: userdel
manue

usermod
 Descrição: modificar usuário de sistema
 Exemplos: usermod -s /bin/bash
manuel

df
 Descrição: (Disk Free). espaço em disco disponível. Muito útil.
 Exemplos:
df, df -h 
 
uname
  Descrição: (UNix
NAME). Informação sobre o tipo de unix em que estamos, kernel, etc.
 Exemplos: uname, uname -a

netstat
Descrição: mostra a informação sobre as conexões de rede activas.
Exemplos: netstat, netstat -ln, netstat -l, netstat -a

ps
 Descrição: Dá toda a informação sobre processos em execução.
Ejemplos: ps, ps -axf, ps -A, ps -auxf

free
 Descrição: mostra o estado da memoria RAM e a SWAP (memória de intercâmbio).
 Exemplo: free 

ping
 Descrição: ferramenta de rede para comprovar entre outras coisas, se chegamos a um host remoto.
 Exemplos: ping www.google.com

traceroute
 Descrição: ferramenta de rede que mostra-nos o caminho que se necessita para chegar a outra maquina.
  Exemplo: traceroute www.google.com


du
 Descrição: (Disk Use). uso de disco. Mostra o espaço que está ocupado no disco.
 Exemplos: du *, du -sH /*, du -sH /etc 

ifconfig
  Descrição: (InterFace CONFIG). configuração de interfaces de rede, modems, etc.
 Exemplos: ifconfig, ifconfig eth0 ip netmask 255.255.255.0 

route
 Descrição: Faz a gestão de "ruteamentos" para outras redes.
 Exemplos: route, route -n 

iptraf
 Descrição: mostra em uma aplicação de consola TODO o tráfego de rede IP, UDP, ICMP.
  Permite utilizar filtros, e é SUMAMENTE ÚTIL para diagnóstico e depuração de firewalls
 Exemplo: iptraf 

tcpdump
 Descrição: descreve em lista o conteúdo do tráfego de rede.
 Exemplo: tcpdump, tcpdump -u 

lsof
 Descrição: mostra os ficheiros (livrarias, conexões) que utiliza cada processo
 Exemplo: lsof, lsof -i, lsof | grep fichero 

lsmod
 Descrição: (LiSt MODules) Mostra os módulos do kernel que estão carregados.
 Exemplo: lsmod 

modprobe
 Descrição: Trata de instalar um modulo, se o encontra instala-o mas de forma temporária.
 Exemplos:
modprobe ip_tables, modprobe eepro100 
 
rmmod
 Descrição: Elimina módulos do kernel que estão carregados
 Exemplo: rmmod 

sniffit
 Descrição: Sniffer é um "farejador" de todo o tráfego de rede. Não vem instalado por defeito.
 Exemplo: sniffit -i 


 OUTROS 

ls
 Descrição: (LiSt) listar conteúdo de directórios.
 Exemplos: ls, ls -l, ls -fl, ls --color 

cp
 Descrição: (CoPy) copiar ficheiros/directórios.
 Exemplos:cp -rfp nome-do-directório /tmp, cp ficheiro novo-ficheiro

rm
 Descrição: (ReMove) apaga ficheiros/directórios.
 Exemplos: rm -f ficheiro, rm -rf directório, rm -i ficheiro 

mkdir
 Descrição: (MaKe DIR) criar directórios.
 Exemplo: mkdir directório 

rmdir
 Descrição: (ReMove DIR). apagar directórios, devem estar vazios.
 Exemplo: rmdir nome-do-directório

mv

Descrição: (MoVe). renomear ou mover ficheiros/directórios.
 Exemplos: mv directório directório, mv ficheiro novo-nome, mv ficheiro a-directório 

date
 Descrição: gestão da data do sistema, pode-se ver e estabelecer.
 Exemplo: date, date 10091923

history
 Descrição: mostra o histórico de comandos introduzidos pelo usuário.
 Exemplo: history | more 

more
 Descrição: mostra o conteúdo de um ficheiro com pausas cada 25 linhas.
 Exemplo: more ficheiro 

grep
 Descrição: (print lines matching a pattern) filtra os conteúdos de um ficheiro.
 Exemplo:cat ficheiro | grep cadeia

cat
 Descrição: ( concatenate files and print on the standard output) mostra todo o conteúdo de um ficheiro sem nenhuma pausa.
 Exemplo: cat fichero 

chmod
 Descrição: (CHange MODe) muda as permissões de leitura/escritura/execução de ficheiros/directórios.
 Exemplos: chmod +r ficheiro, chmod +w directório, chmod +rw directório -R, chmod -r ficheiro

chown
 Descrição: (CHange OWNer). muda as permissões de usuário:grupo de ficheiros/directórios.

Exemplos:chown root:root ficheiro, chown capelo:usuários directório -R 

tar
 Descrição: (Tape ARchiver). arquivador de ficheros.
 Ejemplos: tar cvf ficheiro.tar directório , tar xvf ficheiro.tar, tar zcvf ficheiro.tgz directório, tar zxvf ficheiro.tgz 


gunzip
 Descrição: (ou gzip é o diminutivo de GNU zip) descompressor ou descompactador compatível com o formato ZIP.
 Exemplos: gunzip ficheiro 

rpm
 Descrição: (Red hat Package Manager) gestor de pacotes de redhat. Para instalar ou actualizar software de sistema.
 Exemplos: rpm -i pacote.rpm, rpm -qa programa, rpm --force pacote.rpm, rpm -q --info programa

mount
 Descrição: montar unidades de disco rígido, disquete, CD-ROM.
 Exemplos: mount /dev/hda2 /mnt/lnx, mount /dev/hdb1 /mnt -t vfat

umount
Descrição: desmontar unidades.
 Exemplos: umount /dev/hda2, umount /mnt/lnx 

wget
 Descrição: programa para descarregar ficheiros por http o ftp.
 Exemplo: wget http://www.google.com/documento.pdf

lynx
 Descrição: navegador web com opções de ftp, https.
 Exemplos: lynx www.google.com, lynx --source http://www.google.com/script.sh | sh 

ftp
Descrição: cliente FTP.
 Exemplo: ftp ftp.google.com

whois
 Descrição: whois de domínios.
 Exemplo: whois google.com

who
 Descrição: mostra os usuários do sistema que iniciaram sessão.
 Exemplos: who, w, who am i 

mail
 Descrição: envio e leitura de correio electrónico ou email.
 Exemplos: mail jose@gmail.com < ficheiro, mail -v jose@gmail.com < ficheiro 

sort
 Descrição: ordena o conteúdo de um ficheiro.
 Exemplos: cat /etc/numeros | sort, ls | sort 

ln
 Descrição: (LinK). para criar hipervinculos (links), atalhos.
 Exemplos:
ln -s /directório atalho

tail
 Descrição: mostra o final (10 linhas) de um ficheiro.
 Exemplos:tail -f /var/log/maillog, tail -100 /var/log/maillog | more 

head
 Descrição: mostra a cabeceira (10 lineas) de um ficheiro.
 Exemplos: head ficheiro, head -100 /var/log/maillog | more

file
 Descrição: diz-nos de que tipo é um ficheiro.
 Exemplo: file ficheiro, file *



 Combinações especiais de teclas


* [Ctrl]+[Alt]+[Del]: Shutdown. Apaga o sistema de forma organizada desde um terminal texto.

* [Ctrl]+[Alt]+[F1]: Muda ao primeiro terminal de texto.

* [Ctrl]+[Alt]+[Fn]: Muda ao terminal de texto numero n (n=1,...,6)

* [Ctrl]+[Alt]+[F7]: Muda ao primeiro terminal X (se se está usando algum, caso contrário sai do terminal actual e volta ao modo gráfico)

* [Ctrl]+[Alt]+[Fn]: Muda ao terminal X numero n (n=7,...,11)

* [Tab]: Autocompleta o nome de um comando, ficheiro, directório, programa, quando trabalhamos num terminal de texto. P.ex: Se vamos usar o programa "programa_de_prova", podemos escrever progr e carregar [Tab]. O sistema encarregar-se-á de auto-completar o resto.

* [ArrowUp]: (seta para cima) Possibilita listar o histórico de comandos que escrevemos anteriormente no terminal de texto. [Enter] para executar.

* [Shift][PgUp]: Scroll á saída do terminal para cima , no terminal de texto.

* [Shift][PgDown]: Scroll á saída do terminal para baixo, no terminal de texto.

* [Ctrl]+c: Termina o processo actual.

* [Ctrl]+d: Fecha o terminal actual.

* [Ctrl]+s: Pára a transferencia no terminal.

* [Ctrl]+z: Manda el proceso actual para "Background" ou segundo plano.



Comandos de Administrador

  • su: Você converte-se em administrador (root) depois de introduzir a palavra-passe de acesso. Ideal para realizar alguma tarefas de administração sem necessidade de sair do sistema e entrar de novo como root.
  • /usr/sbin/adduser usuario: Regista e cria uma conta de usuário com o nome de usuario, por exemplo.

  • /usr/sbin/userdel manuel: Apaga a conta de usuario manuel.

  • passwd: Muda a palavra-passe de acesso para o usuário actual. Root pode mudar a palavra-passe de qualquer usuário passwd usuário

  • /usr/sbin/groupadd grupo: Cria um novo grupo.

  • /usr/sbin/groupdel grupo: Apaga um grupo.

  • more /etc/passwd: Mostra o ficheiro de palavras-passe do sistema. (Se não se usa shadow password)
  • more /etc/group: Mostra os grupos registados no sistema.

  • chmod permissão ficheiro/directório: Muda as permissões de ficheiros/directórios

  • cp ficheiro1 ficheiro2: Copia ficheiro1 como ficheiro2
  • rm ficheiro: Apaga ficheiro

  • rm -R directório: Apaga o conteúdo completo (ficheiros/subdirectórios) de directório

  • mv ficheiro1 ficheiro2: Muda o nome de ficheiro1 a ficheiro2

  • mkdir directório: Crea un sub-directório

  • rmdir directório: Borra un sub-directório
  • shutdown -t3 -r now: Reinicializa o sistema (há que o fazer como root).

  • shutdown -t3 -h now: Apaga o sistema (há que o fazer como root).



Informação do Sistema

  • uptime: Mostra a quantidade de tempo passado desde a ultima vez que se arrancou o sistema, a quantidade de usuários trabalhando no sistema e a carga del sistema (load average).
  • dmesg|more: Imprime o "ring buffer" do kernel.

  • free -tm: Informação sobre la quantidade de memoria disponível e usada.

  • df -h: Informação sobre todo os dispositivos montados na máquina.

  • du -bh /|more: Informação sobre o espaço ocupado por cada sub-directório, começando no directório raiz /.
  • ps axu: Informação sobre todos os processos que se estão executando na máquina.
  • top: Informação sobre o uso de cpu e memória dos processos do sistema.

  • cat /proc/cpuinfo: Informação sobre o microprocessador.

  • cat /proc/interrupts: Informação sobre as interrupções em uso.
  • cat /proc/dma: Informação sobre dma em uso.

  • cat /proc/filesystems: Informação sobre os sistemas de ficheiros que se podem utilizar (compilados no kernel).
  • /sbin/lsmod: Informação sobre os módulos em uso.

  • finger manuel: Informação sobre o usuário manuel.

  • last: Informação sobre os últimos usuários que usaram o sistema.

  • set|more: Informação sobre o entorno de usuário actual.
  • ping maquina21: Para comprovar se temos contacto com a máquina maquina21 (maquina: nome ou IP)
  • /sbin/route: Tabela de "enrutamento" (ou encaminhamento se preferirem) do nosso sistema.
  • /sbin/ifconfig: Informação sobre os distintos dispositivos de rede.

  • netstat: Informação valiosa sobre a conexão de rede. (Este comando tem muitas possibilidades, executar man netstat)

  • man utilidade: Manda informação sobre a utilidade questionada. P.ex:man cp



E por ultimo, e como prenda de anos, aqui fica um wallpaper em negro com uma lista de comandos que encontrei por aí, já não me lembro onde:



 E mais um wallpaper estilo Debian...










2 comentários:

  1. Mais uma excelente dica que não vou poder deixar de mencionar no blog.
    carpe omnium

    ResponderEliminar
  2. Obrigado pelo comentário. Passarei pelo seu blogue de vez em quando, pode ter a certeza.
    Volte sempre !

    ResponderEliminar

É favor manter a boa educação nos comentários. Qualquer comentário ofensivo, racista, desprestigioso, apenas com objectivo de inundar o blogue ou comentários de publicidade não solicitada serão eliminados. Serão aceites comentários em Português, Espanhol e Inglês. Comentarios en Portugues, Español y Ingles seran aceptados. Comments in Portuguese, Spanish and English will be accepted.