LINUX NEWBIE ADMINISTRATOR GUIDE
ver. 0.154 2001-09-02 by Stan, Peter and Marrei Klimas

A última versão deste guia está disponível em http://sunsite.dk/linux-newbie.
Copyright (c) <1999,2000,2001> by Peter and Stan Klimas. Sua resposta, comentários, correções, e melhorias são apreciados. Envie-os para linux_nag@canada.com Este material pode ser distribuído somente sob os termos e condições estabelecidas pela Open Publication License, v1.0, 8 ou posterior http://opencontent.org/openpub/ com as modificações estabelecidas em lnag_licence.html.





Parte 5: Atalhos e Comandos Linux



Conteúdo:
5.1 Atalhos essenciais em Linux e comandos de verificação
5.2 comandos de ajuda
5.3 Informação sobre o sistema
5.4 Operações básicas
5.5 Gerência de arquivos
5.6 Examinando e editando arquivos
5.7 Procurando arquivos
5.8 Básico sobre X-windows
5.9 Aplicações de rede
5.10 Descompressão de arquivos
5.11 Controle de processos
5.12 Comandos básicos de administração
5.13 Utilitários e disco
5.14 Gerência de contas de usuários e permissões de arquivos
5.15 Instalação de programas
5.16 Acesso a drives e partições
5.17 Ferramentas de administração de rede
5.18 Comandos relacionados com som
5.19 Comandos relacionados com gráficos
5.20 /Pequenos jogos



Introdução. Esta é uma seleção prática dos comandos que usamos mais frequentemente, úteis, e que vem no CD de distribuição Linux (RedHat ou Mandrake). Pressione <Tab> em uma linha de comando vazia para ver a lista de todos os comandos disponíveis (no seu PATH). Em minha pequena rede doméstica, ele diz que existem 3786 executáveis no meu PATH. Muitos destes comandos podem ser acessados a partir de interface gráfica favorita(provavelmente KDE ou GNOME) clicando no menu ou botões. Eles também podem ser executados a partir da linha de comando(a menos que você não tenha instalado o pacote, mas eles estão todos em seu CD).  Os programas que requerem uma interface gráfica tem de ser rodados sob ela, por exemplo, a partir de um terminal aberto em KDE ou GNOME(xterm, por exemplo). Algumas ferramentas mais avançadas(menos úteis para os novatos?) estão descritas na Parte Aprendendo com Linux neste Guia.

Notas para os não habituados com Unix:
1. Linux distingue caracteres maiúsculos e minúsculos. Por exemplo, Netscape, NETSCAPE e netscape seriam comandos diferentes(mas, dos três, somente netscape está disponível em meu sistema). meu__arquivo e meu_Arquivo, são também diferentes arquivos. Seu usuário para login e a password fazem também a distinção entre letras maiúsculas e minúsculas. (Isto está de acordo com a tradição de Unix e a linguagem de programação C)
2. Os nomes de arquivos podem ter até 256 caracteres de comprimento e podem conter letras, números, “.”(ponto), “_” (travessão) “-”(hífen)),mais outros caracteres(não recomendados).
3. Arquivos cujos nomes se iniciam com “.”(ponto) não são normalmente mostrados pelos comandos ls (listar) ou dir. Imagine que estes arquivos com o ponto inicial sejam arquivos ocultos. Use ls -a  (listar com a opção "all") para ver também estes arquivos.
4. "/" é equivalente ao caracter "\" no DOS(diretório raiz, significando o pai de todos os outros diretórios, ou um separador entre um diretório e um subdiretório ou nome de arquivo). Por exemplo, tente cd /usr/doc
5. Sob Linux, todos os diretórios aparecem sob uma única árvore de diretório(não existem letras para discos como no DOS). Isto significa que arquivos de todos os dispositivos físicos aparecem em um único sistema de arquivos.
6. Em um arquivo de configuração, uma linha começando com # é um comentário. Quando alterar um arquivo de configuração, não delete as definições anteriores - - comente as linhas originais. Sempre insira um pequeno comentário descrevendo o que você fez.
7. O Linux é inerentemente multiusuário. Suas definições pessoais estão no diretório padrão de seu usuário que é /home/seu_código_de_login Muitas definições são mantidas em arquivos com nomes começando por um “.”(ponto) de forma a mante-los fora de seu caminho (veja item 3 acima).
8. Definições válidas para todo o sistema são mantida no diretório /etc .
9. Sob o Linux, como em muitos sistemas multiusuário, diretórios e arquivos tem um dono e um conjunto de permissões. Você tipicamente terá permissão para gravar somente no seu diretório padrão que é /home/seu_código_de_login. Apreenda a usar as permissões de arquivos caso contrario você será constantemente incomodado no uso do Linux.
10. As opções de comandos se iniciam com um hífen "-", seguido por uma simples letra (ou - - quando a opção tem mais de uma letra). Dai que o "-" é um equivalente ao "/" no DOS. Por exemplo, tente rm --help
11. Digite comando& (o nome do comando seguido por um &) para executar um comando em segundo plano. Esta é usualmente a maneira preferida de se iniciar um programa em um terminal X-windows.

5.1 Atalhos essenciais de teclado em Linux e comandos de verificação

<Ctrl><Alt><F1>
Muda a tela para o primeiro terminal texto. Sob Linux você pode ter vários (6 na definição padrão) terminais abertos ao mesmo tempo. Este é um atalho de teclado que significa: "pressione a tecla Control e a tecla Alt, segure-as. Agora pressione a tecla <F1> e solte todas elas.

<Ctrl><Alt><Fn>  (n=1..6)
Muda a tela para o terminal texto numero n. (O mesmo poderia ser feito com o comando raramente usado chvt n.  "chvt" significa "change virtual terminal[mude o terminal virtual]").

tty
Mostra o nome do terminal no qual você está digitando este comando. O numero do terminal ativo pode ser mostrado usando o comando fgconsole.

<Ctrl><Alt><F7>
Muda a tela para o primeiro terminal gráfico (se o X-windows estiver sendo executado neste terminal).

 <Ctrl><Alt><Fn>  (n=7..12)
Muda a tela para o terminal gráfico n (se um terminal gráfico estiver sendo executado na tela n - 1). Por default, o primeiro servidor X roda no terminal 7.  Por default, nada roda nos terminais 8 a 12--você pode executar servidores X subsequentes ali.

 <Tab>
(Em um terminal texto) Completa automaticamente o comando se há somente uma opção ou, em caso contrário, mostra todas as opções disponíveis. ESTE ATALHO É MUITO LEGAL! Ele funciona até no prompt do LILO!

 <Seta para cima>
(Em um terminal texto) Varre, mostra e edita o histórico de comandos. Pressione <Enter> para executar.

 <Shift><PgUp>
Mostra telas anteriores. Isto funciona também no prompt de login, assim você pode navegar através das mensagens de inicialização (boot). A quantidade/uso de sua memória de vídeo determina a distancia que você pode chegar nas paginas anteriores.

 <Shift><PgDown>
Mostra telas a frente, depois de você ter usado o atalho anterior.

 <Ctrl><Alt><+>
(em X-windows) Muda para próxima resolução do servidor X (se você configurou o servidor X com mais de uma resolução). Para múltiplas resoluções em meu monitor/placa SVGA padrão, eu tenho a seguinte linha no arquivo /etc/X11/XF86Config (a primeira resolução é a inicial, a maior resolução determina o tamanho da “tela virtual”):
Modes "1024x768" "800x600" "640x480" "512x384" "480x300" "400x300" "1152x864"Z
Naturalmente, primeiro eu tenho de configurar o servidor X, ou usando o Xconfigurator, xf86config, ou manualmente editando o arquivo /etc/X11/XF86Config, de forma que ele suporte as resoluções acima (na maior parte é uma questão de descomentar a linha que define o chipset de meu vídeo, e especificar as freqüências de sincronização que meu monitor suporta).  XFdrake (utilitário de configuração do Mandrake) pode faze-lo a partir da interface gráfica. Veja também os comandos xvidtune e xvidgen.

<Ctrl><Alt><->
(em X-windows) Muda a resolução do servidor X para a resolução anterior.

<Ctrl><Alt><Esc>
(em X-windows, KDE) Fecha a janela na qual vou posicionar e clicar o mouse (o ponteiro do mouse se transforma em algo parecido como o símbolo da morte). Resultado similar pode ser obtido com o comando xkill (executado em um terminal X).  Útil quando um programa rodando no ambiente X não pode ser finalizado(travado?).

<Ctrl><Alt><BkSpc>
(em X-windows) Termina o servidor X corrente. Use se o servidor X não pode ser terminado normalmente.

<Ctrl><Alt><Del>
Sai do sistema e reinicializa a maquina. Este é comando normal para encerramento do sistema(shutdown) na console em modo texto. Não use o botão “reset” para fazer isto!

<Ctrl>c
Fecha o processo corrente(funciona na maioria das vezes em aplicações em modo texto).

<Ctrl>d
(pressionado no inicio de uma linha vazia) Fecha a sessão corrente de terminal. Veja também o próximo comando.

<Ctrl>d
Envia [End-of-File] para o processo corrente. Não pressione-o duas vezes senão você estará fazendo logout(veja o comando anterior).

<Ctrl>s
Interrompe a transferencia de dados para o terminal.

<Ctrl>q
Reinicia a transferencia de dados para o terminal. Tente isto se seu terminal misteriosamente parar de responder.

<Ctrl>z
Envia o processo corrente para segundo plano.

exit
Executa logout. Também posso usar o comando logout para obter o mesmo efeito.  (Se você executou um segundo shell, por exemplo, usando bash, você voltará para o primeiro shell encerrando o segundo.)

reset
Restaura um terminal desconfigurado(mostrando caracteres estranhos) para a configuração normal. Use-o caso tenha usado o comando "cat" sobre um arquivo binário. Você pode não ser capaz de ver o comando quando você o digitar.

<Botão central do mouse>
Cola o texto que foi selecionado em algum lugar. Esta é a operação normal de copiar-e-colar em Linux. (Ela não funciona com Netscape e WordPerfect que usam o estilo Windows de copiar-e-colar. Ele funciona em um terminal texto se você habilitar o serviço "gpm" usando o comando "setup".) É melhor utilizado com um mouse de 3 botões (Logitech ou similar) ou usando a emulação de mouse de 3 botões").

~
(til) Meu diretório padrão (diretório padrão, normalmente o diretório /home/meu_nome_de_login). Por exemplo, o comando cd ~/meu_diretório irá alterar o diretório corrente para o diretório "meu_diretório" sob o meu diretório padrão(home)  Digitando-se apenas ust "cd" é um equivalente ao comando "cd ~".

.
(ponto) Diretório corrente. Por exemplo, ./meu_programa tentará executar o arquivo 'meu_programa' localizado em seu diretório corrente.

..
(sequência de dois pontos) Diretório pai do diretório corrente. Por exemplo, o comando cd .. irá alterar o meu diretório corrente para um nível acima.

