Você está na página 1de 40

A linha de comando do sistema operacional Linux permite a realizao de inmeras tarefas atravs de seus comandos, de manipulao de arquivos a verificao

do trfego em rede. Para exibir uma descrio detalhada de cada comando abra uma console ou xterm e digite mancomando, onde comando o comando em questo. Outro detalhe muito importante! pratique cada comando muitas vezes at que se torne algo natural.

Comandos de manipulao de diretrio mkdir cria um diretrio exemplo: mkdir docs rmdir exclui um diretorio (se estiver vazio) rm -rf exclui um diretrio e todo o seu contedo cd entra num diretrio (exemplo: cd docs) ou retorna para HOME cd ~ vai direto para o diretrio home do usurio logado. cd volta ao ltimo diretrio acessado pwd exibe o local do diretrio atual ls listar o contedo do diretrio ls -alh mostra o contedo detalhado do diretrio ls -ltr mostra os arquivos no formado longo(l) em ordem inversa(r) de data (t) du -msh mostra o tamanho do diretrio em Megabytes whereis mostra onde se encontra determinado arquivo (binrios) exemplo: whereis samba which mostra qual arquivo binrio est sendo chamado pelo shell quando chamado via linha de comando Dicas teis Qual o maior diretrio? - Para obter uma listagem de diretrios em sistemas GNU/Linux, ordenados do maior para o menor, use o comando: du -Sk | sort -nr | more OU du -Sh | sort -nr | more para exibir resultado em UNID (Kbytes,Mbytes ou Gbytes).

O tamanho de cada diretrio ou subdiretrio du -ach --max-depth=1 /var/ du -ach --max-depth=1 /var/ | sort -nr du -ach --max-depth=1 /var/ | sort -nr | more Criar diretrios dentro de diretrios: mkdir curso - Criar um diretrio curso abaixo do diretrio corrente.

Criar uma rvore completa de diretrios mkdir -p docs/{img/{fotos,icons,wallpapers,svg},textos/{artigos,man},tmp} A regra aqui a seguinte: para cada pasta que conter subpastas use "nome/{}" dentro das chaves coloque os nomes separados por vrgula e no esquea de usar o parmetro '-p' no comeo do comando!

Comandos para manipulao de arquivos cat mostra o contedo de um arquivo binrio ou texto tac semelhante ao cat mas inverte a ordem tail mostra as ltimas 10 linhas de um arquivo (util para ler logs) head mostra as primeiras 10 linhas de um arquivo less mostra o contedo de um arquivo de texto com controle vi editor de ficheiros de texto vim verso melhorada do editor supracitado rm remoo de arquivos (tambm remove diretrios) cp copia diretrios 'cp -r' copia recursivamente mv move ou renomeia arquivos e diretrios chmod altera as permisses de arquivos ou diretrios chown altera o dono de arquivos ou diretrios cmd>txt cria um novo arquivo(txt) com o resultado do comando(cmd) cmd>>txt adiciona o resultado do comando(cmd) ao fim do arquivo(txt) touch touch foo.txt - cria um arquivo foo.txt vazio; tambm altera data e hora de modificao para agora > arquivo.txt mais rpido que o touch para criao de arquivos split divide um arquivo recode recodifica um arquivo ex: recode iso-8859-15..utf8 file_to_change.txt [mc] poderoso editor de texto

Comandos para administrao man mostra informaes sobre um comando adduser adiciona usurios addgroup adiciona grupos apropos realiza pesquisa por palavra ou string df reporta o uso do espao em disco do sistema de arquivos dmesg exibe as mensagens da inicializao(log) du exibe estado de ocupao dos discos/parties find comando de busca ex: find ~/ -cmin -3 userdel remove usurios chfn altera informao relativa a um utilizador

who informa quem est logado no sistema whoami informa com qual usurio voc est logado passwd modifica senha (password) de usurios umask define padres de criao de arquivos e diretrios ps mostra os processos correntes ps -aux mostra todos os processos correntes no sistema kill manda um sinal para um processo. Os sinais SIGTERM e SIGKILL encerram o processo. killall manda um sinal para todos os processos. su troca para o super-usurio root ( exigida a senha) su user troca para o usurio especificado em 'user' ( exigida a senha) chown altera a propriedade de arquivos e pastas (dono) env mostra variaveis do sistema ntsysv exibi e configura os processos de inicializao

Comandos para administrao de rede ifconfig mostra as interfaces de redes ativas e as informaes relacionadas a cada uma delas route mostra as informaes referentes as rotas mtr mostra rota at determinado IP nmap lista as portas de sistemas remotos/locais atras de portas abertas. Pode verificar sistema operacional em execuo no host remoto. netstat exibe as portas e protocolos abertos no sistema. iptraf analisador de trafego da rede com interface grfica baseada em dilogos tcpdump sniffer muito popular. Sniffer uma ferramenta que "ouve" os pacotes que esto passando pela rede. traceroute traa uma rota do host local at o destino mostrando os roteadores intermedirios nslookup consultas a servios DNS dig testa a configurao do servidor DNS

Iniciando o Interpretador de Comandos Abrindo um Terminal No Gnome v ao menu Aplicaes > Acessrios > Terminal ou pressione simultaneamente as teclas Alt+F2, e na caixa de texto digite"gnome-terminal" e tecle Enter. Abrindo uma seo shell

Tecle simultaneamente Crtl+Alt+F1(...F6) que uma console modo texto ser exibido solicitando um login, onde voc dever entrar com seu usurio e senha para ter acesso ao prompt de comando. Documentao Man - Formata e exibe uma pgina man (man page) O comando man usado para mostrar o manual de outros comandos. Tente"man man" para ver a pgina do manual do prprio man. Veja a seo "Man & Getting Help" para mais informaes. Help - Exibe informaes sobre os comandos internos do Bash. Ex.: help logout. Info - Exibe documentao no formato Info, sendo que a navegao pelo documento feito por meio de comandos internos do Info. Ex.: info emacs.

Data e Hora Date - Exibe e edita a data e a hora atuais do sistema. o o date para exibir a data e hora atual. sudo date 032914502007 para alterar a data e hora para 14:50 h de 29/03/2007. cal - Exibe um simples calendrio. Hwclock - Consulta ou define o relgio do hardware (Hardware Clock). o o "sudo hwclock -s" para atribuir ao sistema a data e hora do hardware (BIOS). "sudo hwclock --set date=032914502007" para definir a data e hora do hardware como 14:50 h de 29/03/2007. Informaes do Sistema (Hardware e Processos) df Mostra o espao em disco do sistema de arquivos usado por todas as parties. "df -h" provavelmente o mais til - usa megabytes (M) e gigabytes (G) em vez de blocos para relatar o tamanhos. (-h significa "humanreadable"). du Exibe o tamanho de arquivos e/ou diretrios. Se nenhum arquivo ou diretrio for passado como argumento, ser assumido o diretrio atual. O uso da opo du -h tornar a apresentao mais simples de ser interpretada. o Para verificar o tamanho dos subdiretrios ao invs dos arquivos, utilize o comando "du -k -h --max-depth=1" free Este comando exibe a quantidade de memria livre e usada no sistema. "free -m" fornece a informao usando megabytes, que provavelmente mais til para computadores atuais. arch Exibe a arquitetura do computador. Equivale ao comando uname -m.

lsdev Lista o hardware instalado no computador, especificando os endereos de E/S (Entrada/Sada), IRQ e canais DMA que cada dispositivo esta utilizando. lspci - Exibe informaes sobre os barramentos PCI do computador e sobre os dispositivos a ele conectados. lsusb - Lista informaes sobre os barramentos USB do computador e sobre os dispositivos a eles conectados. uname - Este comando exibe vrias informaes sobre o sistema, incluindo o nome da maquina, nome e verso do Kernel e alguns outros detalhes. muito til para verificar qual o Kernel usado por voc. o o o uname -a para exibir todas as informaes. uname -m para exibir a arquitetura da maquina. (Equivale ao arch). uname -r para exibir o release do sistema operacional.

lsb_release Este comando fornece informaes bsicas do sistema operacional (LSB Linux Standard Base) e sua distribuio. o lsb_release -a para exibir as informaes completas do sistema conforme abaixo exemplificado.

user@computer:~$ lsb_release -a LSB Version: n/a Distributor ID: Ubuntu Description: Ubuntu (The Edgy Eft Release) Release: 6.10 Codename: edgy top - Este comando exibe em tempo real informaes sobre seu sistema Linux, processos em andamento e recursos do sistema, includos CPU, memria RAM e uso do swap, alm do nmero total de tarefas sendo executadas. o O top tambm nos permite a manipulao dos processos por meio de comandos interativos. Veja abaixo alguns dos comandos interativos mais importantes do top. k - Finaliza, ou seja, mata um processo. m - Ativa/Desativa a exibio de informaes da memria. M - Ordena os processos pelo uso da memria residente. N - Ordena os processos pelos seus PIDs. P - Ordena os processos pelo uso da CPU (este o padro). ESPAO - Atualiza imediatamente a visualizao do quadro de processos. h - Exibe a ajuda dos comandos interativos do top. q - Abandona o comando top.