<Alt><SysRq><tecla_de_comando>
(Não essencial.) Esta é uma combinação de grupo de teclas implementada a nível do kernel linux(baixo nível). Isto significa que estas combinações de teclas funcionarão na maioria das vezes. As combinações tem o propósito de depuração e em uma emergência, você deveria tentar outras soluções mais seguras antes. A tecla <SysRq> é também conhecida no PC como <PrintScreen>. A combinação pode ser habilitada/desabilitada atribuindo o valor 1 ou 0 a variável relevante no kernel, por exemplo : echo "1" > /proc/sys/kernel/sysrq
<Alt><SysRq><k>  Fecha todos os processos(incluindo o servidor X) que estão rodando na console virtual correntemente ativa.  Esta combinação de teclas é conhecida como "tecla de acesso seguro(secure access key)" (SAK).
<Alt><SysRq><e>  Envia o sinal TERM para todos os processos em execução, exceto o processo init, solicitando-os que sejam fechados.
<Alt><SysRq><i>  Envia o sinal KILL para todos os processos em execução, exceto o processo init. Isto pode ter mais sucesso em fechar processos do que a combinação anterior, mas pode fazer com que alguns deles terminem anormalmente.
<Alt><SysRq><l> Envia o sinal KILL para todos os processos, inclusive ao processo init. O sistema deixará de estar funcional.
<Alt><SysRq><s>  Executa um sync(gravação dos buffers em disco) de emergência em todos os sistemas de arquivos montados. Isto pode evitar perda de dados.
<Alt><SysRq><u>  Remonta todos os sistemas de arquivos atualmente montados como leitura-somente. Isto tem o mesmo efeito que a combinação de sync acima, mas com um beneficio importante: se a operação tiver sucesso, fsck não terá que verificar todos os sistemas de arquivo depois de um reset de hardware do computador.
<Alt><SysRq><r>  Desliga o modo direto do teclado. Isto pode ser útil quando sua sessão X trava. Depois de dar o comando você será capaz de usar <CTRL><ALT><DEL>.
<Alt><SysRq><b>  Reinicia imediatamente a maquina sem fazer a gravação dos buffers ou desmontagem dos sistemas de arquivos. Você provavelmente terminará o sistema com erros nos sistemas de arquivos.
<Alt><SysRq><o>   Fecha o sistema(se estiver configurado e for suportado).
<Alt><SysRq><p>   Mostra o conteúdo dos registradores e flags(indicadores) em sua console.
<Alt><SysRq><t>   Mostra uma lista de tarefas correntes e informações sobre elas em sua console.
<Alt><SysRq><m>   Mostra informações da memória em sua console.
<Alt>SysRq><digito>   O dígito é '0' a '9'. Define o nível de exibição, controlando quais mensagens do kernel serão exibidas em sua console. Por exemplo, '0' fará com que somente mensagens de emergência como PANICs ou OOPSes sejam mostradas em sua console.
<Alt><SysRq><h>    Mostra a ajuda(help). Qualquer outra combinação não suportadas <Alt><SysRq><key> mostrará a mesma ajuda.

5.2 Comandos de ajuda

qualquer_comando --help |more
Mostra uma breve explanação de um comando (funciona com a maioria dos comandos).  Por exemplo, tente cp --help |more. " --help" funciona de maneira similar a chave "/h" no ambiente DOS. O "more" torna-se necessário quando a saída a ser exibida tem tamanho maior que a tela.

man tópico
Mostra o conteúdo das paginas de manual para aquele tópico. Pressione "q" para sair do visualizador. Execute man man se você precisa de opções mais avançadas.  O comando info tópico funciona de maneira similar ao man tópico, ele contem informações mais atualizadas. As paginas de manuais podem ser menos confortáveis de serem lidas - - elas foram escritas para programadores UNIX. Execute qualquer_comando --help para uma ajuda mais breve e mais fácil de ser digerida sobre um comando. Alguns programas também vem com um arquivo de informação README ou outros--dê uma olhada no diretório /usr/share/doc. Para mostrar paginas de manuais de uma seção específica, posso usar algo como: man 3 exit (isto mostra uma informação sobre o comando exit da seção 4 das paginas de manual) ou man -a exit (isto mostra as paginas de manual do comando exit para todas as seções).  As seções man são:  Seção 1-Comandos do Usuário, Seção 2-Chamadas ao sistema, Seção 3-Sub-rotinas, Seção 4-Dispositivos, Seção 5-Formatos de arquivos, Seção 6-Jogos, Seção 7-Seção variada, Seção 8-Administração do sistema, Seção 10, Seção n - Nova.  Para imprimir uma pagina de manual, use:  man tópico | col -b | lpr  (a opção col -b remove os caracteres de retrocesso(backspace) ou outros caracteres que poderiam tornar a leitura da pagina de manual impressa difícil de ser lida).

info tópico
Mostra o conteúdo de informações sobre um comando em particular, info é uma substituição das paginas man porisso ela contem as atualizações mais recentes da documentação do sistema. Use a tecla <Espaço> e <BkSpace> para se movimentar nas paginas ou você poderá ficar confuso. Pressione "q" para sair.  Uma substituição para a navegação algo confusa do sistema info pode ser pinfo - tente executa-lo se você preferir algo melhor.

apropos tópico
Fornece uma lista dos comandos que tenham alguma coisa a ver com o tópico.

whatis topic
Fornece uma curta lista dos comandos que causam com o tópico. whatis é similar ao comando apropos (veja o comando anterior)--ambos usam o mesmo banco de dados. Mas whatis pesquisa por palavras chaves, enquanto apropos também pesquisa as descrições que contenham as palavras chaves.

help comando
Mostra uma breve informação sobre o comando embutido do shell bash. Usando help sem nenhum comando mostra a lista de comandos embutidos do bash. A menor lista de comandos embutidos do bash provavelmente incluiria: alias, bg, cd, echo, exit, export, fg, help, history, jobs, kill, logout, pwd, set, source, ulimit, umask, unalias, unset.

kdehelp
(no terminal X). Navegação através do sistema inteiro de ajuda usando o navegador de ajuda KDE. Normalmente, a ajuda KDE é chamada clicando no ícone apropriado do painel de controle KDE.  Use gnome-help-browser para o equivalente no GNOME.

5.3 Informação sobre o sistema

pwd
Mostra o diretório corrente,

hostname
Mostra o nome do host local(a maquina na qual estou trabalhando). Use netconf (como root) para modificar o nome da maquina.

whoami
Mostra meu nome de login.

id nomedeusuarios
Mostra a identificação do usuário (user id ou uid) e o grupo de identificação (group id ou gid), a identificação efetiva(effective id, é diferente do id real) e os grupos suplementares.

date
Mostra ou altera a data e hora do sistema. Por exemplo, eu poderia mudar a data e hora para 2000-12-31 23:57 usando este comando:
date 123123572000
Para ajustar o relógio de hardware (BIOS) a partir do relógio do sistema (Linux) use o comando (como root) setclock

time
Determina a quantidade de tempo consumida durante a execução de um determinado comando mais outras informações. Não o confunda com o comando date (veja comando anterior). Por exemplo, eu posso determinar quanto tempo é gasto para mostrar o conteúdo de um diretório usando:
time ls

clock
hwclock
(dois comandos, use um ou outro). Obtém a data/hora do relógio do hardware(tempo real, alimentado pela bateria). Você pode também usar um destes comandos para ajustar o relógio do hardware, mas setclock pode ser mais simples (veja os 2 comandos anteriores).

who
Mostra os usuários logados na máquina.

w
Mostra quem está logado no sistema, determina o que eles estão fazendo, o tempo de uso do processador, etc... Bom comando de segurança.

rwho -a
(=remote who) Mostra usuários logados em outros computadores em sua rede. O serviço rwho deve estar habilitado para este comando rodar. Se não estiver execute o comando setup (específico de RedHat) como root para habilitar "rwho".

finger nome-de-usuário
Mostra informações do sistema sobre um usuário. Execute finger root . Pode-se usar finger com qualquer outro computador em rede que exponha o serviço finger para o mundo, exemplo, execute: finger @finger.kernel.org.

last
Mostra uma listagem dos últimos usuários que se logaram no sistema. Realmente uma boa idéia checa-lo de vez em quando como uma medida de segurança em seu sistema.

lastb
("=last bad") Mostra a ultima tentativa de login não bem sucedida no sistema. Ela não funcionou em meu sistema, consegui inicia-la com :
touch /var/log/btmp

"Há uma boa razão por que /var/log/btmp não esteja disponível em qualquer configuração segura - ele é um arquivo de leitura não restrita contendo os erros de login. Como um dos erros mais comum de login é digitar a password ao invés de nome do usuário, /var/log/btmp é um presente para os crackers." (Obrigado a Bruce Richardson).  Parece que o problema é solucionado alterando-se as permissões do arquivo de forma que somente o root possa usar "lastb":
chmod  o-r /var/log/btmp

history | more
Mostra os últimos (1000 ou algo assim) comandos executados na linha de comando na conta corrente. O "| more" faz com que a exibição se interrompa após o preenchimento da tela. Para ver o que um outro usuário estava fazendo em seu sistema, faça login como root e veja o arquivo "history" do usuário.  O history é mantido no arquivo .bash_history no diretório padrão do usuário (por isso, sim, ele pode ser modificado ou apagado).

uptime
Mostra a quantidade de tempo decorrido desde o último reboot.

ps
(="print status(mostre status)" ou "process status(status de processos)") Lista os processos correntes executados pelo usuário corrente.

ps axu | more
Lista todos os processos em execução, mesmo aqueles não ligados a nenhum terminal, junto com o nome do usuário, dono de cada processo.

top
Mantém permanentemente uma listagem atualizada dos processos em execução, classificados pelo uso de cpu(os maiores primeiros). Para sair pressione <Ctrl>c ou “q”.

PID = process identification(identificação do processo).
USER= nome do usuário que possui(iniciou?) o processo.
PRI=prioridade do processo(quanto maior o numero, menor a prioridade, normal 0, a maior é -20, a menor é 20.
NI=nível de reescalonamento de prioridade(niceness level) (isto é, se o processo tenta ajustar sua prioridade para o número dado/).
SIZE=kilobytes de código+dados+stack gastos em memória pelo processador.
RSS=kilobytes de memória física gastos.
SHARE=kilobytes de memória compartilhada com outros processos.
STAT=estado do processo : S-sleeping(dormindo), R-running(rodando), T-(parado ou em trace), D-uniterruptable sleep(sono não interrompível), Z=zumbi.
%CPU=ocupação da cpu(desde a última atualização da tela).
%MEM=ocupação de memória física.
TIME=tempo total de CPU usado pelo processador(desde quando foi iniciado).
COMMAND=linha de comando usada para iniciar a tarefa(cuidado com passwords, etc, na linha cde comando, todos os usuários autorizados a executarem o comado top a verão!

gtop
ktop
(no terminal X) Duas escolhas gráficas para o comando top. A minha favorita é gtop (vem com o gnome). No KDE, ktop está também disponível a partir do menu K, sob "System"-"Task Manager(Gerenciador de Tarefas)".

uname -a
(= "nome do Unix " com opção "todas(all)") Informação sobre o seu servidor local. Pode-se usar também guname (em um terminal X_window ) para mostrar a mesma informação de maneira mais agradável.

cat /etc/issue
Verifica qual distribuição você está usando. Você pode colocar sua própria mensagem neste arquivo testo - - ele é mostrado quando se faz login. É mais comum colocar as informações especificas de seu site no arquivo /etc/motd ("motd"="message of the day[mensagem do dia]").

free
Informação sobre memória (em kilobytes).  "Shared[compartilhada]" é a memória que pode ser compartilhada entre processos(por exemplo, o código executável é compartilhado). "Buffered(buferizada)" e "cashed[em cache]" é a quantidade que mantém partes dos arquivos mais recentemente acessados - - ela pode ser reduzida se mais memória for requerida pelos processos em execução.

df -h
(=disk free[espaço livre em disco]) Exibe informação de discos de todos os sistemas de arquivos(em forma legível).

du / -bh | more
(=disk usage[uso do disco]) Exibe o uso detalhado de disco em cada subdiretório começando pelo diretório raiz (“/ “) em um formato legível).

cat /proc/cpuinfo
Informação de cpu - - mostra o conteúdo do arquivo cpuinfo. Observe que os arquivos no diretório /proc não são arquivos reais - - eles são ganchos para informações disponíveis no kernel.

cat /proc/interrupts
Lista as interrupções de hardware em uso.  As vezes é necessário saber antes de configurar um novo hardware.

cat /proc/version
Versão do linux e outras informações.

cat /proc/filesystems
Mostra os tipos de sistemas de arquivos em uso.

cat /etc/printcap |more
Mostra a configuração das impressoras.

lsmod
(= "list modules". Como root. Use /sbin/lsmod para executar este comando quando você for um usuário não-root.) Mostra os módulos do kernel correntemente carregados.

set|more
Mostra o ambiente do usuário corrente(completo).

echo $PATH
Mostra o conteúdo da variável de ambiente "PATH". Este comando pode ser usado para mostrar outras variáveis de ambiente. Use o comando set para ver o ambiente completo(veja o comando anterior).

dmesg | less
Mostra as mensagens do kernel (o conteúdo do chamado buffer em anel do kernel). Pressione “q” para sair do less. Use less /var/log/dmesg  para ver o que “dmesg" jogou para dentro deste arquivo depois do último boot.

chage -l meu_nome_de_login
Ver informações sobre a expiração de minha password.

quota
Ver minha quota de disco(limites sobre o uso do disco).

sysctl -a |more
Mostra todos os parâmetros configuráveis do Linux.

stat filename
Exibe informações gerais a respeito de um arquivo(o conteúdo do inode).

runlevel
Exibe o nível de execução(runlevel) anterior e corrente.  A saída "N5" significa: "nenhum runlevel anterior" e "5” é o runlevel corrente".

Runlevel é o modo de operação do Linux. O runlevel pode ser trocado a qualquer momento pelo comando init. Por exemplo, init 3 (como root) irá alterar o runlevel para o nível 3. Os seguintes runlevel são padronizados:
     0 - halt (Não estabeleça o initdefault para este nível)
     1 - Modo monousuario
     2 - Modo multiusuario, sem NFS (O mesmo que o nível 3, se você não tem ambiente de rede)
     3 - Modo multiusuario completo
     4 - não usado
     5 - X11
     6 - reboot (Não use este nível como initdefault)
O runlevel padrão está definido no arquivo : /etc/inittab .

5.4 Operações básicas

ls
dir
Lista o conteúdo do diretório corrente O comando dir é um alias para o comando ls de forma que estes comandos fazem exatamente a mesma coisa. A listagem dos arquivos é normalmente codificada por cores: azul escuro= diretórios, cinza leve= arquivos normais, verde= arquivos executáveis, violeta = arquivos gráficos, vermelho= arquivos comprimidos, azul claro = links simbólicos, amarelo = arquivos de dispositivos, marrom = FIFO ("First-In First-Out" named pipes[nomes de canalizações do tipo Primeiro a entrar, primeiro a sair).

ls -al |more
Lista o conteúdo do diretório corrente, todos os arquivos(incluindo aqueles começando com um ponto), e em um formato mais longo. A saída é canalizada para o comando "more", de forma que a exibição seja interrompida quando a tela ficar cheia/ O comando ls tem diversas opções úteis. Algumas delas tem atalhos (aliases) para evitar uma digitação complicada. Execute ll (="long ls[ls longo]", um alias para ls -l). Uma outra opção que uso frequentemente é ls -ad (lista todos os subdiretórios em meu diretório corrente, mas não lista seus conteúdos).

cd diretório
Muda o diretório corrente. Usando-se "cd" sem o nome do diretório fará com que seu diretório corrente seja o seu diretório padrão, "cd - " fará com que seu diretório corrente seja o diretório onde você estava anteriormente e é uma maneira conveniente de se alternar entre dois diretórios, "cd .." fará com que seu diretório corrente seja o diretório exatamente superior ao que você se encontra( muito útil).

./nome_do_programa
Roda um executável no diretório corrente. Os caracteres ./ são necessários quando o executável não está no PATH. Os executáveis que estão sem seu PATH simplesmente são executados digitando-se o nome dos mesmos.

shutdown -h now
(como root) Encerra o sistema, colocando em um estado parado. É usado para shutdown (encerramento) remoto. Use <Ctrl><Alt><Del> para um shutdown na console(o qual pode ser feito por qualquer usuário).

halt
reboot
init 6
(como root, três comandos) Para ou reinicializa a máquina. Usado para shutdown remoto, mais simples de se digitar que o comando anterior, É também muito bom se o computador trava "hangs" (quando perco controle sobre o teclado)--A partir de uma outra maquina faço telnet para esta maquina travada remotamente a reinicializo. Eu uso <Ctrl><Alt><Del> para um shutdown normal na console de um computador local.

vlock
(Não presente em versões anteriores do RedHat.)  Trava um terminal local(em modo texto). Posso também usar vlock -a para travar todos os terminais (provavelmente não 'e uma boa idéia). O melhor provavelmente é fazer um logout.  Você não usa vlock na interface gráfica--os gerenciadores de janelas vem com protetores de telas que somente são liberados por senha e um utilitário de tranca(por exemplo, o pequeno ícone com um cadeado no KDE).
 

5.5 Gerência de arquivos

cp fonte destino
Copia arquivos. Por exemplo, cp /home/stan/nome-de-arquivo-existente.  Copiará um arquivo para meu diretório corrente. Use a opção "-R"(que significa "recursivo") para copiar o conteúdo inteiro de arvores de diretórios, por exemplo, cp -R meu_diretório_existente/ ~(caracter til)  copiará um subdiretório sob meu diretório corrente para meu diretório padrão.

mcopy fonte destino
Copia um arquivo de um sistema de arquivos DOS(nenhuma montagem do sistema de arquivos DOS é necessária). Por exemplo, mcopy a:\autoexec.bat ~/junk.  Veja man mtools para outros comandos que podem ter acesso a arquivos DOS sem montagem do sistema de arquivos: mdir, mcd, mren, mmove, mdel, mmd, mrd, mformat ....  Nós não usamos os comandos mtool frequentemente --operações em arquivos DOS/MS Windows podem ser executadas usando comandos regulares do Linux depois que você monta o sistema de arquivos DOS/MS Windows.

mv fonte destino
Move ou renomeia arquivos. O mesmo comando é usado para mover e renomear arquivos e diretórios.

rename string string_de_substituição nome_de_arquivo
Utilitário flexível par trocar partes de nomes de arquivos. Por exemplo, :
rename .htm .html *.htm

ln fonte destino
Cria um hard link chamado destino para o arquivo chamado source. O link aparece como uma cópia do arquivo original, mas na realidade somente uma copia do arquivo é mantida, apenas duas ou mais entradas de diretórios apontam para ela. Quaisquer alterações na copia original são automaticamente visíveis usando-se as entradas. Quando uma entrada de diretório é removida a outra fica intacta. A limitação dos hard links são: os arquivos tem que estar no mesmo sistema de arquivos, hard links para diretórios ou arquivos especiais são impossíveis.

ln -s fonte destino
Cria um link simbólico chamado "destino" para o arquivo chamado "fonte". O link simbólico especifica um caminho onde procurar pelo arquivo real. Em distinção aos hard links, a fonte e destino não tem que estar no mesmo sistema de arquivos. Em comparação aos hard links , o problema dos links simbólicos são : se o arquivo original é removido, o link fica “quebrado” - - aponta para lugar nenhum; os links simbólicos podem criar referencias circulares(tal como referencias circulares em planilhas ou banco de dados, por exemplo, "a" aponta para "b" e "b" aponta de volta para "a").  Em resumo, links simbólicos são uma grande ferramenta e são usados muito frequentemente (mais que is hard links), mas eles podem criar um nível extra de complexidade.

rm arquivos
Remove (deleta) arquivos. Você deve ser o dono do arquivo para ser capaz de deleta-lo(ou ser root). Em muitos sistemas será pedida uma confirmação de deleção, se você não quiser isto use o flag -f" (=forcar), por exemplo, rm -f *  removerá todos os arquivos e,m meu diretório corrente, nenhuma confirmação será solicitada.

mkdir directory
Cria um novo diretório.

rmdir directory
Remove um diretório vazio.

rm -r files
(remoção recursiva) Remove arquivos, diretórios, e seus subdiretórios. Seja cuidadoso com este comando sob root - - você pode facilmente remover arquivos do sistema com um comando executado no topo da arvore de diretórios, e não existe undelete no Linux(ainda). Mas se você realmente o quer(reconsidere), eis como (como root):
rm -rf /*

rm -rf arquivos
(remoção forçada e recursiva). Tal como acima, mas elimina o prompt para confirmação. se um estiver definido em seu sistema. Seja cuidadoso com este comando particularmente como root--veja o comando acima.

mc
Executa o gerenciador de arquivos "Midnight Commander" (parece como um "Norton Commander" para Linux).

konqueror &
(no terminal X) Executa o gerenciador de arquivos KDE. Talvez este seja o estado da arte em gerência de arquivos. Muito melhor que o MS "Windows Explorer".  Ele tem embutido a navegação web, visualização de arquivos pdf, e muito mais. Realmente ótimo.

xwc
(no terminal X). Um outro gerenciador de arquivos (chamado "X Win Commander"). Mais rápido que o konqueror, mas que não contem tantos recursos.

5.6 visualizando e editando arquivos

cat nome_de _arquivo | more
Visualiza o conteúdo do arquivo chamado "nome_de_arquivo”, uma pagina de cada vez. O "|" é o símbolo de canalização (em muitos teclados americanos ele está na mesma tecla que o "\"). more faz com que a saída no vídeo seja interrompida a cada vez que a tela ficar cheia. Para arquivos maiores, algumas vezes é conveniente usar os comandos head e tail que mostram o inicio e o fim do arquivo. Se acontecer de você usar cat em um arquivo binário e seu terminal começar a mostrar caracteres malucos, você pode restaurar o terminal com o comando reset.

cat filename | less
less filename
(dois comandos, use um deles) Permite a navegação através do conteúdo de um arquivo texto. Pressione q quando terminar. O comando "less" é quase que equivalente ao comando "more" , o mesmo que você conhece do DOS, mas frequentemente o comando "less" é mais conveniente que o "more".

head filename
Mostra as 10 primeiras linhas de um arquivo texto(longo).

tail filename
Mostra as 10 primeiras 10 linhas de um arquivo texto longo ou em crescimento. Use tail -f nome_do_arquivo para que o comando tail mostre o arquivo a medida em que ele cresce - - realmente muito bom para inspeção continua de arquivos de log.

pico filename
Edita um arquivo texto usando o editor de texto simples e padrão chamado pico.  Use <Ctrl>x para sair.  Existem muitos editores de texto para Linux incluindo alguns baseados em interface gráfica. Um outro, novo em folha, derivado do pico(licença GPL) é o nano.

pico -w filename
Edita um arquivo texto, desabilitando a quebra de linhas longas. Ótimo para edição de arquivos de configuração, por exemplo, /etc/fstab.

kwrite
(no terminal X) Muito legal, “editor de textos avançado". Suporta seleção de texto vertical!

kedit
gedit
(no terminal X). Editores de textos simples e de aparência legal.(baseados em interface gráfica).

gxedit
(no terminal X) Um outro editor de textos de múltiplos propósitos e com vários recursos. Este tem até mesmo um backup de tempos em tempos.

latte
(no terminal X) editor de código, isto é, editor de textos para codificação de programas.

nedit
(no terminal X)  Um outro editor para programadores. Muito bonito.

bluefish
(no terminal X) editor html (fonte com salientador de sintaxe e muitas ferramentas e opções).

ispell nome_de_arquivo
Verifica a ortografia de um arquivo texto ASCII.  AbiWord, WordPerfect, StarOffice e outros processadores de palavras vem com um destes “verificadores” que atuam a medida em que você digita, assim você não tem que se preocupar com o simples ispell a menos que você precise dele. Distribuições mais recentes do Linux(por exemplo, RH7.0) contem um modulo melhorado de verificação de ortografia chamado aspell, mesmo assim o comando acima continuará também funcionando.

look thermo
Pesquisa o dicionário de seu sistema(/usr/share/dict/words) por palavras que se iniciam com "thermo".

touch nome_de_arquivo
Muda o selo de data e hora do arquivo para o momento corrente. Cria um arquivo vazio caso ele não exista.

wvHtml documento.word.doc > nome_de_arquivo.html
Converte um documento MS Word para o formato html.

5.7 Encontrando arquivos

find / -name "nome_do_arquivo"
Encontra o arquivo informado em seu sistema de arquivos iniciando a procura pelo diretório raiz "/". O “nome_do_arquivo” pode conter coringas (*,?).

O comando find é muito poderoso. Ele tem muitas opções que permitirão que você pesquise por arquivos das mais variadas formas, por exemplo, por data, permissões, donos, .... Algumas pesquisas podem tomar mais que um minuto para serem compostas. Veja info find. Eis alguns exemplos mais complexos para se usar o find para executar algumas tarefas úteis.
find $HOME -name core -exec rm -f {} \;
O comando acima encontra os arquivos de nome "core", a partir de seu diretório padrão.  Para cada arquivo encontrado ele executa a ação "rm -f" (deleção forçada do arquivo). O {} significa o arquivo encontrado e o "\" termina a lista do comando.
find /dev -user "peter" |more
O comando acima exibe o nome de arquivo de todos os dispositivos possuídos por "peter". Exibição do nome do arquivo é a ação padrão do comando fiod, assim ele não tem que ser especificado se isto é tudo o que eu preciso.
find /home/peter -nouser -exec ls -l {} \; -ok chown peter.peter {} \;
Encontra arquivos sem um proprietário valido no diretório no diretório Exibe o arquivo em um formato longo. A seguir, aguarda que informemos a mudança do proprietário para peter e do grupo para peter. Você provavelmente precisará ser root para alterar a propriedade de um arquivo


locate nome_do_arquivo
Encontra o nome do arquivo que contém o string "nome_do_arquivo". Mais fácil e mais rápido que o comando anterior mas depende de um banco de dados que normalmente é reconstruído a noite.

which nome_do_executável
Mostra o caminho completo até o executável que seria executado se o nome dele fosse digitado na linha de comando. Por exemplo, este comando:
which netscape
no meu sistema dá o seguinte resultado:
/usr/bin/netscape

whereis comando
Exibe os locais onde se encontram os arquivos executável, o fonte e paginas de manuais do comando "comando".

rgrep -r 'celeste'  . |more
Pesquisa todos os arquivos no diretório corrente e em todos os seus subdiretórios. (a opção "-r" significa “ “recursivo") que contenham o string "celeste". Exibe o nome do arquivo e a linha no arquivo que contém o string procurado.

kfind &
(no terminal X). Uma interface gráfica para os comandos find e grep. Muito legal.  O caracter & no fim do comando faz com que kfind rode em segundo plano de forma que o terminal X continue disponível.

5.8 X-windows básico.

xinit
Inicia um servidor X-Windows puro (sem um gerenciador de janelas).

startx
Inicial um servidor X-windows e o gerenciador de janelas padrão. Funciona como “win” no DOS com Windows 3.1

startx -- :1
Inicia um outro servidor no display 1 (o padrão é aberto no display 0). Você pode ter diversos terminais gráficos rodando concorrentemente. Você pode alternar entre eles usando <Ctrl><Alt><F7>, <Ctrl><Alt><F8>, etc.

xterm
(no terminal X) Executa um terminal X.  Digitando exit fará com que ele seja fechado.  Existem outros terminais virtuais X mais avançados para W-windows. Eu gosto dos populares: konsole e kvt (ambos vem com o kde) e gnome-terminal (vem com o gnome).  Se você precisa de algo realmente sofisticado tente o Eterm.

startkde
gnome-session
xfce
afterstep
AnotherLevel
fvwm2
fvwm
(no terminal X, 7 comandos diferentes, use aquele que inicia o seu gerenciador de janelas favorito). Inicia o seu gerenciador de janelas favorito em um terminal X em um servidor X puro.

5.9 Aplicações de rede

netscape &
(no terminal X) Executa o netscape.  Eu atualmente (Marco 2001) rodo o Netscape 4.75 e ele é bem legal.  Algumas versões anteriores de Netscape eram conhecidas por conterem alguns bugs: eles ocasionalmente sofriam um crash onde o usuário perdia o contato com ele (nenhum outro problema acontecia), quando não estava conectado a rede , eles se recusavam a fazer qualquer coisa(parecia que estavam travados) revivendo quando alguma conexão a rede era estabelecida.  O Mozilla é uma substituição moderna para o Netscape, mas ele ainda não está completamente pronto, (é utilizável, requer sua própria instalação).  O konqueror pode ser uma boa alternativa se o Netscape não satisfaz as suas necessidades.

netscape -display host:0.0 &
(no terminal X) Executa o netscape na máquina corrente e dirige a saída para máquina chamada "host" no display 0 e tela 0. Sua máquina deve ter permissão para enviar a saída para a máquina "host" (esta permissão é dada executando-se o comando xhost nome_da_maq_local em um terminal X da maquina host. Outros programas X-windows podem também ser executados remotamente da mesma forma.

lynx file.html
Visualiza um arquivo html ou navega pela rede em modo texto. Embora o lynx possa ser conveniente ele não é tão bom quanto um browser gráfico, ele é leve, quase sempre funciona, e não requer nenhuma configuração desde que a rede esteja funcionando.

konqueror &
(no terminal X) Gerenciador de arquivos e browser em um só. Muito legal. Melhor que o netscape de varias formas. Vem com o KDE.

pine
Um bom leitor de correios em modo texto. Um outro bom leitor padrão é o elm. Seu Netscape mail lerá os correios de sua conta Internet, . pine permitirá que você leia o correio local, por exemplo, o correio que seu filho ou processos cron enviem para você a partir de um computador em sua rede domestica. O comando mail pode também ser usado para leitura e redação de correio mas ele é um pouco inconveniente - - ele é dirigido para ser usado em scripts para automação.

mutt
Um leitor de correios bem básico mas extremamente útil e rápido.

mail
Uma ferramenta básica do sistema operacional para correios. Veja os comandos anteriores para um melhor leitor de correios. mail é bom se você quiser enviar um correio a partir de um shell script.

kmail &
(no terminal X) É um bonito programa gráfico para correios. Eu uso kmail, ele é muito melhor que o netscape mail. Eu posso ter múltiplas contas e recuperar os correios a partir do servidor smtp(local) e servidores pop3(de seu provedor de acesso) para a mesma caixa de correio. Simples e elegante. Suporta assinatura digital.

licq &
(no terminal X) É um cliente padrão icq para mensagens instantâneas. Uma outro bom é o kxicq. Distribuições mais antigas não tem um cliente icq instalado, você tem que fazer o download e o instalar.

knode &
(no terminal X) Executa meu leitor favorito de newsgroup (usenet). É muito melhor que o leitor embutido no netscape.

talk username1
Permite que você converse com um outro usuário correntemente logado em sua maquina (ou use "talk nome_de_usuario@nomedamaquina" para conversar com um usuário em um computador diferente) . Para aceitar o convite para a conversa, digite o comando "talk nomedosusuario2". Se alguém está tentando conversar com você e ele perturba o seu trabalho, você pode usar o comando "mesg n" para recusar as mensagens. Você pode usar o comando "who" ou "rwho" para determinar os usuários que estão correntemente logados.

telnet servidor
Conecta-se a uma outra maquina usando o protocolo TELNETl. Use um nome da maquina remota ou o endereço IP. Será solicitado a você o nome de login e a password --você deve ter uma conta na maquina remota para fazer o login. Telnet conectará você a uma outra máquina e permitirá que você a opere como se você estivesse sentado em frente a ela usando o teclado dela. Telnet não é muito seguro - - tudo o que você digita é enviado em texto aberto, inclusive sua password!

rlogin servidor
(=login remoto) Conecta sua maquina a uma outra maquina. O nome de login e password de sua sessão corrente é usado; se a conexão falhar uma password é solicitada a você.

rsh servidor
(=shell remoto) Uma outra forma de se conectar a uma máquina remota. O nome de login e a password de sua sessão corrente é utilizado ; se a conexão falha uma password é solicitada.

ssh servidor
(=shell seguro) Conecta-se a um servidor(login remoto) usando uma conexão segura. ssh é seguro porque ele verifica a identidade da pessoa que está se conectando, e criptografa toda a transferencia de dados sobre a rede usando o seu par de chaves publica e privada RSA.

Tanto o cliente como o servidor devem ter o serviço ssh (daemon) rodando. Eles estão normalmente disponíveis em versões Linux mais recentes(RH7.0). Antes de usar ssh, alguma configuração é necessária.  O usuário cria seu par de chaves RSA executando o comando ssh-keygen.  Este comando armazena a chave privada no arquivo $HOME/.ssh/identity e a chave publica no arquivo $HOME/.ssh/identity.pub no diretório padrão do usuário.  O usuário deve então copiar a identidade publica para $HOME/.ssh/authorized_keys no seu diretório padrão na máquina remota. Depois disto, o usuário pode fazer o login sem fornecer a senha. A forma mais conveniente de se usar a autenticação pode ser com um agente autenticador.  Veja man 1 ssh-agent para mais informações. Se a autenticação automática falha, o ssh solicita a password.  A password é enviada ao host remoto para verificação, entretanto, como as comunicações são criptografadas, a password não pode ser vista por que alguém que esteja escutando a rede.
From:  Benjamin Smith <bens@benjamindsmith.com> (editado por questões de espaço):
Eu recentemente consegui rodar o openssh 2.9.2p1, com a opção de login com password livre. Tive que fazer algumas coisas e elas não estavam em nenhum dos howtos que cobriam isto. Você gostaria da “mágica” que faz isto funcionar? Ei-la: : "o padrão é para chaves SSH2 e DSA, as quais você gera com 'ssh-keygen -d' e vai para ~/.ssh/id_dsa.pub, o qual você copiaria para .ssh/authorized_keys2" no host remoto. Use isto ao invés do arquivo “authorized_keys” de chaves autorizadas como informado nos howtos e VOILA! Funciona realmente.
 

ftp servidor
Conecta-se a um servidor ftp. (Existe também o ncftp que proporciona algumas características extras e gftp para o modo gráfico.) Ftp é bom para copiar arquivos para/de outras máquinas remotas. Tente o usuário "anonymous" se você não tem uma conta no servidor remoto. Depois de se conectar, use "?" para ver a lista de comandos ftp disponíveis.  Os comandos ftp essenciais são: ls (mostra os arquivos no sistema remoto), ASCII, binary (estabelece o modo de transferencia para texto(ascii) ou binário, é importante que você selecione o apropriado ), get (copia um arquivo do sistema remoto para o sistema local), mget (copia muitos arquivos de uma só vez), put (copia um arquivo do sistema local no sistema remoto), mput (copia muitos arquivos no sistema remoto de uma só vez), bye (desconecta). Para automação em um script você pode usar ncftpput e ncftpget, por exemplo:
ncftpput -u meu_usuário -p minha_password -a domínio_host_remoto dir_remoto *local.html
Para manter o espelhamento de diretórios ftp pode-se usar fmirror

wget -m http://sunsite.dk/linux-newbie
Copia arquivos de sites web. O exemplo acima usa a opção -m (=mirror) para recuperar um conjunto completo de arquivos do site master deste guia.

minicom
Emulação de terminal em porta serial. Ele se parece e trabalha como o programa "Procomm" ou "Telix". No mínimo, de muita utilidade para teste, e depuração de comunicação serial.

  1. rx
    Recebe arquivos usando o protocolo Zmodem, Ymodem, ou Xmodeml. Xmodem requer um nome de arquivo. Use rx --help para maiores informações. Quem ainda usa estes protocolos?

"Eu uso Zmodem regularmente. Eu tenho dois computadores rodando (SuSE) Linux, um laptop e um desktop. O desktop não tem acesso a internet. Assim, a fim de buscar arquivos que baixei de um computador para o outro, eu os envio via um cabo null-modem , usando Minicom e o protocolo Zmodem. Desta forma eu posso até conectar meu laptop do trabalho rodando Win2000 para minha maquina Linux usando Reflexion (um programa de emulação de terminal win32)"
(from  Berry Vos, B.Vos@getronics.com,  2001 08 28).

5.10 Descompactação de arquivos

tar -zxvf nomedearquivo.tar.gz
(=arquivador em fitas) Obtém os arquivos de um tarball comprimido (*.tar.gz ou *.tgz) que você tenha baixado da internet.

tar -xvf nomedearquivo.tar
Obtém os arquivos de um tarball não comprimido (*.tar).

tar czvpf /var/backups/meubackup.tar.gz /home
cd /; tar xzvpf /var/backups/meubackup.tar.gz '*/meuarquivo.rtf'
(como root) Cria um backup de /home em um arquivo comprimido. O segundo comando mostra como restaurar um arquivo do backup.

gunzip nomedearquivo.gz
Descompacta um arquivo compactado (*.gz" or *.z). Use gzip (também zip ou compress) se você quer compactar arquivos neste formato.

zcat nomedearquivo.gz | more
(=zip cat) Mostra o conteúdo de um arquivo compactado  Outros utilitários para operação em arquivos compactados sem que se faca primeiro a descompactacao estão também disponíveis: zless, zmore, zgrep, ...

bunzip2 nomedearquivo.bz2
(=big unzip) Descompacta um arquivo (*.bz2) compactado com o utilitário de compactacao bzip2. É usado para arquivos grandes.

unzip nomedearquivo.zip
Descompacta um arquivo (*.zip) compactado com um utilitários de compactacao compatível com PKZIP para DOS.

zip nomedearquivo.zip nomedearquivo1 nomedearquivo2
Compacta dois arquivos "nomedearquivo1" e "nomedearquivo2" em um arquivo backup chamado "nomedearquivo.zip".

unarj e nomedearquivo.arj
Extrai o conteúdo de um arquivo *.arj.

lha e filename.lha
Extrai o conteúdo de arquivo lharc.

uudecode -o arquivodesaida nomedearquivo
Decodifica um arquivo codificado com uuencode.  Arquivos codificados no formato uu-encoded são tipicamente usados para transferencia de arquivos não-textos em e-mails(uuencode transforma qualquer arquivo em um arquivo ASCII).

cat nomedearquivo | mimencode  -o nomedearquivo.mime
cat nomedearquivo.mime |mimencode -u -o nomedearquivo
(2 comandos) Codifica e decodifica um arquivo de/para o padrão de transferencia Internet orientado a correio de 7 bits de dados chamado "mime".  Em distribuições mais antigas, o comando que faz o trabalho (mimencode) é chamado mmencode.  Normalmente, você não tem que se preocupar com estes comandos, o seu software de correio faz as operações de codificação/decodificação de forma transparente.

ar -x meuarquivo.a arquivo1 arquivo2
(=archiver). Extrai os arquivos arquivo1 e arquivo2 de um arquivo chamado meuarquivo.a. O utilitário ar é na maioria das vezes usado para bibliotecas.

ark &
(no terminal X). Uma aplicação de backup gráfica (baseada em Qt). Talvez seja tudo que você precise para gerenciar seus arquivos compactados. Outra alternativa é gnozip.

5.11 Controle de processos

ps
(="print status[exiba status]" ou"process status[status de processo]") Mostra a lista de processos correntemente em execução com seus números de identificação de processos (PIDs). Use ps axu para ver todos os processos que estão rodando em seu computador (incluindo aqueles de outros usuários ou sem um terminal ao qual estejam associados), cada um com o nome de seu proprietário. Use "top" para mostrar continuamente a lista dos processos que estão rodando.

qualquer_comando &
Roda qualquer comando em segundo plano (o símbolo "&" significa “rode o comando precedente em segundo plano").  O número_da_tarefa é mostrado na tela de forma que você possa trazer o comando para o primeiro plano(veja abaixo) caso queira. Eu uso "&" frequentemente quando inicio um programa gráfico a partir de um terminal X.

jobs
Lista os processos iniciados em segundo plano e mostra seus números de tarefas.

fg número_da_tarefa
Traz um processo iniciado em segundo plano para o primeiro plano.

bg número_da_tarefa
Coloca um processo em segundo plano, como se ele tivesse sido iniciado com &. Isto reiniciará um processo de segundo plano que estava interrompido. O processo em primeiro plano pode frequentemente ser interrompido com <Ctrl>z.  Se você interrompeu ou jogou para segundo plano alguma tarefa você tem que digitar exit duas vezes para fazer o logout.

batch qualquer_comando
Roda qualquer comando (usualmente algum que vai demorar algum tempo) quando a carga do sistema estiver baixa. Mesmo que eu saia do sistema (logout) o processo continuará rodando.

at 17:00
Executa um comando em uma hora especificada. Você será questionado sobre qual programa a ser executado, até que você pressione <Ctrl>d.  Os comandos associados são atq (mostra a fila de processos iniciados com at) e atrm (remove um processo da fila do "at").

kill PID
Encerra um processo. Determine o PID do processo a ser encerrado usando ps.

killall nomedoprograma
Encerra um programa pelo nome. Por exemplo, killall pppd desconectará sua rede dialup.

nohup nomedoprograma
(=não termine ao fazer logout). Roda nomedoprograma de forma que ele não seja encerrado quando você sair do sistema(logout).  A saída é redirecionada para o arquivo nohup.out no seu diretório padrão. Você certamente não vai rodar um programa interativo usando r nohup.

xkill
(no terminal X) Fecha um programa gráfico com o mouse(Aponte com seu mouse a janela do processo a ser fechado e clique o botão esquerdo)

kpm
(no terminal X) Gerenciador de processo KDE.

lpc
(como root) Verifica e controla a(s) impressora(s). Digite "?" para ver a lista de comandos disponíveis.

lpq
Mostra o conteúdo da fila de impressão. Sob KDE (X-Windows), você pode usar o menu K-Utilitários-Fila de Impressão.

lprm numero-da-tarefa
Remove um trabalho de impressão da fila.

nice nomedoprograma
Roda o nomedoprograma ajustando sua prioridade. Como a prioridade não é especificada neste exemplo, o valor padrão(usualmente 0) será incrementado de 10(o processo rodará mais devagar). Quanto menor o número nice, maior a prioridade. O valor da prioridade está na faixa de -20 a 19. Somente o root pode especificar valores negativos. Use top para mostrar as prioridades dos processos em execução.

renice -18 PID
(como root) Altera a prioridade de um processo em execução para -18. Usuários normais(não root) somente podem ajustar a prioridade de processos dos quais eles são donos, e somente para diminuir a prioridade. Poderia-se também executar renice +10 -u peter para fazer com o usuário peter use menos ciclos de cpu de modo que outros usuários não sofram quando ele estiver rodando suas tarefas altamente consumidoras de recursos.

<Ctrl>c, <Ctrl>z, <Ctrl>s, e <Ctrl>q também pertencem a este capítulo mas elas foram descritas previamente. Em suma elas significam interromper o comando corrente, enviar o comando corrente para segundo plano, interromper a transferencia de dados, reiniciar a transferencia de dados.

lsof
Lista os arquivos abertos. Se eu sou root, todos os arquivos serão listados. Posso me limitar aos arquivos abertos por processos possuídos pela primeira console se eu usar lsof /dev/tty1 .  Para listar somente arquivos de rede(útil para uma auditoria de segurança) eu devo executar lsof -i (como root).

watch -n 60 meu_comando
Executa meu_comando a intervalos de 60 segundos(o intervalo padrão é 2 segundos).

5.12 Alguns comandos de administração

su
(=substitui o id de usuário) Assume a identidade do superusuario(=root) (a password será solicitada a você). Digite "exit" para voltar ao seu login anterior. Não trabalhe habitualmente em sua máquina como root. A conta de root é para tarefas administrativas e o comando su é para facilitar seu acesso a esta conta quando ela for necessária. Você pode também usar "su" para assumir a identidade de outros usuários, por exemplo, . su barbara me tornará o usuário "barbara" (a senha será solicitada a menos que seu seja root).

alias ls="ls --color=tty"
Cria um alias para o comando "ls" para melhorar seu formato com cor. Neste exemplo, o alias é também chamado "ls" e opção "color" é somente invocada quando a saída é feita para um terminal(não para arquivos). Coloque o alias no arquivo /etc/bashrc se você quer que o alias fique disponível para todos os usuários no sistema. Os aliases são uma forma fácil de se customizar o seu sistema. Digite "alias" sozinho para ver a lista de aliases para sua conta. Use unalias nome_do_alias para remover um alias.

cat /var/log/httpd/access_log
Mostra quem se conectou ao seu servidor apache web desde a ultima vez que ele foi “girado”(ação do comando rotate para salvamento e limpeza de logs, normalmente executado pelo cron uma vez ao dia). O arquivo de log anterior é is access_log.1, o mais imediatamente anterior é access_log.2, etc.

cat /var/log/secure
(como root) Inspeciona a log do sistema. É realmente uma boa idéia faze-lo de tempos em tempos se você usa acesso a internet.

ftpwho
(como root) Mostra quem está conectado ao seu servidor ftp.

printtool
(como root no terminal X) Ferramenta de configuração para sua(s) impressora(s).As definições estão no arquivo /etc/printcap e (estranhamente) em /var/spool/lpd.

setup
(como root) Configura o mouse, placa de som, teclado, X-windows, e serviços do sistema. Existem muitos utilitários de configuração específicos por distribuição, setup é o utilitário padrão para RedHat. Mandrake 7.0 oferece o DrakConf .

linuxconf
(como root, tanto no modo texto como em modo gráfico). Você pode ter acesso e modificar centenas de definições de rede a partir dele. Muito poderoso - - não modifique muitas coisas ao mesmo tempo, e seja cuidadoso com modificações de entradas que você não conhece bem.  O utilitário RedHat de configuração de rede netconf é um subconjunto do linuxconf, portanto é mais simples e algumas vezes mais fácil de usar.

mouseconf
(como root). Ferramenta simples para configurar seu mouse(depois da instalação inicial).  O Mandrake inclui também como alternativa o mousedrake.

kudzu
(como root). Ele automaticamente determina e configura o seu hardware.  Se você estiver tendo problemas misteriosos com o seu mouse( ou outros dispositivos seriais), você pode desabilitar o kudzu, de forma que ele não rode quando o sistema estiver sendo iniciado (kudzu atrapalhou o meu sistema de forma que não consegui fazer meu mouse funcionar). Você pode roda-lo manualmente quando você precisar dele.

timeconfig
(como root) Define a zona de tempo (timezone) para seu sistema.

setclock
(como root). Ajusta o relógio de hardware de seu computador a partir da hora do linux. Use o comando "date" para ajustar a hora no seu linux. Por exemplo, eu poderia mudar a data e hora para 2000-12-31 23:57 usando o comando:
date 123123572000
e então gravar a hora no relógio do hardware usando:
setclock

xvidtune
(no terminal X).Faz ajustes do terminal gráfico para todas as resoluções de forma a eliminar problemas, desloca a tela para cima/baixo e para os lados, etc. (Primeiro use os botões do seu monitor para ajustar seu modo texto corretamente na tela). A seguir use xvidtune para ajustar as freqüências do seu monitor para cada resolução de forma que ela se enquadre bem em sua tela. Para tornar as mudanças permanentes, mostre as freqüências na tela e as transfira para o arquivo de definição /etc/X11/XF86Config.

kvideogen
(no terminal X). Gera "modelines(linhas de configuração gráfica)" para resoluções customizadas de sua tela.  Depois que você gerou o texto de definição (as "modelines"),você pode copiar-e-cola-las no arquivo de definição do X-windows /etc/X11/XF86Config (ou /etc/X11/XF86Config-4 se você usa o X versão 4.xx). Veja também o atalho de teclado <Ctrl><Alt><+>

SVGATextMode 80x25x9
SVGATextMode 80x29x9
(como roott) Muda a resolução de texto em um terminal texto. No exemplo acima (segunda linha) eu alterei a tela de texto para 80 colunas e 29 linhas com caracteres de 9 pixels de altura. A primeira linha define uma resolução que sempre funciona, de forma que se o segundo comando não funcionar em meu sistema , eu posso pressionar a <Seta-para-cima> duas vezes e <Enter> para recuperar o controle sobre minha tela . Os modos possíveis dependem de sua placa de vídeo e das freqüências de sincronização de seu monitor - - eu precisei editar (como root) o arquivo /etc/TextConfig e comentar/descomentar as linhas apropriadas para permitir que o SVGATextMode saiba o que o meu sistema suporta.

SuperProbe
(como root). Um utilitário para determinar o tipo de placa de vídeo e a quantidade de memória dela.

  1. kernelcfg
    (como root no terminal X). Interface gráfica para adicionar/remover módulos do kernel . Um módulo é como um device driver (driver de dispositivo) - - um pedaço do kernel Linux que provê suporte para um pedaço particular de hardware ou uma funcionalidade. Você pode fazer o mesmo a partir da linha de comando usando o comando insmod.

lsmod
(= lista módulos). Lista os módulos que estão carregados. Um módulo é como um device-driver(driver de dispositivo) - - ele provê suporte do kernel do sistema operacional para um parte do hardware ou alguma característica.

modprobe -l |more
Lista todos os módulos disponíveis para o seu kernel. Os módulos disponíveis são determinados pela maneira como o seu Linux foi compilado. Cada módulo ou característica possível pode ser compilado no linux como embutido (rápido, não-removível), módulo(talvez mais lento, mas carregável/descarregável sob demanda), or "nenhum" (nenhum suporte para esta característica). Os módulos que seu kernel suporta(com os quais ele foi compilado) são todos os arquivos que estão no diretório /lib/modules (e os subdiretórios.), portanto se você navegar por eles pode te dar uma pista se você estiver perdido.

modprobe sb
Carrega o módulo soundblaster (sb).

insmod parport
insmod ppa
(como root) Insere módulos no kernel (um módulo é a grosso modo um equivalente a um driver de dispositivo no DOS). Normalmente eu uso modprobe(veja o comando anterior) para inserir módulos. Este exemplo mostra como inserir os módulos para suporte do zip drive em porta paralela (parece ser um problema conseguir que o zip drive funcione de outra maneira no RH6.0 e 6.1).

rmmod nome_do_módulo
(como root, não essencial). Remove o módulo nome_do_módulo do kernel.

depmod -a
(como root) Monta a tabela de dependências de módulos para o kernel. Não essencial a menos que você tenha modificado /etc/modules e não quer reiniciar o sistema.

setserial /dev/cua0 port 0x03f8 irq 4
(como root) Ajusta a porta serial para uma definição não-padrão. O exemplo mostra a definição padrão para a primeira porta serial(cua0 ou ttyS0). As definições padrão do PC para a segunda porta (cua1ou ttyS1) são: endereço da porta 0x02f8, irq 3. A terceira porta serial cua2 ou ttyS2): 0x03e8, irq 4. A quarta porta serial (cua3 ou ttyS3): 0x02e8, irq 3. Acrescenta suas definições a /etc/rc.d/rc.local se você que elas fiquem valendo em tempo de inicialização do sistema. Veja man setserial para uma boa visão do assunto.

tunelp
(como root, raramente necessário) Ajuste de suas portas paralelas.

/sbin/chkconfig --level 123456 kudzu off
(como root) Uma ferramenta para verificar/habilitar/desabilitar serviços do sistema os quais não são automaticamente iniciados em diferentes níveis de execução (runlevels). Tipicamente, eu uso o utilitário RedHat ntsysv se eu preciso habilitar/desabilitar um serviço no corrente nível de execução, mas chkconfig me dá uma flexibilidade extra.  Uma ferramenta alternativa é tksysv (baseada em X).  O exemplo acima mostra como desabilitar o serviço kudzu de forma que ele não se inicie em nenhum nível de execução(runlevel)(Ele atrapalha o funcionamento do mouse em um dos meus computadores).  Para listar todos os serviços iniciados/interrompidos nos níveis de execução, eu uso :
chkconfig --list | more
Para verificar o status corrente dos serviços, eu posso usar:
service --status-all
Para iniciar um serviço imediatamente, eu posso usar algo como (iniciar um servidor ftp):
service wu-ftpd start
Para reiniciar a rede samba(por exemplo, depois que eu alterei sua configuração), eu posso usar:
service smb restart

symlinks -r -cds /
(como root) Verifica e corrige links simbólicos em meu sistema. Começa no diretório raiz (/) e continua através de todos os subdiretórios. (opção -r= “recursivo”) e altera links absolutos ou atrapalhados para relativos, deleta links que não levam a nada, e reduz links compridos (opção -cds).  Se meu sistema de arquivos se expande sobre diferentes partições de discos rígidos, eu preciso reexecutar este comando para cada um deles (por exemplo, symlinks -r -cds /usr).

cd /usr/src/linux-2.2.14
make xconfig
(como root no terminal X). Uma bela interface gráfica para configuração de opções do kernel na preparação para compilação de seu kernel customizado.   (O nome do diretório contem a versão de seu kernel Linux, assim talvez você precise modificar o nome do diretório se a versão de seu kernel Linux é diferente de 2.2.14 usada neste exemplo. Você também precisa do interpretador "Tk" instalado assim como o código fonte do kernel.) As alternativas para   "make xconfig" são: "make config"  (roda um script que faz perguntas a você em modo texto) e "make menuconfig" (roda um utilitário dirigido a menus em modo texto). Execute less /usr/doc/HOWTO/Kernel-HOWTO para mais informações.
Depois de configurar as opções para o novo kernel, você pode escolher continuar com a compilação do novo kernel através dos seguintes comandos:
make dep
make bzImage


O último comando levará algum tempo até terminar( talvez 30 minutos a 2 horas, dependendo de seu hardware). Ele produz o arquivo "bzImage", o qual é o seu novo kernel. A seguir:
make modules
make modules_install
Agora você tem o novo kernel e os módulos de forma que você pode instala-los --a instalação envolve a copia dos novos arquivos para o diretório /boot e fazer as mudanças em /etc/lilo.conf de forma que você possa selecionar em tempo de boot qual kernel ( o novo ou o antigo) a ser carregado. Veja isto para obter detalhes sobre o upgrade do kernel.   Pode ser também de muita ajuda ler /usr/doc/HOWTO/Kernel-HOWTO e talvez man depmod. A configuração, compilação e instalação de um novo kernel não é difícil de forma alguma mas pode acarretar problemas se você não souber o que está fazendo (se você não pode iniciar e não está habilitado a consertar as coisas depois de iniciar a partir do disquete, você pode precisar reinstalar o sistema). A compilação do kernel é também uma boa forma de testar o seu hardware, por que ele envolve uma massiva quantidade de computação. Se seu hardware tem problemas você muito comumente irá receber a mensagem de erro "signal 11" (leia o bom /usr/doc/FAQ/txt/GCC-SIG11-FAQ).

ldconfig
(como root) Recria as associações e o cache para o carregador de bibliotecas dinâmicas(“ld”). Você pode precisar rodar ldconfig depois de instalar novas bibliotecas dinâmicas em seu sistema. (Ele também é reexecutado a cada vez que você inicia a máquina, porisso se você reiniciar a maquina você não terá que faze-lo manualmente.)

mknod /dev/fd0 b 2 0
(=cria nodo, como root) Manualmente cria um arquivo de dispositivo. Este exemplo mostra como criar um arquivo de dispositivo associado com seu primeiro drive de disquete e poderia ser útil se acontecesse por acidente que você o apagasse. As opções são : b=dispositivo de modo blocado, c=dispositivo de modo caracter, p=dispositivo FIFO , u=dispositivo de modo caracter não buferizado. Os dois inteiros especificam os números maiores e menores (major and minor numbers) do dispositivo. Eu normalmente não sei os parâmetros que mknod requer. Assim, para criar dispositivos, eu primeiro leio man MAKEDEV para determinar o nome do dispositivo e então rodo o script /dev/MAKEDEV o qual conhece os dispositivos pelos seus nomes - - veja o próximo comando. Se a citada pagina de manual não ajudar, eu posso recorrer a última documentação incluída no código fonte do kernel:
less /usr/src/linux/Documentation/devices.txt

cd /dev
./MAKEDEV audio
(como root). Restaura o dispositivo "audio" que eu de alguma forma já havia “criado”. Veja também o comando anterior.

5.13 Utilitários de disco e disquetes

fdisk /dev/hda
(= "fixed disk[disco fixo]". Como root.) O utilitário Linux de particionamento de discos rígidos(O DOS tem um utilitário com o mesmo nome). No exemplo acima, eu especifiquei que eu gostaria de particionar o primeiro disco rígido na primeira interface IDE, Se eu fosse você, eu faria um backup de todos os dados importantes antes de usar fdisk em qualquer partição. Eu não conheço ninguém que goste do fdisk (tanto a edição Linux como a edição DOS)--Eu prefiro o cfdisk, veja o próximo comando.

cfdisk /dev/hda
(como root) Utilitário de particionamento de disco, baseado em menus. Mais fácil de usar que o fdisk (veja o comando anterior). Discos físicos podem conter partições primarias(máximo de 4 por disco), e partições lógicas (nenhuma restrição quanto ao número).  Uma partição primaria pode ser carregada(bootavel). Partições lógicas devem estar contidas dentro de partições extendidas; as partições extendidas não são usáveis em si mesmas, elas contem as partições lógicas. Ao particionar um disco, eu tipicamente : (1) crio uma partição primaria (2) torno a partição primaria carregável(bootavel) (3) crio uma partição estendida (4) crio partições lógicas dentro da partição expendida.

sfdisk -l -x  |more
(como root) Lista a tabela de partições(incluindo partições extendidas) de todos os drives em meu sistema.

parted /dev/hda
Um utilitário de manipulação de partição para Linux(ext2), e DOS (FAT e FAT32). Ele cria, destrói, move, copia, reduz e estende partições.  Você deveria fazer um backup de seus dados e ler cuidadosamente info parted antes de usa-lo.

fdformat /dev/fd0H1440
mkfs -c -t ext2 /dev/fd0
(=formatação de disquete, dois comandos, como root) Faz uma formatação de baixo nível de um disquete no primeiro drive de disquetes (/dev/fd0), alta densidade (1440 kB). A seguir cria um sistema de arquivos Linux(-t ext2), verificando e marcando os blocos ruins (-c ). Criar o sistema de arquivos é equivalente a formatação de alto nível. Eu posso formatar disquetes (também não padrão) em diferentes densidades: execute ls /dev/fd0<Tab>. Asou também capaz de formatar usando a densidade padrão(normalmente 1440k) usando fdformat /dev/fd0.

badblocks /dev/fd01440 1440
(como root) Verifica se um disquete de alta densidade tem blocos ruins e mostra o resultado na tela. O parâmetro "1440" especifica que 1440 blocos devem ser verificados. Este comando não afeta o disquete.

fsck -t ext2 /dev/hda2
(=verifica sistema de arquivos, como root) Verifica e repara um sistema de arquivos, por exemplo, depois de um termino não padrão do sistema ou devido a uma falha de energia. O exemplo acima verifica a partição hda2, sistema de arquivos do tipo ext2. Você definitivamente deve iniciar o Linux em modo monousuario para fazer isto (digite "linux single" no prompt do LILO ou use init 1 como root para entrar em modo monousuario). Se forem encontrados erros durante a verificação eu aceito os padrões de reparação.

dd if=/dev/fd0H1440 of=floppy_image
dd if=floppy_image of=/dev/fd0H1440
(dois comandos, dd="duplicador de dados") Cria uma imagem de um disquete em um arquivo chamado "floppy_image" no diretório corrente. A seguir copio floppy_image (arquivo) para um outro disquete. Funciona como o utilitário de DOS "DISKCOPY".

mkbootdisk --device /dev/fd0 2.4.2-3
Cria um disquete de emergência. Normalmente esta opção é oferecida a você durante a instalação do sistema. O comando acima mostra como fazer o mesmo depois da instalação. O nome de seu kernel (necessário no comando) pode ser determinado usando-se ou uname -a ou ls /lib/modules .

5.14 Gerência de contas de usuários e permissões de arquivos

useradd nomedeusuario
passwd nomedeusuario
(como root) Cria uma nova conta (você deve ser root). Por exemplo,  useradd barbara  Não se esqueça de estabelecer uma password para o novo usuário no próximo passo. O diretório padrão do usuário(que será criado) é /home/nomedousuario. Você pode usar também um comando equivalente adduser user_name

ls -l /home/peter
useradd peter -u 503 -g 503
(como root).  Cria uma conta que casa com um diretório já existente(talvez de uma instalação anterior). Se o ID do usuário (mostrado para cada arquivo) era 503, eu crio uma conta com um nome de usuário, o ID (UID) e o ID do grupo (GID). Isto evita o trabalho com mudança de dono dos arquivos.

userdel nomedousuario
Remove uma conta(você deve ser root). O diretório padrão do usuário e os correios ainda não entregues devem ser tratados em separado(manualmente por que você tem de decidir sobre o que fazer com os arquivos). Existe também o comando groupdel para deletar grupos.

groupadd nomedegrupo
(como root) Cria um novo grupo em seu sistema. Não essencial em uma maquina domestica, mas pode ser muito útil mesmo em uma maquina domestica com um pequeno numero de usuários.

Por exemplo, eu posso criar um grupo "amigos", a seguir edito o arquivo /etc/group, e adiciono meu nome de login e os nomes de meus amigos a linha que lista este grupo, de forma que a linha final contenha:
amigos:x:502:stan,pete,marie
A seguir, eu posso mudar as permissões em um arquivo selecionado de forma que o arquivo pertença a mim e ao grupo "amigos".
chgrp friends meuarquivo
Dai, os membros listados deste grupo tem acesso especial a estes arquivos que o resto do mundo não tem, por exemplo, permissão de leitura e gravação:
chmod g=rw,o= meuarquivo
A alternativa seria dar permissão de gravação para todos, o que definitivamente é inseguro mesmo em um computador domestico.

groups
Lista os grupos aos quais o usuário corrente pertence. Ou eu poderia usar groups john para listar a quais grupos o usuário john pertence.

usermod
groupmod
(como root) Dois utilitários de linha de comando para modificar contas de usuários e grupos sem edição manual dos arquivos /etc/passwd /etc/shadow /etc/group e /etc/gshadow. Normalmente não essenciais.

userconf
(como root) Ferramentas de configuração de usuários dirigidas por menus(política de password, modificação de grupo, adição de usuários, etc.) É parte do pacote linuxconf, mas pode ser rodado separadamente.

passwd
Muda a password de sua conta de usuário. Se você for root, você pode então alterar a password de qualquer usuário do sistema usando passwd nomedeusuario

chfn
(="muda o nome completo"). Altera a informação a respeito de você(nome completo, telefone do escritório, numero de telefone, etc). Esta informação é mostrada quando o comando finger é executado em seu login.

chage -M 100 nomedeusuario
(= "muda a idade"). Estabelece que a password expira em 100 dias para o usuário nomedeusuario .

quota nomedeusuario
setquota nomedeusuario
quotaon /dev/hda
quotaoff /dev/hda
Um conjunto de comandos para manipular as quotas de disco. Normalmente não usado em um computador doméstico.  "quota de disco" significa limites por usuário no uso de espaço em disco. Os comandos (respectivamente) mostram a quota do usuário, define a quota do usuário, liga o sistema de quotas para um dado sistema de arquivos(dev/hda no exemplo acima), desliga o sistema de quota.  As distribuições típicas de Linux que tenho visto estabeleceram um padrão: nenhum limite para todos os usuários, e o sistema de quotas está desligado para todos os sistemas de arquivos.

kuser
(como root, em um terminal X) Gerência usuários e grupos usando uma interface gráfica.  Bonita e provavelmente cobre a maior parte do que você provavelmente precisaria para gerenciar contas de usuários.

chmod perm nomedearquivo
(=muda modo) Altera as permissões para os arquivos que você possui(a menos que você seja root e neste caso você pode alterar qualquer arquivo). Você pode tornar um arquivo acessível de três maneiras: leitura (r), gravação (w), execução (x) para três classe de usuários: dono (u), membros do grupo ao qual o arquivo pertence (g), os demais, outros(o). Verifique as permissões de acesso correntes usando:
ls -l nomedearquivo
Se o arquivo é acessível a todos os usuários em todos os modos ele mostrará :
rwxrwxrwx
O primeiro trio mostra as permissões do arquivo para o dono do arquivo, o segundo trio para o grupo que possui o arquivo, e o terceiro para os outros(resto do mundo). Nenhuma permissão é mostrada como "-".
Ao definir permissões, estes símbolos são usados: "u"(=usuário ou dono do arquivo), "g"(=grupo que possui o arquivo), "o"(=outros), "a" (=todos, isto é, dono, grupo e outros), "="(=define a permissão para), "+"(=adiciona a permissão), "-"(=retira a permissão), "r"(=permissão para leitura), "w"=(permissão para gravação, significando a possibilidade de alteração do arquivo), "x"(=permissão para executar o arquivo).

Por exemplo, este comando adicionará as permissões para leitura ao arquivo junk para todos (=dono+grupo+outros):
chmod a+r junk
Este comando removerá as permissões para executar o arquivo de “outros”:
chmod o-x junk

Clique aqui para maiores informações.
Você pode estabelecer as permissões padrões de arquivos para novos arquivos que você venha a criar, use para isto o comando umask (veja man umask).

chown novodono nomedearquivo
chgrp novonomedegrupo nomedearquivo
Altera o dono do arquivo e o grupo. Você deve usar estes dois comandos depois de copiar um arquivo para uso por alguém mais. Somente o dono do arquivo pode deleta-lo.

lsattr nomesdearquivos
Lista atributos para os nomesdearquivos. Não é frequentemente usado por que a maioria dos atributos interessantes não estão ainda implementados. Os atributos podem ser alterados usando-se o comando chattr. Os atributos são: A (=não atualize o atime(access time[hora de acesso] quando o arquivo for modificado), S (=atualizações síncronas), a (=somente acréscimo ao final possível para este arquivo), c (=arquivo compactado a nível de kernel, não implementado ainda), i (=arquivo imutável),  d (=não considerado para backup pelo comando dump), s (=deleção segura, o arquivo é preenchido com zeros binários), e u (não deletável, não implementado ainda). Um uso interessante é tornar um arquivo não deletável mesmo pelo root(até que ele limpe este atributo).

pwck
grpck
(como root, dois comandos). Verifica a integridade dos arquivos de password e grupos.

pwconv
grpconv
(como root) Raramente você precisa destes comandos. Eles convertem arquivos de password e grupos no formato antigo para criar arquivos shadow(sombra) mais seguros.

5.15 Instalação de programas

rpm -ivh nomedopacote_versao.plataforma.rpm
(como root) Instala um pacote(opção "i", deve ser a primeira letra depois do hífen), enquanto detalha a execução (opção "v'=verbose) e exibe o progresso da instalação (opção "h"). rpm significa "Redhat Package Manager"(Gerenciador de pacote RedHat).

rpm -Uvh nomedopacote-versao.plataforma.rpm
(como root) Atualiza (opção "U", deve ser a primeira letra depois do hífen) um pacote mostrando detalhes(opção -v) e o progresso ("h").da execução.

rpm -ivh --force --nodep nomedopacote-versao.plataforma.rpm
(como root) Instala o pacote ignorando possíveis conflitos e problemas de dependência.

rpm -e nomedopacote
(como root) Desinstala (opção "e"=apaga) o pacote nomedopacote. Observem a ausência do "-versao.plataforma.rpm" ao fim do nome do pacote (o nome do pacote é o mesmo do nome do arquivo *.rpm file a partir do qual o pacote foi instalado mas sem 0 hifen.versao.plataforma e "rpm").

rpm -qpi nomedopacote-versao.plataforma.rpm
Consulta (opção "q", deve ser a primeira letra depois do hífen o pacote ainda não instalado(opção "p") de forma que ele mostre as informações (opção "i") que o pacote contém.

rpm -qpl nomedopacote-versao.plataforma.rpm
Consulta (opção "q", deve ser a primeira letra depois do hífen)o pacote ainda não instalado (opção "p") de forma que ele mostre a listagem (opção "l") de todos os arquivos que o pacote contem.

rpm -qf nomedoarquivo
Encontra o nome do pacote ao qual o arquivo nomedoarquivo pertence ou pertenceu. Útil se acidentalmente eu apaguei um arquivo e agora eu preciso encontrar o pacote correto e reinstala-lo.

rpm -qi nomedopacote
Consulta o pacote já instalado de forma que ele mostre suas informações. Observe ausência do “-versao.plataforma.rpm” no fim do nome do pacote.

rpm -qai | more
Consulta todos os pacotes instalados no sistema de forma que mostre suas informações. Em meu sistema, eu tenho aproximadamente 600 pacotes instalados, porisso teria que ter muito tempo para ler suas informações. Para contar o numero de pacotes execute:

rpm -qa | grep -c ''

rpm -Va
Verifica (opção "V") todos os pacotes (opção "a") instalados no sistema. Isto lista arquivos que não foram modificados desde a instalação. Eis a legenda da saída:
.      Teste executado
c      Este é um arquivo de configuração
5      checksum MD5 falhou
S      O tamanho do arquivo é diferente
L      Link simbólico foi modificado
T      Hora de modificação do arquivo foi alterada
D      Arquivo de dispositivo está modificado
U      o Usuário que possui o arquivo foi alterado
G      O Grupo que possui o arquivo foi alterado
M      As permissões e/ou tipo de arquivo foram modificados

kpackage
gnorpm
glint
(no terminal X, como root, se você quer instalar pacotes, 3 comandos) Interfaces gráficas para o Red Hat Package Manager (rpm). "glint" vem com RH5.2 e parece estar obsoleto agora, gnorpm é o instalador gráfico "oficial" RedHat, versões mais antigas são muito lentas e confusas mas a versão mais recente (a que vem com RH7.0) está bastante melhorada. kpackage é o programa "oficial" KDE e tem se mostrado muito bom. Use qualquer um deles para ver quais pacotes de software estão instalados em seu sistema e os ainda não instalados estão disponíveis em seu CD RedHat, mostre a informação a respeito dos pacotes e instale-os, se você quiser( a instalação deve ser feita como root root).
 

5.16 Acesso a discos e partições

mount
Veja aqui detalhes sobre a montagem de discos. Os exemplos são mostrados nos próximos comandos.

mount -t auto /dev/fd0 /mnt/floppy
(como root) Monta o disquete. O diretório /mnt/floppy deve existir, estar vazio e não ser seu diretório corrente.

mount -t auto /dev/cdrom /mnt/cdrom
(como root) Monta o CD. Você pode precisar de criar/modificar o arquivo /dev/cdrom dependendo de onde seu CDROM está. O diretório /mnt/cdrom deve existir, estar vazio e não ser seu diretório corrente.

mount /mnt/floppy
(como usuário root) Monta um disquete como usuário. O arquivo /etc/fstab precisa ser configurado para permitir isto. O diretório /mnt/floppy não deve ser seu diretório corrente.

mount /mnt/cdrom
(como usuário ou root) Monta um CD como usuário. O arquivo /etc/fstab precisa estar configurado para permitir isto. O diretório /mnt/cdrom não deve ser seu diretório corrente.

umount /mnt/floppy
Desmonta o disquete. O diretório /mnt/floppy não deve ser seu diretório corrente nem de ninguém mais. Dependendo de sua configuração você pode ser capaz de desmontar um disco que foi montado por outro usuário.
 

5.17 Ferramentas de administração de rede

netconf
(como root) Uma ferramenta dirigida por menus muito boa para sua rede.

ping nomedamaquina
Verifica se você entrar em contato com uma outra maquina(forneça o nome da maquina ou seu endereço IP), pressione <Ctrl>C para terminar (sem <Ctrl>c, o comando continua sendo executado indefinidamente). Como todos os outros comandos Linux, ping tem opções incluindo o ataque   "ping da morte", quando você pinga alguns servidores e eles caem--tente as opções -f e -s.

route -n
Mostra a tabela de roteamento do kernel.

host nome_do_host_a_ser_encontrado
nslookup nome_do_host_a_ser_encontrado
dig endereço_ip_a_ser_encontrado
(Três comandos, use qualquer um.) Faz uma consulta ao servidor padrão de nomes (DNS) por um nome Internet(ou endereço IP) nome_do_host_a_ser_encontrado. Desta forma você pode verificar se seu DNS funciona. Você pode também encontrar o nome do host do qual você conhece apenas o endereço IP..

traceroute host_a_ser_seguido
Mostra como suas mensagens caminham até chegar ao host_a_ser_seguido(o qual é nome de host ou um endereço IP).

mtr host_a_ser_seguido
(como root) Uma poderosa e bela ferramenta que combina a funcionalidade dos velhos comandos ping e traceroute(RH7.0)

nmblookup -A endereço_IP
Mostra o status de uma máquina MS Windows em rede (com um nome NetBIOS).  Este comando é um equivalente ao comando nbtstat do Windows.

ipfwadm -F -p m
(para RH5.2, veja o próximo comando para RH6.0) Define as políticas de firewall IP para mascaramento(não muito seguro, mas simples) Propósito: todos os computadores de sua rede doméstica aparecerão ao mundo externo como uma única maquina e, por exemplo, será permitido a você navegar na Internet simultaneamente a partir de suas máquinas.

echo 1 > /proc/sys/net/ipv4/ip_forward
ipfwadm-wrapper -F -p deny
ipfwadm-wrapper -F -a m -S xxx.xxx.xxx.0/24 -D 0.0.0.0/0
(três comandos, RH6.0). Faz o mesmo que o comando anterior. Substitua os "x"s  com os dígitos de seu endereço IP classe C que você atribuiu a sua rede doméstica. Veja aqui mais detalhes.

ipchains -P forward DENY
ipchains -A forward -s xxx.xxx.xxx.0/24 -d 0.0.0.0/0 -j MASQ
(dois comandos, RH7.0).  O mesmo que os comandos anteriores, mas funciona sob RH7.0.

ipchains -L
Lista todas as regras do firewall. Use-o para verificar se sua definição de proteção por firewall funciona.

iptables -L
O Linux kernel 2.4.x usa o novo comando de firewall "iptables". O exemplo acima lista todas as regras do firewall.

firewall-config
(como root, no Xterm).  Uma interface gráfica para customizar seu firewall.

ifconfig
(como root) Mostra informações sobre as interfaces de rede ativas(ethernet, ppp, etc). Sua primeira interface ethernet aparece como eth0, a segunda como eth1, etc, a primeira interface ppp sobre modem é a ppp0, a segunda ppp1, etc. A interface "lo" é a interface "loopback only[para comunicação dentro da própria maquina]" e que deve estar sempre ativa. Use as opções (veja ifconfig --help) para configurar as interfaces.

ifup nome_da_interface
(/sbin/ifup para rodar como um usuário comum) Inicia uma interface de rede. E.g.:
ifup eth0
ifup ppp0
ifup ppp1
Os usuários pode iniciar ou desativar a interface ppp somente quando a permissão é dada na configuração do ppp(usando netconf ). Para iniciar uma interface ppp (conexão dial-up), normalmente uso kppp disponível no menu K" do KDE(ou digitando kppp em um terminal X).

ifdown interface_name
(/sbin/ifdown para executar como um usuário normal). Desativa a interface de rede. Exemplo, ifdown ppp0 Veja também o comando anterior.

netstat | more
Mostra algumas informações sobre o status de sua rede.

/usr/sbin/mtr --gtk
(como root, no terminal X se você quer uma bela interface baseada em gtk). Ferramenta de diagnostico de rede combinando o poder de traceroute e ping. Vem com o RH7.0.

nmap ip_number
Faz o mapeamento de suas portas na máquina com número IP.  REALMENTE muito útil para estabelecer a segurança de sua configuração de rede a medida em que você vê as portas que estão abertas. nmap faz parte do CD "Linux PowerTools{Ferramentas de poder do Linux)" do RH7.0, como uma conveniente interface gráfica, , "nmapfe". nmap pode também fazer a impressão digital” do sistema. Normalmente as pessoas(e seus provedores de acesso a Internet) não gostam que suas portas sejam varridas(eles vem isto com uma sondagem de alguém antes de lançar um ataque) --aprenda como usar nmap em seu próprio computador e não em outros caso contrario você logo ouvirá algo de seu provedor de acesso (as queixas são dirigidas a ele)

ethereal
(como root, em um terminal X) Analisador de rede --vê o trafego de rede passando por seu computador. Está incluído no CD "Linux PowerTools" do RH7.0   O uso do ethereal pode ser não ético em algumas situações, e o uso não autorizado pode ser uma ofensa digna de penalização.

tcpdump -i ppp0 -a -x
(como root) Mostra todo o trafego de rede através da primeira interface (ppp0) sobre linha telefônica como ascci e hexadecimal. Provavelmente muita coisa é mostrada, . tcpdump é uma ferramenta mais crua e pode ser útil para ferramentas customizadas para escutar /registrar o que você precisa.

5.18 Comandos relacionados com Música.

cdplay play 1
Toca a primeira trilha de um CD de audio. Use cdplay para tocar o CD inteiro. Use cdplay stop quando quiser interrompe-lo.

eject
Você ganha uma bandeja para café de graça :))).   (Ejeta a bandeja do CD ROM). Este comando é padronizado para o cdrom, mas pode ser usado para ejetar outras mídias removíveis especificando o ponto de montagem do dispositivo. E.g., Posso ejetar o zipdisk de zipdrive de porta paralela(como root) usando o comando: eject /dev/sda4

play meu arquivo.wav
Toca um musica gravada em um arquivo wave.

rec my_file.wav
Grava um arquivo wave a partir do microfone.

mpg123 my_file.mp3
Toca uma música gravada em um arquivo mp3.

mpg123 -w my_file.wav my_file.mp3
Cria um arquivo de audio wave a partir de um arquivo de audio mp3. Útil se você quer gravar um CD de audio a partir de arquivos mp3 - - você tem que converter os arquivos mp3 para o formato .wav primeiro. Não fique surpreso se o processo de conversão for lento --a descompactacao de mp3 é uma tarefa que exige muita cpu.

xmms
(no terminal X) Bela interface gráfica para o reprodutor mp3.

freeamp
(no terminal X) Um outra interface gráfica para o reprodutor mp3.

lame arquivo_de_entrada arquivo_de_saída
MP3 encoder.

knapster
(no terminal X) Inicia o programa para baixar arquivos mp3 que outros usuários do napster tenham anunciados para serem baixados. Você pode compartilhar seus arquivo mp3 também. Realmente legal, enquanto dura. Gnutella e FreeNet logo os substituirá >eles conseguem ser ainda mais legais.

cdparanoia -B  "1-"
(CD ripper[leitor, amostrador])  Le o conteúdo de um CD de audio e o salva em arquivos .wav no diretório corrente, uma trilha por arquivo .wav. O "1-" significa "a partir da trilha 1 até o final". -B força a gravação de cada trilha em um arquivo separado.

playmidi meu_arquivo.mid
Reproduz um arquivo midi.  playmidi -r meu_arquivo.mid  mostrará em modo texto efeitos na tela.

sox arquivo_de_audio um_outro_formato_de_arquivo_de_audio
(="intercâmbio de arquivos de som") Converte de quase qualquer formato de audio para um outro(exceto mp3).  Veja man sox para ver a lista de arquivos de audio suportados(muitos). sox também permite que você adicione efeitos especiais aos seus arquivos de som.

kscd
(no terminal X ) Reprodutor de CD.

kmidi
(no terminal X) Reprodutor MIDI.

kmid
(no terminal X) reprodutor MIDI/caraoke.

kmix
(no terminal X) Mixer de sons.

studio
(no terminal X) Estúdio de som--edita arquivos de sons, adiciona efeitos,etc. Disponível no CD Power Tools do RH7.x.

extace
(no terminal X) Utilitário de visualização de sons.

festival --tts my_file.txt
“Diz” o conteúdo do arquivo meuarquivo.txt (texto ascii).  "festival" é um sintetizador de palavras que vem no CD Power Tools do RedHat 7.0. Para dizer alguma coisa a partir da linha de comando, você precisa executar "festival" e então, no prompt "festival>", digitar o comando apropriado (interpretador de linguagem "scheme"), tal como neste exemplo (o negrito representa o prompt):
festival
festival>(SayText "good dog, really good dog")
festival> (quit)

5.19 Comandos relacionados com aplicações gráficas

kghostview meuarquivo.ps
(no terminal X) Mostra um arquivo postscript na tela.  Posso também usar o velho ghostview ou gv para a mesma finalidade. Posso também imprimir o arquivo postscript a partir do visualizador.

xpdf meuarquivo.pdf
(no terminal X) Visualiza um arquivo pdf.

enscript meuarquivo.txt -U 2
Converte um arquivo texto para postscript e o imprime na impressora padrão. Poderia também enviar a saída convertida para um arquivo postscript:
enscript meuarquivo.txt -U 2 -o meuarquivo.ps
A opção -U 2 faz com que enscript imprima 2 páginas lógicas em uma pagina física o que me dá uma economia de papel, e cria impressões compactas mais convenientes. Você pode também selecionar 4 paginas por página, mais do que isto torna a impressão difícil de se ler. enscript é realmente flexível, veja man enscript para uma seleção das varias opções de formatação.

ps2pdf meuarquivo.ps meuarquivo.pdf
Cria um arquivo pdf (Adobe portable document format[formato de documento portável Adobe])a partir de um arquivo postscript.

mpage -2 meuarquivo.ps > novoarquivo.ps
Imprime o arquivo postscript meuarquivo.ps, colocando duas páginas lógicas em uma pagina física. Salva a saída no arquivo novoarquivo.ps.

ps2ps arquivo.ps novoarquivo.ps
psnup -nup 2 -pletter novoarquivo.ps.ps novoarquivo2.ps
Uma outra forma de criar um arquivo postscript contendo 2 páginas lógicas em uma página física. Primeiro, uso o conversor ps2ps para criar o arquivo postscript mais simples (ao custo dele ser maior). A seguir, eu uso o utilitario psnup para criar o novoarquivo2.ps o qual contém 2 páginas lógicas por página física.  Eu poderia também colocar 4 ou 8 paginas lógicas por página física.

gimp
(no terminal X) Um poderoso processador de imagens. Requer algum aprendizado para usa-lo, mas é ótimo para artistas, não há nada que não possa ser feito com o gimp. Use o botão direito de seu mouse para ver os menus locais, e aprenda como usar os layers(níveis). Salve seus arquivos no formato nativo gimp *.xcf (para preservar os layers para futura edição) e somente então salve-os como png(ou qualquer outro formato) para uso. "A chave é aprender como fazer a seleção apropriada."

gphoto
(no terminal X) Programa poderoso de edição de fotografias e de aquisição de imagens de câmeras.

kpaint
(no terminal X) Program simples para pintura bitmap("tipo paintbrush").

xfig
(no terminal X) Um programa simples de desenho. Útil para fazer croquis ou diagramas.

dia
(no terminal X) Uma ferramenta para desenhar diagramas a partir de componentes pré-existentes.

display minhafigura
(no terminal X) Mostra uma figura para visualização somente.  Você pode também digitar display & e selecionar o arquivo a partir do menu para ver a imagem, gira-la, alterar suas cores, aplicar alguns efeitos, etc. display é parte do pacote ImageMagick, junto com diversos outros utilitários descritos abaixo.

identify -verbose minhafigura
Mostra a descrição de um arquivo de imagem minhafigura: o formato, tipo, classe, tamanho em pixels, número de cores, tamanho em bytes, etc.

convert -geometry 60x80 minhafigura.gif minhafigurareduzida.gif
Reduz uma figura para um tamanho de 60x80 pixels. Veja abaixo um exemplo de como fazer a conversão entre diferentes formatos de arquivos.

animate -delay 6x5 pic1 pic2 pic3
Exibição continua de duas ou mais figuras em seqüencia. No exemplo acima, os arquivos de imagens são chamados pic1, pic2 and pic3, o intervalo entre as figuras é de 0.06 segundos, e a seqüência inteira de apresentação é repetida de 5 em 5 segundos.

combine pic1 pic2 combined_pic.miff
Combina duas ou mais imagens em uma outra imagem. Você pode, por exemplo, colocar um logotipo em cada imagem.

montage  -geometry 800x600+0+0 minhafigura montage.miff
Cria uma imagem empilhada a partir de minhafigura de forma que o tamanho total seja 800x600 pixels, com uma borda de 0x0. A saída é enviada para o arquivo montage.miff.

zgv minhafigura
Exibe uma figura para visualização em uma tela vga(não é necessário o X).

giftopnm meuarquivo.giff > meuar