ps Apresenta um quadro atual, porm esttico dos processos que esto sendo executados no sistema.

ps aux para apresentar todos processos sendo executados, de todos usurios, includo o nome do usurio a qual o processo pertence, mesmo os desvinculados de TTYs.

Kill Finaliza, ou no popular, mata processos sendo executados pelo seu PID, lhes enviando um sinal. o kill -9 1345 para finalizar o processo de PID nmero 1345. Para saber qual PID de determinado processo que esta sendo executado pode ser utilizado o comando ps.

Killall Finaliza processos pelo nome ao invs do PID como faz o comando kill. Tambm assim como o comando kill, o killall envia um sinal para o processo. o killall mozilla-firefox para finalizar o processo mozilla-firefox, fechando com isso o navegador web Mozilla Firefox. O nome dos processos ativos pode ser observado com uso do comando ps.

Arquivos e Diretrios Pwd - O comando pwd lhe permite saber em qual diretrio voc est no momento, onde pwd significa "print working directory". o Executando "pwd" no diretrio Desktop mostrar "~/Desktop". Observe que o Terminal do Gnome tambm mostra esta informao na barra de ttulos da janela. Veja a imagem de exemplo no topo desta pgina. Cd - Este comando nos permite se deslocar entre a rvore de diretrios do sistema. Quando abrimos um terminal ou seo shell, voc entra direto no seu diretrio pessoal. Para mover-se pelo sistema de arquivos voc deve usar o cd. o o o o o "cd /" para ir ao diretrio raiz. "cd" para ir ao seu diretrio pessoal. "cd .." para acessar um diretrio de nvel acima do atual. cd -para voltar ao diretrio que se encontrava antes de mudar. Para navegar atravs mltiplos nveis de diretrios em s comando, use por exemplo, "cd /var/www", que o levar diretamente ao subdiretrio /www do diretrio /var. Cp Copia arquivos e diretrios. o o "cp file foo" para fazer uma cpia exata do arquivo "file" dando-lhe o nome de "foo". "sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf-bkp" para gerar uma cpia de segurana exata do arquivo "/etc/X11/xorg.conf" dandolhe o nome de "/etc/X11/xorg.conf-bkp". Mv - Este comando move arquivos e diretrios, sendo muito usado tambm para renomear um determinado arquivo.

mv arquivo1 arquivo2 para renomear o arquivo arquivo1 localizado no diretrio pessoal do usurio para arquivo2 no mesmo local.

"mv foo ~/Desktop" mover o arquivo "foo" para seu diretrio Desktop sem alterar seu nome. Voc deve especificar um novo nome se quiser renomear um arquivo.

Ls - Comando utilizado para listar o contedo de um diretrio. Usado com certas opes, possvel ver o tamanho dos arquivos, quando foram criados, e as permisses de cada um. o o "ls ~" para mostrar os arquivos que esto em seu diretrio pessoal. ls -hal ~ para mostrar os arquivos que esto em seu diretrio pessoal, inclusive os ocultos (-a) em forma de uma listagem (-l) e com as informaes de tamanho mais amigvel a ns seres humanos (-h).

rm - Utilize este comando para remover (deletar) arquivos e opcionalmente diretrios. Por padro o comando rm exibe um prompt onde o usurio deve confirmar a excluso de cada arquivo, digitando a letra y seguido de Enter. o o o rm arquivo1 para remover o arquivo chamado arquivo1 do diretrio corrente aps confirmao no prompt. rm -f arquivo1 para remover o arquivo chamado arquivo1 do diretrio corrente sem que lhe seja exibido o prompt de confirmao. rm -R ~/temp/ para remover de forma recursiva o diretrio /temp localizado em sua pasta pessoal e todo seu contedo, seja ele arquivos e outras arvores de subdiretrios.

mkdir - Comando cuja finalidade permitir a criao de um ou mais diretrios. o "mkdir musicas" para criar um diretrio chamado musicas dentro do diretrio corrente.

chmod Altera as permisses de acesso de arquivos e diretrios, no alterando estes atributos de links simblicos passados na linha de comando, mais sim as permisses dos arquivos aos quais eles se referem. Para maiores detalhes sobre o sistema de permisses de arquivos e diretrios no Linux aconselhamos este link aqui do Guia Foca GNU/Linux. chmod 744 file para alterar as permisses do arquivo file de modo ao Dono ter total permisso (leitura, execuo e escrita) enquanto que os usurios pertencentes ao Grupo e os Outros tero permisso apenas de leitura. chmod -R 744 temp/ para alterar as permisses de forma idntica ao exemplo anterior, porm do sub-diretrio /temp e todo seu contedo de forma recursiva. Chown Altera o proprietrio e o grupo de arquivos e diretrios. o chown fulano:vendas file para alterar o arquivo file para ter como Dono o usurio fulano e o Grupo como vendas.

chown -R ciclano:compras temp/ para alterar o sub-diretrio /temp e todo seu contedo de forma recursiva para ter como Dono o usurio ciclano e o Grupo como compras.

Diff Usado para comparar o contedo de dois arquivos, exibindo a diferena entre eles. o diff file foo para ver a diferena entre o contedo do arquivo file e o arquivo foo.

Find Comando utilizado para procurar por arquivos na arvore de diretrios. Se um caminho no for passado ao comando find a busca ser feita no diretrio corrente. o find ~/temp/file para procurar pela ocorrncia de um arquivo chamado file no sub-diretrio /temp do diretrio pessoal do usurio.

locate Pesquisa em uma base de dados de nomes de arquivos por nomes que satisfaam um determinado padro. O comandos locate a verso segura do locate, pois no exibe arquivos para os quais o usurio no tenha permisso de acesso. Como a arvore de arquivos e diretrios esta sempre sendo atualizada necessrio que esta base de dados tambm o seja, por tanto sempre aconselhvel antes de executar estes comandos atualizar a base executando updatedb. o locate ~/file para pesquisar por um arquivo que corresponda a expresso file no diretrio pessoal do usurio. Como este comando pesquisa em um banco de dados, se no for passado ao comando o caminho desejado ele pesquisar em toda sua base de dados, correspondente a toda arvore de diretrios do sistema.

Tar - Usado para armazenar ou extrair arquivos TAR (Tape ARchive). Estes arquivos TAR so os chamados tarfile ou tarball. o tar cvf my_ogg_files.tar *.ogg para criar um arquivo TAR chamado my_ogg_files.tar contendo todos os arquivos de extenso .ogg do diretrio corrente. Notar que a extenso .tar no obrigatria, mais aconselhvel para facilitar a identificao do arquivo. o o o tar tvf my_ogg_files.tar para exibir todo o contedo do arquivo TAR chamado my_ogg_files.tar. tar xvf my_ogg_files.tar para extrair todo contedo do arquivo my_ogg_files.tar no diretrio corrente. tar xvf my_ogg_files.tar musica1.ogg para extrair apenas o arquivo chamado musica1.ogg do tarball my_ogg_files.tar no diretrio corrente. o NOTA: Arquivos que possuem a extenso .tar.gz podem ser descompactados e extrados com as opes xzvf do comando tar. Isto corresponde a usar o comando gunzip para descompactar o arquivo TAR e depois usar o comando tar xvf para extrair os arquivos.

Gzip Compacta e opcionalmente descompacta arquivos regulares. Os arquivos compactados com o comando so substitudos por outro de menor

tamanho com a extenso .gz porm preservando o dono, as permisses e datas de acesso e modificao. o gzip arq1 arq2 para compactar os arquivos arq1 e arq2 gerando os arquivos arq1.gz e arq2.gz em substituio aos originais. o gzip -d arq1 para descompactar o arquivo arq1.gz trazendo de volta o arquivo original arq1. A presena da opo -d equivale ao uso do comando gunzip. Bzip2 Compacta e opcionalmente descompacta arquivos regulares. Assim como o gzip, os arquivos compactados com este comando so substitudos por outro de menor tamanho com a extenso .bz2 porm preservando o dono, as permisses e datas de acesso e modificao. O algoritmo empregado por este comando permite uma maior compresso e tambm segurana dos arquivos gerados, porm o processo se torna um tanto quanto mais demorado. o o o bzip2 arq1 para compactar o arquivo arq1 gerando em substituio o arquivo arq1.bz2. bzip2 -9 arq2 para compactar o arquivo arq2 pelo processo de mxima compresso gerando em substituio o arquivo arq2.bz2. bzip2 -d arquivo.bz2 para descompactar o arquivo arquivo.bz2 trazendo de volta o(s) arquivo(s) original(is) que tinham sido previamente compactados. Usurios e Grupos Useradd - Cria um novo usurio ou atualiza as informaes padro de um usurio no sistema Linux. O comando useradd cria uma entrada para o usurio no arquivo /etc/passwd com informaes do seu login, UID (user identification), GID (group identification), shell e diretrio pessoal, e a senha criptografada deste usurio armazenada no arquivo /etc/shadow. o o sudo useradd fulano para criar o novo usurio fulano no sistema, cujo diretrio pessoal do mesmo ser /home/fulano. sudo useradd -d /home/outro_dir fulano para criar o novo usurio fulano no sistema, porm com seu diretrio pessoal se localizando em /home/outro_dir. o sudo useradd -s /bin/sh fulano para criar o usurio fulano definindo seu shell como sendo o sh. O shell padro do Ubuntu, assim como a maioria das outras distribuies o bash. Com esta opo -s possvel criar um usurio sem que o mesmo possa ter acesso a nenhum shell do sistema, bastando executar o seguinte comando useradd -s /bin/false fulano. o sudo adduser -g 600 -G 500,68 fulano para criar o usurio fulano com grupo padro de GID 600 e tambm pertencente aos

grupos GID 500 e GID 68. Para saber os GID de cada grupo do sistema consulte o arquivo /etc/group. o NOTA: Com a mesma finalidade porm com mais opes informativas sobre o usurio a ser cadastrado existe o comando adduser. A configurao padro usada pelos comandos useradd e adduser definida em /etc/default/useradd e em /etc/login.defs. Userdel Usado para remover uma conta de usurio do sistema, deletando todas entradas deste usurio nos arquivos/etc/passwd, /etc/shadow e /etc/group. o sudo userdel -r fulano para remover o usurio fulano do sistema deletando seu diretrio pessoal e todo seu contedo. Usermod Altera as informaes de um usurio, editando diretamente as informaes dos arquivos /etc/passwd, /etc/shadow e/etc/group. o sudo usermod -d /home/novo_dir fulano para criar um novo diretrio pessoal para o usurio fulano em /home/novo_dir. Se quiser que o atual diretrio do usurio seja movido para o novo diretrio utilize a opo -m desta forma sudo usermod -d /home/novo_dir -m fulano. o o sudo usermod -g 800 fulano para alterar o grupo padro do usurio fulano para GID 800. sudo usermod -s /bin/false fulano para alterar o shell do usurio fulano para /bin/false no mais permitindo que o usurio faa login no sistema. o sudo usermod -e 03/04/2007 fulano para alterar a data de expirao da conta do usurio fulano para 03/04/2007. finger- Exibe informaes dos usurios do sistema. Se um usurio no for passado ao comando o mesmo apresentar informaes de todos usurios atualmente logados. o finger fulano para exibir informaes, como login, diretrio pessoal, shell entre outras do usurio fulano. Passwd Altera a senha de um usurio exibindo um prompt para que a nova senha seja fornecida, e logo depois repetida para confirmao. O usurio logado pode alterar a prpria senha digitando apenas passwd. o o o o sudo passwd fulano para alterar a senha do usurio fulano. sudo passwd -l fulano para bloquear a conta do usurio fulano. sudo passwd -u fulano para desbloquear a conta do usurio fulano. sudo passwd -d fulano para desativar a senha do usurio fulano deixando-o sem uma senha de acesso. Groupadd Cria um novo grupo no sistema. Deve-se remover os usurios do grupo, antes de apagar o grupo, pois o Linux no faz nenhum tipo de verificao neste sentido.

o o

sudo groupadd novogrupo para criar um novo grupo no sistema chamado novogrupo. sudo groupadd -g 800 novogrupo para atribuir ao grupo novogrupo o GID 800.

groupdel Exclui um grupo no sistema. o sudo groupdel novogrupo para excluir o grupo chamado novogrupo.

Groupmod Altera as informaes de um grupo do sistema. o o sudo groupmod -n velho_grupo novo_grupo para alterar o nome do grupo velho_grupo para novo_grupo. sudo groupmod -g 900 novo_grupo para alterar o identificador do grupo chamado novo_grupo para GID 900.

id Exibe os identificadores (IDs) reais e efetivos de usurio e de grupo de um usurio. Se no for especificado ao comando um usurio ser exibido as informaes do usurio atual. o id fulano para exibir os IDs de usurio e grupo do usurio fulano.

Monitoramento de Acesso W Mostra quem esta logado no sistema e o que esta fazendo. Se no for especificado um usurio ao comando, ser exibido informaes de todos usurios logados. o o w para exibir todos usurios logados e o que esto executando neste momento. w fulano para mostrar informaes do usurio fulano se o mesmo estiver logado no sistema. Who Semelhante ao comando w mostra quais usurios esto logados no sistema. o o who -m para mostrar o nome do usurio logado no sistema. who -q para mostrar a quantidade total e nomes dos usurio conectados ao sistema. Whoami - Este comando fornece o mesmo resultado do comando who -m. last Mostra todas informaes referente as entradas (login) e sadas (logout) de usurios do sistema. o o o last -a para exibir estas informaes mostrando o nome da maquina de onde foi efetuado os logins. last -d para exibir estas informaes mostrando o endereo IP da maquina de onde foi efetuado os logins. last reboot para exibir um registro de todas as reinicializaes efetuadas no sistema. Lastlog Exibe informaes referente ao ltimo login de cada usurio cadastrado no sistema. Caso nenhum argumento seja passado, o comando

lastlog exibe todas as informaes armazenadas no arquivo /var/log/lastlog de todos os usurios do sistema. o o sudo lastlog -u fulano para exibir informaes referentes apenas ao ltimo login do usurio fulano. sudo lastlog -t 5 para exibir a lista dos usurios que logaram no sistema nos ltimos 5 dias informando o dia e a hora do ltimo acesso de cada um desses usurios. Rede Ifconfig Permite configurar as interfaces de rede, sendo o comando utilizado na inicializao do sistema para configurao destas interfaces. Caso nenhum argumento seja passado junto ao comando, o mesmo apenas ir exibir o estado das interfaces atualmente definidas. o o o o sudo ifconfig eth0 para exibir o estado e informaes da interface de rede eth0. sudo ifconfig eth1 down para desativar a interface de rede eth1. sudo ifconfig eth1 up para ativar a interface de rede eth1. sudo ifconfig eth0 192.168.3.1 netmask 255.255.255.0 up para configurar a interface de rede eth0 com endereo IP192.168.3.1 e mscara da rede 255.255.255.0, ativando-a. o sudo ifconfig eth1 hw ether 00:D0:D0:67:2C:05 para alterar o endereo MAC (MAC Address) da interface de rede eth1 para 00:D0:D0:67:2C:05. necessrio que a placa de rede esteja desativada sudo ifconfig eth1 down para esta operao. o sudo ifconfig eth0:1 10.0.0.2 netmask 255.255.255.0 up para adicionar um segundo endereo de rede, com IP 10.0.0.2 e mscara 255.255.255.0 a interface eth0. Arp Manipula o cache ARP (Address Resolution Protocol) do kernel. o sudo arp 192.168.3.1 para exibir as entradas para o host 192.168.3.1. Se um host no for especificado, ser exibido todas as entradas do cache. o NOTA: Esta ferramenta muito til quando se faz necessrio descobrir o endereo MAC de um determinado host da rede. Ping Envia requisies ICMP para um determinado host. uma ferramenta largamente utilizada para testar a conectividade entre uma maquina/rede local e maquinas/redes remotas. o ping -c 5 200.106.28.125 para verificar se a maquina cujo endereo IP 200.106.28.125 se encontra conectada e alcanvel. importante ressaltar que muitos servidores, principalmente de redes empresariais, podem bloquear requisies de pacotes ICMP em seu firewall, podendo assim parecer que determinada rede no se encontra alcanvel.

Route Permite exibir a tabela de roteamento (configurao das rotas) IP do kernel, sendo que com uso das opes add e del permite tambm modificar esta tabela inserindo ou deletando registros. o o sudo route para exibir a tabela das rotas atualmente ativas. sudo route add -net 192.120.10.0 netmask 255.255.255.0 dev eth0 para adicionar uma rota para rede 192.120.10.0 via interface de rede eth0. o sudo route del -net 192.120.10.0 netmask 255.255.255.0 dev eth0 para remover a rota anteriormente adicionada.

Shell (Bash) e Utilitrios de Terminal Alias Tem como finalidade atribuir um alias (em ingls, significa outro nome) a outro comando, permitindo nomear um conjunto de comandos, a ser executado pelo sistema por um nico nome. Caso nenhum parmetro seja passado ao comando ser listado todos alias atualmente definidos e ativos no sistema. o alias ls='ls -hal color' para definir uma alias ls para o comando ls -hal que ir mostrar os arquivos que esto no diretrio correntel, inclusive os ocultos (-a) em forma de uma listagem (-l) e com as informaes de tamanho mais amigvel a ns seres humanos (-h) e diferenciado por cores. o alias fd='mount /dev/fd0 /mnt/floppy; cd /mnt/floppy && ls' para criar um alias chamado fd que montar um disquete, acessando e listando seu contedo. Observe que, neste exemplo, foram usados dois diferentes separadores de comandos: ponto-e-vrgula e &&. Comandos separados por ; so executados em seqncia. Comandos separados por && so executados de forma condicional, ou seja, o comando aps o separador s executado se o comando anterior tiver sido executado com sucesso. o o alias mcdrom='mount /mnt/cdrom' para criar um alias chamado mcdrom que ao ser executado monta o CD em uso. NOTA: Estes aliases so criados apenas para a sesso ativa do usurio, ou seja, ao deslogar do sistema os mesmos se perdero. Para criar aliases permanentes ao sistema edite o arquivo .bashrc de seu diretrio pessoal e inclua no mesmo os comando desejados. Em contrapartida ao comando alias existe o comando unalias que faz justamente o inverso, removendo os alias criados. Apropos Pesquisa por um padro na base de dados do comando whatis que veremos logo abaixo, informando quais comandos do Linux correspondem a uma determinada expresso. o apropos apropos(1) - search the whatis database for strings (Procura por expresses na base de dados whatis), ou seja exibe todos comandos Linux que tenham alguma correspondncia a expresso apropos, no caso apenas o comandoapropos.

Login Permite a um usurio efetuar o logon (estabelecer uma conexo) no sistema, bem como ser utilizado para efetuar o logon com um usurio diferente do atual. o o login fulano para efetuar o login do usurio fulano. login -p fulano para efetuar o login do usurio fulano sem destruir o ambiente do atual usurio.

Logout Finaliza um login shell no console ou terminal. No modo grfico, este comando encerra a sesso do usurio podendo fechar a janela do terminal, e em modo texto encerra a sesso do usurio levando-o de volta ao prompt de login do sistema. o logout O mesmo resultado pode ser alcanado executando o comando exit.

Su Permite alternar entre os usurios cadastrados do sistema, alterando o ID de usurio e grupo do atual usurio para outro usurio especificado. o o su fulano permite alternar para o usurio fulano aps senha de login correta. su fulano -c 'vim /home/fulano/arq1' permite executar o comando vim abrindo o arquivo /home/fulano/arq1 como sendo o usurio fulano. O uso desta opo -c no comea um novo shell, apenas executa um comando como sendo o outro usurio especificado.

Sudo Permite a um usurio autorizado conforme configurado no arquivo /etc/sudoers, a executar comandos como se fosse o super-usurio (root) ou outro usurio qualquer. Veja RootSudo para maiores detalhes. Uname Exibe vrias informaes sobre o sistema. Caso nenhuma opo seja fornecida junto ao comando, apenas o nome do sistema operacional ser exibido, equivalente a opo -s. o uname -a para exibir todas informaes sobre o sistema. Whatis Pesquisa em uma base de dados que contem uma curta descrio dos comandos do sistema. Esta base de dados com os comandos do sistema criada e atualizada com o comando sudo makewhatis o whatis sudo halt para obter uma descrio resumida dos comandos sudo e halt.

Whereis: Usado para localizar o binrio, o arquivos-fonte e a pgina man (manual) dos comandos do sistema. o whereis ls para descobrir onde se encontra o arquivo binrio, os fontes e o manual (man) do comando ls.

Which Exibe o caminho completo na hierarquia de diretrios para os comandos do sistema. o which firefox para exibir o diretrio onde se encontra o programa firefox.

Clear Limpa a tela movendo o cursor para primeira linha. No existem parmetros passados junto a este comando.

Echo Permite exibir textos na tela. Este comando tambm exibe toda estrutura de diretrios e arquivos em ordem alfabtica, porm sem formatar em colunas a listagem. o o echo 'Ol mundo!envia para sada de tela a expresso Ol mundo!. echo /etc/* para listar todo contedo do diretrio /etc.

Halt, reboot, shutdown Respectivamente encerra, reinicializa e encerra ou reinicializa o sistema. o o o o o sudo halt para encerrar o sistema. sudo reboot para reiniciar imediatamente o sistema. Este comando equivale aos comandos sudo init 6 e sudo shutdown -r now. sudo shutdown -h now para encerra o sistema imediatamente. sudo shutdown -h +15 para encerrar o sistema daqui a 15 minutos. sudo shutdown -r 20:30 'O sistema ser reiniciado as 20:30 horas!' para reiniciar o sistema as 20:30 horas enviando a mensagem "O sistema ser reiniciado as 20:30 horas!" a todos usurios logados. o NOTA: O comando sudo init 0 tambm pode ser usado para encerramento do sistema. O comando shutdown a forma mais segura de reiniciar e finalizar o sistema, advertindo os usurios logados e bloqueando novos logons.

Teclas de emergncia do GNU/Linux Quem que j no se deparou com um travamento causado por mal funcionamento de hardware no Linux? Este tpico ensina a usar as teclas de emergncia do kernel. Desligando o computador A primeira combinao de emergncia usada para sincronizar os discos e desligar o computador instantaneamente evitando problemas nos sistemas de arquivos. Ela ideal para quem precisa desligar o computador rapidamente sem danificar seus sistemas de arquivos, ou quando a mquina trava e por qualquer motivo no permite um desligamento natural atravs do init. Mantendo ALT pressionado, tecle Print Screen e depois O. Reiniciando o computador Assim como o Ctrl+Alt+Del do MS-DOS o kernel do Linux tambm possui uma chamada de emergncia que permite reiniciar a mquina, com a vantagem de sincronizar os discos evitando danos no sistema de arquivos. Veja como fazer:

Mantendo ALT pressionado, tecle Print Screen e depois B. Sincronizando os discos Se voc acha que a fora vai cair e precisa trabalhar at a ultima hora mas tem medo de danificar seu sistema de arquivo, poder sincronizar seus discos de tempos em tempos. Para sincronizar discos em caso de emergncia: Mantendo ALT pressionado, tecle Print Screen e depois S. Segurana Se por algum motivo algo est ameaando a segurana do seu sistema, como a execuo acidental de um script malicioso como root ou de programa desconhecido, poder colocar os discos como somente leitura e evitar danos mais srios. Mantendo ALT pressionado, tecle Print Screen e depois U.

Comandos APT A maioria destes comandos requer sudo! Substitua "nome_pacote" ou "termo" pelo programa que voc quer instalar ou procurar. Apt-get update - Execute este comando se voc mudou o /etc/apt/sources.list ou /etc/apt/preferences. Tambm execute-o periodicamente para ter a certeza que sua lista de fontes fique sempre atualizada. Apt-get install nome_pacote - instala um novo pacote (veja tambm aptitude, abaixo) apt-get remove nome_pacote - remove um pacote (os arquivos de configurao no so excludos) apt-get purge remove nome_pacote - remove um pacote (os arquivo de configurao tambm sao excludos) apt-get upgrade - atualiza todos os pacotes instalados apt-get dist-upgrade - atualiza o sistema todo para uma nova verso apt-cache search termo - procura por "termo" na lista de pacotes disponveis dpkg -l nome_pacote - lista os pacotes instalados que casam com "nome_pacote". Na prtica use '*nome_pacote*', a no ser que voc saiba o nome completo do pacote. aptitude - O Aptitude uma interface em modo texto para o sistema de pacotes Debian GNU/Linux e derivados. Assim como o apt-get, permite ver a lista de pacotes e realizar operaes como instalao, atualizao e remoo de pacotes, porm parece tratar um tanto quanto melhor a questo das dependncias.

Apt-cache showpkg pacotes - mostra informaes sobre os pacotes apt-cache dumpavail - mostra uma lista de pacotes disponveis. Apt-cache show pacotes - mostra registros dos pacotes, igual a dpkg --printavail. Apt-cache pkgnames - rpida listagem de todos os pacotes instalados no sistema. Dpkg -S nome_arquivo - qual foi o pacote que instalou este arquivo? Dpkg -L pacote - Mostra os arquivos instalados pelo pacote. Apt-file search NomeArquivo - Este comando procura por um pacote, no necessariamente precisa estar instalado, que inclua o arquivo passado junto a linha de comando (NomeArquivo. Ou seja, muito til para localizar facilmente arquivos individuais dentro de pacotes que ainda nem se encontram instalados no seu sistema. Apt-get autoclean - Execute este comando periodicamente para excluir os arquivos .deb que no esto mais instalados no seu sistema. Pode-se ganhar uma grande quantidade de espao em disco fazendo isso. Se voc est desesperado por espao em disco, apt-get clean mais radical, e remover todos os arquivos .deb, mesmo de pacotes instalados. Como na maioria dos casos voc no precisa destes arquivos .deb, no hesite em usar este comando quando precisar de uns megas extras. Apt-cdrom add - Comando utilizado para adicionar um CD ao arquivo /etc/apt/sources.list do APT, fazendo assim com que o apt-get procure tambm neste CD por pacotes. Usos tpicos - Eu quero sentir o vento no meu cabelo, quero a adrenalina da velocidade. Ento vamos instalar um jogo de corrida. Mas quais jogos de corrida esto disponveis para mim? apt-cache search racing game Ele me d um monte de respostas. Vejo um jogo chamado "torcs". Quero mais informaes sobre este jogo. apt-cache show torcs Hummm, parece interessante. Mas ser que este jogo j est instalado no meu computador? E qual a verso disponvel? Est no repositrio main ou universe? apt-cache policy torcs T bem, vamos instal-lo! apt-get install torcs Qual o comando que eu devo digitar no terminal para iniciar este jogo? Neste exemplo, parece bvio o nome do comando ("torcs"), mas nem sempre assim, fcil descobrir. Uma forma de achar o comando que deve ser executado olhando quais arquivos este pacote instalou em "/usr/bin". Jogos ficam em "/usr/games". Programas administrativos ficam em "/usr/sbin". dpkg -L torcs|grep /usr/games/ A primeira parte deste comando mostra todos os arquivos instalados pelo pacote "torcs" (experimente). Na segunda parte, ns dizemos que s quero que ele mostre os arquivos dentro de "/usr/games/".

Uau, esse jogo legal. Ser que existem outras pistas/caminhos pra ele? apt-cache search torcs But I'm running out of space. I will delete the apt cache! apt-get clean Oh no, minha me mandou eu remover todos os jogos deste computador. Mas eu quero manter os arquivos de configurao para o caso de uma futura reinstalao. apt-get remove torcs Se eu quisesse remover tudo, inclusive os arquivos de configurao: apt-get remove --purge torcs

Os Comandos do Linux
Como j descrito anteriormente, no temos a pretenso de ser um guia completo de comandos, mais uma fonte de referncia que ir abranger os principais comandos separados por categorias de acordo com as tarefas que executam. Um comando do Linux uma palavra especial que representa uma ou mais aes. Um interpretador de comandos tambm conhecido como shell ou modo texto. Ele o programa responsvel por interpretar essas instrues enviadas pelo usurio e seus programas para o kernel. No Linux, voc poder ter vrios interpretadores de comandos (ao contrrio do que acontece no Windows que s tem o command.com). O interpretador de comandos que executa comandos lidos do teclado ou de um arquivo executvel. a principal ligao entre o usurio. Entre os programas interpretadores de comandos podemos destacar o bash, csh e sh entre outros. Entre eles o mais usado o Bash (Bourne Again Shell), criado por S.R. Bourne. Os comandos podem ser enviados de duas maneiras para o interpretador:

Interativa - Os comandos so digitados no teclado pelo usurio e passados ao interpretador de comandos um a um. Neste modo o computador depende do usurio para executar uma tarefa ou o prximo comando. No-interativa - So usados arquivos de comandos (scripts) criados pelo usurio para o computador executar os comandos na ordem encontrada no arquivo. Neste modo, o computador executa os comandos do arquivo um por um, e dependendo do trmino do comando, o script pode verificar qual ser prximo comando que ser executado e dar continuidade ou no ao processamento.

Esse sistema muito til quando temos que digitar por vrias vezes seguidas um mesmo comando ou para compilar algum programa complexo. Uma caracterstica interessante do bash que ele possui a funo de autocompletar os nomes de comandos que foram digitados via entrada padro. Isso feito pressionando-se a tecla TAB; o comando completado e acrescentando um espao.

Isso funciona sem problemas para comandos internos; caso o comando no seja encontrado, o bash emite um beep. Por exemplo, na sua pasta raiz tente digitar cd pro (aperte TAB)+as( aperte TAB)+os( aperte TAB)+d(aperte TAB) e veja como foi fcil digitar um caminho para entrar no local: /proc/asound/oss/devices. Outro recurso muito interessante do bash, que voc pode repetir um comando executado sem ter que digit-lo novamente. Isso possvel utilizando o caractere "!" na frente do comando que voc deseja repetir. O bash vai buscar aquele comando no histrico e se l tiver algo parecido o comando ser executado. Veja o exemplo abaixo com esta seqncia de comandos:
tail -f /var/log/squid/access.log cd /etc/ ls -hl !tail

O comando "!tail" ir informar ao shell (bash) para executar o ltimo comando tail executado, no caso, "tail -f /var/log/squid/access.log", e voc passara a ver novamente os LOG's do Squid em tempo real. Para execuo de muitos comandos necessrio ter privilgios de administrador, ento como no Ubuntu o usurio root por questes de segurana se encontra desabilitado, ser necessrio o uso do "sudo". Assim sendo sempre que um comando necessitar deste privilgio, o mesmo estar precedido do sudo. Adicione tambm o comando sudo na frente de todos os comandos, caso esteja trabalhando em um diretrio ou em arquivos que no lhe pertencem (arquivos do sistema, por exemplo). Veja RootSudo para maiores informaes sobre o sudo.

Sistema de Arquivos

Mount Monta um sistema de arquivos tornando-o disponvel para as operaes de E/S (Entrada/Sada) em arquivos, ou exibe uma lista dos sistemas de arquivos atualmente montados. o mount para listar os sistemas de arquivos atualmente montados. o sudo mount -t ext3 /dev/hda3 /media/hda3 para montar a terceira partio primria do disco hda (IDE1) formatado em EXT3 no diretrio /media/hda3. necessrio que o diretrio /media/hda3 tenha sido previamente criado para que o comando tenha sucesso. Umount Desmonta um sistema de arquivos previamente montado que no esteja em uso. o sudo umount /dev/hda3 para desmontar o dispositivo /dev/hda3. Para que o comando seja executado com sucesso importante que o dispositivo no esteja em uso, como por exemplo com arquivos abertos ou mesmo estando dentro do diretrio onde o mesmo se encontra montado. Fdisk Gerencia por meio de uma simples interface de texto orientada por menus as parties de um disco. Ao executar o comando fdisk dispositivo basta pressionar a tecla m no prompt para ter acesso ao menu de opes que bastante auto-explicativo, devendo se usar as setas de direo para movimentar-se pelo mesmo. o sudo fdisk -l para listar as tabelas de parties para todos dispositivos. o sudo fdisk /dev/hda para gerenciar a partio (ou parties) do dispositivo /dev/hda. Fsck Verifica e opcionalmente repara um ou mais sistemas de arquivos. O fsck na realidade apenas uma espcie de front-end de comandos especficos de acordo com o sistema de arquivos, que na realidade obedecem em geral ao formato fsck.nome_do_sistema_de_arquivos. sudo fsck -t ext3 /dev/hda3 para verificar o sistema de arquivos EXT3 do dispositivo /dev/hda3. O mesmo resultado poderia ser alcanado executando o comando da seguinte forma fsck.ext3 /dev/hda3. O dispositivo deve obrigatoriamente estar desmontado para execuo desta operao. mkfs Formata um dispositivo (geralmente uma partio de disco) criando um novo sistema de arquivos. O mkfs, assim como o fsck apenas uma espcie de front-end de comandos especficos de acordo com o sistema de arquivos, que na realidade obedecem em geral ao formato mkfs.nome_do_sistema_de_arquivos.

sudo mkfs -t ext3 /dev/hda3 para formatar o dispositivo /dev/hda3 em um sistema de arquivos EXT3. O mesmo resultado poderia ser alcanado executando o comando da seguinte forma mkfs.ext3 /dev/hda3. O dispositivo deve obrigatoriamente estar desmontado para execuo desta operao. Badblocks Procura por blocos ruins em um dispositivo, geralmente uma partio de disco. o sudo badblocks /dev/hda3 para verificar se o dispositivo /dev/hda3 se encontra com blocos ruins. Normalmente, dependendo do tipo e tamanho do dispositivo este procedimento um tanto demorado, sendo que se nenhuma informao for retornada porque blocos ruins no foram encontrados. Uma melhor alternativa ao comando seria sudo badblocks -o /tmp/file -n /dev/hda3, onde o parmetro -n foraria um teste de leitura e escrita no-destrutivo e o -o /tmp/file geraria o arquivo /tmp/file com todas mensagens de sada do comando.
o

Utilitrios de Texto

Cat Utilizado para concatenar arquivos exibindo o resultado na tela, sendo tambm utilizado para exibir o contedo de arquivos. o cat arq para exibir o contedo do arquivo chamado arq. Se desejar que as linhas do arquivo sejam enumeradas use a opo -n junto ao comando, desta forma cat -n arq. o sudo cat /etc/passwd /etc/group para exibir na tela o contedo dos arquivos /etc/passwd e /etc/group. o cat file1 file2 |less para exibir na tela o contedo dos arquivos file1 e file2 porm fazendo a paginao das telas. Neste caso a opo |less, onde | o chamado pipe, pode ser substituda tambm por |more, sendo que ambos comandos sero vistos posteriormente. o cat arq arq1 arq2 > arq_final para concatenar os arquivos arq, arq1 e arq2 e colocar o resultado em outro arquivo chamado arq_final. Notar que neste comando feito uso do caractere > chamado de redirecionador de sada. o cat arq3 >> arq_final para inserir o contedo do arquivo arq3 ao final do arquivo arq_final. o NOTA: O comando cat tambm pode ser usado para criar arquivos quando usado em conjunto com o > redirecionador de sada. Para criar um arquivo execute o comando cat > novo_arq e digite o contedo desejado, usando a tecla Enter como separador de linhas e Ctrl+D para finalizar.

Less Faz a paginao de sadas muito extensas exibindo uma tela por vez. o less arq para exibir o contedo do arquivo arq de forma paginada. Para navegao e gerenciamento do comando use as teclas abaixo: Para sair do aplicativo digite q (quit); Use as teclas Page-Down, Ctrl+F ou Space para avanar nas pginas; Use as teclas Page-Up ou Ctrl+B para voltar as pginas; Use Enter para avanar apenas uma linha por vez; Digite h para ver a lista das teclas disponveis para navegao no comando. o NOTA: Para redirecionar a sada de outro comando para o less efetuar a paginao, use o | (pipe) conforme exemplo ls -hl | less. More Semelhante ao comando less tambm faz a paginao de uma sada muito grande na tela. A sintaxe deste comando semelhante ao do less, inclusive as teclas de navegao e o redirecionamento com uso do | (pipe). Grep Usado para procurar por linhas em um arquivo que contenham expresses que satisfaam um determinado padro de busca. o grep termo arq para procurar por entradas no arquivo arq que correspondam a expresso termo. o grep 'termo1 termo2' arq para procurar por entradas no arquivo arq que correspondam as expresses termo1 e termo2. Notar que quando a expresso composta de mais de uma palavra deve ser usado aspas simples. o NOTA: Este comando comumente utilizado em conjunto com outros comandos canalizados com o | (pipe) conforme abaixo exemplificado. sudo cat /etc/passwd |grep fulano para procurar por uma entrada que corresponda a expresso fulano no arquivo /etc/passwd. Tail Exibe as ltimas linhas da sada de um arquivo. Por padro se nenhum parmetro diferente for passado ao comando ser exibido as ltimas 10 linhas do arquivo. o tail -50 arq para exibir as ltimas 50 linhas do arquivo chamado arq. o sudo tail -f /var/log/messages para continuar exibindo indefinidamente as ltimas 10 linhas (padro) do arquivo /var/log/messages . Conforme o exemplo, esta opo -f muito usada para verificar arquivos de log do sistema que esto sendo constantemente atualizados.

NOTA: Assim como o tail que exibe as ltimas linhas de um arquivo, existe o comando head que faz exibir as primeiras linhas de sada de um arquivo.

Mdulos carregveis do Kernel

Lsmod Lista todos mdulos do kernel atualmente carregados na memria. Na realidade, o comando lsmod apenas lista o contedo do arquivo /proc/modules. Modinfo Exibe informaes sobre um determinado mdulo carregado do kernel. o sudo modinfo ip_tables para exibir informaes do mdulo ip_tables que se encontra carregado na memria do sistema. Modprobe Usado para gerenciar, ou seja, adicionar e remover mdulos carregveis do kernel. O modprobe l o arquivo de dependncias de mdulos gerado pelo depmod, portanto devemos sempre antes executar o comando sudo depmod -a. o sudo modprobe iptable_nat para carregar na memria o mdulo iptable_nat. o sudo modprobe -r ndiswrapper para remover da memria o mdulo ndiswrapper.

Opes
O comportamento padro para um comando pode ser modificado por adicionar uma opo para o comando. O comando ls, por exemplo, tem uma opo -s, de forma que"ls -s" incluir o tamanho dos arquivos na listagem realizada. H tambm uma opo -h para que esses dados estejam em um formato "legvel para humanos". As opes podem ser agrupadas, sendo possvel, por exemplo usar "ls -sh", que funcionar exatamente da mesma forma que "ls -s -h". Muitas opes tm uma verso longa, prefixadas por dois traos em vez de um, assim "ls --size human-readable" o mesmo comando dado anteriormente.

Otimizando o desempenho do history com navegao contextual


Como sabemos o ambiente shell do GNU/Linux, no caso o bash, mantm no arquivo .bash_history uma lista com o histrico dos ltimos comandos digitados. Com isso e o uso das teclas direcionais UP e DOWN nos permitem "navegar" por esta lista, de modo a retornar com um comando j utilizado e que esteja em nosso histrico armazenado. Porm por padro esta navegao ser por toda gama de comando j utilizados, o que por vezes faz com que percamos at mais tempo necessrio do que se digitarmos novamente o comando. Com uma dica simples veremos ento como fazer com que esta navegao seja otimizada de forma a permitir uma filtragem no histrico de comandos bastando inserir alguns caracteres do mesmo antes de usarmos as setas de navegao. Agora as setas faro uma procura por contexto. Se voc no digitar nada, o efeito ser o mesmo que antes, mas se voc digitar um caractere e pressionar a seta, ele s ir mostrar os comandos que comecem com aquele caractere. Portanto com este ajuste, se voc digitar "ls" e pressionar a seta ele vai navegar apenas nos comandos que comeam com "ls". Para que isso funcione desta forma primeiramente iremos criar no diretrio $HOME do usurio desejado o arquivo oculto de nome.inputrc com o seguinte contedo abaixo:
\e[A: history-search-backward \e[B: history-search-forward

Agora basta fechar a seo atual e abrir uma nova para que a navegao no histrico dos comandos passe a funcionar desta forma mais otimizada. Notas:

Por padro o Linux armazena no .bash_history os ltimos 500 comandos utilizados, mais este nmero pode ser modificado editando o seu arquivo .bashrc e adicionado as seguintes linhas:

export HISTFILESIZE=XXXX export HISTSIZE=XXXX

Onde, XXXX deve ser substitudo pela quantidade desejada.

Como configurao padro do sistema como um todo existe o arquivo /etc/inputrc, ou seja, caso se deseje que estas novas configuraes passem a valer para todos usurios do sistema basta adicionar aquelas 2 linhas do .inputrc neste arquivo.

Usando "grep" com resultados coloridos


Quem costuma usar o grep para fazer filtragens, pode se beneficiar desta pequena e simples dica, fazendo a sada dos resultados ficarem coloridas em destaque.
grep --color=auto

Vamos a um exemplo pratico para entender melhor:


ps aux |grep --color=auto tty

Nota: Quem gostar do resultado e desejar deixar como padro, basta editar seu arquivo ~/.bashrc criando um alias para o comando grepconforme abaixo demonstrado. 1. Abra o arquivo em seu editor de texto favorito.
vim ~/.bashrc

2. Adicione a linha baixo no mesmo, e salve o arquivo.


alias grep='grep --color=auto'

3. Agora, basta executar o comando abaixo que este recurso ser padro para este seu usurio.
source ~/.bashrc

Obtendo ajuda
Nosso maior aliado
Os comandos --help e man podem ser consideradas as duas ferramentas mais importantes em uma linha de comando.

Praticamente todos os comando entendem a opo -h (ou --help), a qual produzir uma descrio breve e til do comando e suas opes, e ento volta para o terminal. Tente "man -h" ou "man --help" para ver isso em ao. Todo comando e quase toda aplicao em Linux ter um arquivo man (manual), e encontr-lo ser muito simples. Basta digitar man comando para surgir um manual extenso para o comando especificado. Por exemplo, "man mv" mostrar o manual de mv (Move). Mova para cima ou para baixo no arquivo man utilizando as teclas Page UP e Page Down ou as setas no teclado, e retorne para a linha de comando teclando q. "man man" mostrar a entrada do manual para o comando man, e este um bom lugar para comear! "man intro" especialmente til, pois mostrar a "Introduo para comandos do usurio" que uma introduo breve e bem escrita sobre a linha de comando. Alm disso, h as pginas de info, que geralmente sero mais detalhados, se aprofundando mais do que as pginas man. Tente "info info" para uma introduo s pginas info. Procurando por arquivos "man" Se voc no est certo de qual comando ou aplicao voc precisa usar, voc pode tentar procurando os manuais (arquivos "man").

"man -k foo" ir procurar manuais para foo. Tente "man -k nautilus" para ver como isso funciona. o Observe que isso o mesmo que o comando apropos. "man -f foo" procura apenas os ttulos dos manuais do seu sistema. Tente "man -f gnome", por exemplo. o Isso o mesmo que o comando whatis.

Outras fontes de consulta


Para maiores informaes e detalhes sobre os comandos aqui apresentados, alm da consulta as pginas de manuais do seu sistema recomendamos uma visita aos sites abaixo, que tambm serviram de poderosa fonte de pesquisa para desenvolvimento desta pgina.

Guia Foca GNU/Linux. Man pages, tutoriais bsicos de BASH, e shell script.

Guia de Referncia do Linux. Wikipdia-PT. Man pages em portugus

Informaes adicionais

AptGet - Howto - usando o apt-get para instalar pacotes pela linha de comando. AdicionandoRepositorios - adicionando os repositrios Universe/Multiverse usando a linha de comando.

http://wiki.ubuntu-br.org/ComandosBasicos

ntroduo
Por padro, muitos programas teis so instalados junto com o Ubuntu. No entanto, de tempos em tempos, voc pode querer fazer algo que a seleo de programas intalados no permite, ento voc precisar de novos programas. Ou talvez, voc apenas queira testar e instalar programas alternativos aos que j esto instalados. Instalar novos programas no Ubuntu muito fcil, e este guia lhe mostrar como. Se voc quiser obter alguma informao sobre o que acontece quando se instala um pacote (informaes que podem ser um pouco tcnicas), leia a seo abaixo: Pacotes e Gerenciamento de Pacotes. Se voc quiser apenas comear a instalar novos programas, pode pular esta parte e ir direto paraInstalando um Pacote.

Pacotes e gerenciamento de pacotes


O que um pacote?

Software um termo muito vago e, normalmente, significa um programa que de computador. No entanto, alguns programas s vezes precisam de outras fontes para ajud-los executar suas funes. Quando voc instala um software, centenas de arquivos podem ser necessrios para execut-lo! Mas no se preocupe quanto a isto - O Ubuntu possui uma forma muito eficaz de instalao, que gerencia toda esta complexidade para voc. O Ubuntu usa pacotes para armazenar tudo que um programa em particular precisa para ser executado. Pacotes so colees de arquivos armazenadas em um nico arquivo, que podem ser manipulados muito mais facilmente. Assim como os arquivos necessrios para um programa rodar, existiro, ainda, arquivos especiais chamados scripts de instalao, que copiaro os arquivos dos pacotes para seus locais corretos e tambm executaro outras tarefas.

Fonte ou Binrio?

Normalmente, quando algum faz um pacote para um programa, coloca todo o cdigo fonte do programa nele. O cdigo fonte escrito por programadores, e nada mais do que um conjunto de instrues em cdigo para o computador, que pode ser lido por humanos. Os computadores podem apenas entender este cdigo se ele for interpretado. Uma das formas de

interpretao do cdigo fonte para um computador a compilao dele para um cdigo binrio, que o "idioma natural" dos computadores. Ento, por que as pessoas que fazem pacotes (chamados empacotadores), simplesmente, no os convertem em binrios, j que essa a forma final do programa de computador? Bem, diferentes computadores necessitam de diferentes tipos de binrios, portanto, se voc fizer um pacote para o seu tipo de processador (como um PC Intel), ele pode no funcionar em um outro tipo (como um processador de 64bits, por exemplo). Cdigos Fonte a sequncia de instrues no idioma do programador e podem ser "traduzidos" para o "idioma" do computador, independente de qual idioma seja esse. Cada tecnologia de processadores possui seu prprio "idioma". Pacotes Binrios so feitos especialmente para um tipo de computador ou arquitetura. O Ubuntu suporta as arquiteturas x86 (i386 ou i686), AMD64 e PPC. O binrio correto ser automaticamente detectado e usado. Portanto, voc no precisa se preocupar com isto ao instalar um pacote. Para saber qual a arquitetura que voc est usando, digite arch em um terminal.

Dependncia de Pacotes

As vezes alguns programas compartilham dos mesmos arquivos que outros programas usam. Colocando estes arquivos em um pacote, um pacote separado pode ser instalado para prover estes arquivos aos programas que precisem deles. Ento, para instalar um programa que precisa destes arquivos, o pacote que os possui precisa ser instaldo. Quando um pacote depende de outro desta forma, isto chamado de dependncia de pacotes. Ao especificar as dependencias, os pacotes podem se tornar menores e mais simples, e a maioria dos arquivos duplicados so removidos. Quando voc instala um programa, suas dependncias precisam ser instaladas ao mesmo tempo. Normalmente, a maioria das dependncias necessrias j esto instaladas, mas alguns pacotes extras podem ser necessrios tambm. Ento, quando voc instala um pacote, no se supreenda se muitos outros pacotes forem instalados juntos.

Gernciadores de pacotes

Um gernciador de pacotes um programa que manipula o download e instalao dos pacotes. O Ubuntu inclui alguns gerenciadores de pacotes por padro.

Repositrios

Repositrios so as fontes de onde os gerenciadores de pacotes buscam os pacotes e dependncias para a instao. Sua isto acontece tudo de forma automtica, uma vez tendo configurado os repositrios corretos.

Para saber detalhadamente o que , como funciona, para que serve, e como adicionar/remover repositrios, visite a pginaAdicionandoRepositorios.

Instalando Um Pacote
Ubuntu
Adicionar/Remover - o mtodo mais bsico
A maneira mais fcil de instalar um pacote usando a Central de Programas do Ubuntu. Abra-a em Aplicativos --> Central de Programas do Ubuntu. Primeiro, encontre o pacote que voc quer instalar. Voc pode procurar por uma palavra chave, como 'email', ou ento navegar nas categorias mostradas na tela principal. Tanto pela busca, quanto pela listagem por categorias, sero apresentadas listas dos programas disponveis nos repositrios configurados. Para instalar, d um clique duplo sobre ele, ou clique no boto em forma de seta para a direita correspondente. Ser apresentada uma descrio detalhada do que o programa faz. Para instal-lo, clique no boto Instalar. O programa pedir a sua senha de usurio para continuar. Depois disto, uma outra janela mostrar o progresso do download/instalao. Quando terminar, seus novos programas estaro instalados e prontos para uso. Voc no precisa esperar o processo de instalao de um programa terminar para continuar a procurar outros programas, e acrescent-los na lista de instalao. Voc pode clicar nos botes mostrados acima da tela principal e continuar sua busca, enquanto os que voc mandou instalar so baixados e instalados.

Synaptic - o mtodo mais avanado


O Gerenciador de Pacotes Synaptic oferece um metodo mais avanado para instalar/remover/atualizar pacotes. Se voc tiver problemas para encontrar um pacote com a Central de Programas do Ubuntu, tente usando a busca do Synaptic, ele procura em todosos pacotes dos repositrios disponveis e, muitas vezes, alguns pacotes no so necessariamente programas, por isto no so mostrados na Central de Programas do Ubuntu.

Para detalhes de como usar o Synaptic, veja a pgina Synaptic.

Kubuntu
Adicionar/Remover Programas - o mtodo mais bsico
Um novo e fcil mtodo para instalar pacotes no Kubuntu usando a ferramenta Central de Programas do Kubuntu. Clique no Menu-K --> Central de Programas do Kubuntu para abr-lo. Para instalar novos programas selecione a categoria no painel da esquerda, ento cheque a caixa ao lado do programa que deseja instalar. Quando estiver pronto, clique em Aplicar, ento os programas escolhidos sero baixados e instalados automaticamente, bem como suas dependncias. A lista padro restrita aos aplicativos da sute KDE, mas aplicaes do GNOME podem ser instaladas selecionando o menu dropdown no topo. Alternativamente, voc pode usar a caixa de pesquisa para buscar pelo programa que deseja. Pacotes de repositrios adicionais devem ser instalados habilitando as caixas de seleo Exibir: No suportados e Exibir: software proprietrio se estes repositrios estiverem habilitados no seu sources.list. Para maiores informaes veja AdicionandoRepositorios. Quando terminar, clique em Fechar. Seus novos programas estaro instalados e prontos para uso!

Adept - o mtodo mais avanado


O Gerenciador de pacotes Adept oferece uma forma mais avancada para instalar/remover pacotes. Se voc tiver problemas em encontrar um determinado pacote com a ferramenta Adicionar/Remover, tente usar a busca no Adept.

Para detalhes de como usar o Adept, veja o Adept Howto.

Instalando pacotes baixados


Algumas vezes, talvez voc queira instalar um pacote que baixou de algum site, e que no esto nos repositrios. Estes pacotes so chamados de arquivos .deb, ou Pacotes Debian. Pelo fato deles poderem ter sido criados para diferentes distribuies Linux baseadas no Debian, podem possuir muitas

dependencias desencontradas quando instalados no Ubuntu, e talvez no seja instalvel.

Usando o GDebi
GDebi uma ferramenta grfica usada para instalar pacotes. Ele automaticamente checa se o pacote possui dependncias e tentar baixa-las dos repositrios disponveis. Voc pode usar o Navegador de Arquivos para localizar o pacote que deseja instalar, um pacote pode se parecer com este:

D um duplo-clique no pacote para abr-lo com o GDebi. Ento clique em 'Instalar pacote', o GDebi tentar resolver as dependencias e avisar caso no consiga.

Usando o Gerenciamento de Pacotes Kubuntu


Para instalar um pacote .deb no Kubuntu, clique com o boto direito do mouse no arquivo .deb e selecione Menu de Pacotes Kubuntu -> Instalar Pacote.

Usando o dpkg
uma ferramenta via linha de comando usada para instalar pacotes. Para instalar um pacotes com o dpkg, abra um Terminal e digite:
dpkg cd diretorio/ sudo dpkg -i nomedopacote.deb

Substituindo diretorio pelo diretrio onde o pacote est armazenado e nomedopacote pelo nome do arquivo .deb a ser instalado.

recomendado que voc leia o manual do dpkg antes de usado, um uso incorreto poderia quebrar a base de dados do gerenciador de pacotes. Para ver o manual do dpkg (bem como o de qualquer ferramenta em modo texto) digite man dpkg em um terminal.

Atualizaes automticas

O Ubuntu automaticamente lhe avisar de atualizaes de software e atualizaes de segurana disponveis. Simplesmente clique no cone de atualizao (que aparecer na rea de notificao ao lado do relgio), digite sua senha de sudo/root e siga as instrues na tela para baixar e instalar automaticamente as atualizaes.

Manter o sistema atualizado muito importante, com isto correes de segurana e de falhas e bugs chegam diretamente ao seu computador.

No GNU/Linux (e no Unix em geral), existe um super-usurio chamado root. O equivalente no Windows para root o Administrador. O super-usurio pode fazer tudo, e ento, trabalhar diariamente como super-usurio pode ser perigoso. Voc pode digitar o comando incorretamente e derrubar o sistema. Idealmente, voc usa o usurio que tem privilgios para as tarefas que executa. Em alguns casos, esse usurio tem de ser o root, mas na maioria deles pode ser um usurio comum. Por padro, a senha do root travada no Ubuntu. Isso significa que voc no pode fazer login como root ou usar o comando "su". Ao invs disso, o instalador ir configurar o comando "sudo" para possibilitar que o usurio criado durante a instalao possa executar todos os comandos de administrao. Voc pode, a partir do Terminal, usar o "sudo" para comandos que requerem o privilgio de root. Todos os programas no menu iro usar uma interface grfica para o sudo para perguntar a senha, quando isso ocorrer, fornea a sua senha Quando voc for perguntado pela senha, voc precisa fornecer Sua senha, isso significa que a senha do root no necessria.

Observaes importantes

A senha armazenada por 15 minutos. Depois disso, voc ter de digitar a senha novamente. Sua senha no ser mostrada na tela enquanto voc a digita no terminal, apenas ser mostrada com asteriscos quando voc digit-la pela interface grfica. Para executar a configurao grfica com o sudo, apenas lance a aplicao pelo menu. Para executar usando sudo um programa que normalmente executado como de usurio, como o gedit, aperte ALT + F2 e digitegksudo gedit. Para usurios do Kubuntu, use kdesu no lugar de gksudo. Para usar sudo na linha de comando, escreva sudo antes do comando, como demonstrado abaixo:

Exemplo #1
sudo chown bob *

Exemplo #2
sudo /etc/init.d/networking restart

NUNCA use sudo para executar programas grficos. Voc deve sempre usar gksudo ou kdesu para rodar esses programas, caso contrrio, novas tentativas de login podero falhar. Para iniciar um shell em root (ex.: um terminal de comandos que voc pode rodar comandos do root) use:

sudo -i

Permitindo outros usurios executarem o sudo


Para dar permisses administrativas para um novo usurio, abra Usurios e Grupos que fica no menuSistema > Administrao. Depois, clique no usurio e clique em propriedades. Escolha a aba Privilgios do Usurio. Na aba, encontre a opo Executando tarefas de administrao do sistema e marque-a. No terminal, pode ser feito com o comando abaixo, onde $usuario deve ser o nome do usurio:
sudo adduser $usuario admin

Benefcios de se usar o sudo


Os benefcios de se deixar o root desabilitado por padro so:

O instalador tem de perguntar menos questes Usurios no precisam lembrar-se de uma senha extra, que bem provvel de ser esquecida Evita o login onde se possvel fazer tudo -a senha ser requisitada antes que grandes mudanas possam acontecer- o que far voc pensar antes nas consequncias do que voc far. O sudo adiciona um log de cada comando que executado por ele (em /var/log/auth.log). Se voc fizer algo de errado, pode sempre olhar quais comandos executou. Tambm interessante para auditoria. Cada 'cracker' tentando usar fora-bruta ir tentar usar a senha na conta de root primeiro. O que eles no sabem o nome de usurio dos usurios da sua mquina. Permite fcil transferncia de permisses administrativas, num perodo de tempo curto ou longo, adicionando ou removendo usurios de um grupo, no comprometendo a conta do root. Sudo pode ser configurado com uma poltica de segurana muito mais restritiva.

Desvantagens do uso do sudo


Embora para desktops os benefcios do uso do sudo sejam grandes, existem alguns problemas que precisam ser notados:

Redirecionar a sada de comandos executados com sudo pode ser muito difcil para novos usurios. Considere por exemplosudo ls > /root/algumarquivo. No ir funcionar porque o shell que tenta escrever para o arquivo. Voc pode usarls | sudo tee a /root/algumarquivo para anexar ao arquivo ou ls | sudo tee /root/algumarquivo para sobrescrever o seu contedo. Em diversos escritrios de trabalho, o NICO usurio local em um sistema o root. Todos os outros usurios so importados usando tcnicas de NSS como o nss-ldap. Para configurar uma estao de trabalho ou consert-la, no caso de uma falha da rede onde o nss-ldap deixa de funcionar, a conta de root requerida. Isto impossibilita o sistema de ser usado. Um usurio local extra, ou uma conta de root com senha requerido nesse caso.

Concepes Erradas

O sudo no menos seguro que o su? o O modelo de segurana o mesmo e, portanto esses dois sistemas dividem a sua fraqueza primria. Qualquer usurio que pode usar su ou sudo tem privilgios administrativos no sistema. Se a conta do usurio comprometida por um atacante (invasor), ele tambm ir ganhar privilgios de root. A conta do usurio o elo fraco da corrente, que deve ser protegido como o mesmo cuidado do root. O comando sudo prov algumas caractersticas que encorajam diferentes hbitos de trabalho, que impactam positivamente na segurana do sistema. sudo comumente usado para executar apenas um comando, enquanto su geralmente usado para abrir um shell e executar mltiplos comandos. A soluo do sudo reduz a probabilidade de que um shell logado com o root seja deixado aberto, e encoraja aos usurios diminuirem o uso do privilgio root, aumentando assim a segurana do ambiente. Eu no poderei entrar mais em modo usurio-nico! o O programa sulogin no Ubuntu foi feito para lidar com o caso padro de uma senha de root travada.

Configurando o sudo para sempre pedir senha

Quando voc executa uma aplicao como root no Ubuntu, utilizando o sudo, a sesso no pedir senha nos prximos 15 minutos. Essa a configurao padro, que muitos acham inseguro, pois aplicaes suspeitas podem agir sobre arquivos do sistema neste intervalo. Fazendo esta configurao, o sistema sempre ir pedir a senha quando uma aplicao for executada como root. 1. Abra o arquivo /etc/sudoers para edit-lo conforme comando abaixo:
sudo visudo

2. Adicione a seguinte linha ao final do arquivo e salve o mesmo:


Defaults:nome_de_usuario timestamp_timeout=0

NOTA: Substitua o termo nome_de_usuario pelo nome do seu usurio. O nmero 0 (zero) significa que o tempo em que o sistema no pedir senha de zero minutos, mas voc pode modificar este tempo de acordo com suas preferncias.

Voltando para a conta de root tradicional


Isto no recomendado!

abilitando a conta de root


Para habilitar a conta de root (ex.: definir uma senha) use:
sudo passwd root

Digite a senha da sua conta normal Digite a nova senha para o root Confirme a nova senha

Desabilitando a conta de root


Se voc habilitou a conta de root e agora quer desabilitar novamente, use o comando:
sudo passwd -l root

Isto trava a conta de root.

Desativar o sudo
Essa atitude ir provocar uma queda na segurana do sistema, ento s siga os passos a seguir se voc estiver consciente do que est fazendo. Aps o boot e login inicial, aperte um ALT+F2 e execute o comando:
gksu gnome-terminal

Isso far com que os procedimentos a seguir no necessitem mais do sudo. Como foi dito voc pode desconsiderar o sudo quando abrir o terminal precedido do gksu.

Fazendo com que o sudo pea a senha de root


Voc pode fazer o sudo pedir a senha de root ao invs da do seu usurio. Isto pode ser feito adicionando palavra-chave rootpw na linha que comea com Defaults do arquivo /etc/sudoers.

Habilitando o login grfico como root


altamente recomendado no permitir o root a se logar graficamente.

No Gnome

Abra Sistema --> Administrao --> Configurao da Tela de Incio de Sesso Clique na aba Segurana Marque Permitir ao root iniciar uma sesso pelo GDM

No KDE

Abra a pasta /etc/kde3/kdm/ no Konqueror Clique com o boto direito no arquivo kdmrc e ento em Aes --> 'Editar como root' Na linha 246 deve estar AllowRootLogin=false, mude de 'false' para 'true' Salve e feche.

No Console

Troque para um terminal virtual com Ctrl+Alt+F1 (or F2, F3, ..., F6). Voc pode voltar a sua sesso com Ctrl+Alt+F7.

Logue-se com seu usurio. Mude para root com o comando "sudo -i". Inicie um novo servidor X no :1 com "startx -- :1". o Voc pode executar um gerenciador de janelas diferente (como o fvwm) com algo como "startx fvwm -- :1". o Voc deve usar o display :1 por o padro (display :0) j est sendo usado por voc. Tome cuidado, voc super-usurio. No se esquea de efetuar logout do X e do console quando voc terminar.