Product SiteDocumentation Site

Apêndice B. Curso Rápido de Reparação

Mesmo que este livro tenha como alvo principalmente administradores de sistemas e "usuários experientes", nós não gostaríamos de excluir os iniciantes motivados. Este apêndice será, portanto, um curso intensivo que descreve os conceitos fundamentais envolvidos na operação de um computador com Unix.

B.1. Shell e Comandos Básicos

No mundo Unix, todo administrador de sistemas terá que usar linha de comandos mais cedo ou mais tarde; por exemplo, quando o sistema falha em iniciar corretamente e provê somente o modo de recuperação via linha de comando. Ser capaz de trabalhar com esta interface, portanto, é uma habilidade de sobrevivência básica para estas circunstâncias.
Esta seção só dá uma olhada rápida nos comandos. Todos eles têm muitas opções não descritas aqui. Então, por favor, visite a vasta documentação das suas respectivas páginas de manual.

B.1.1. Navegando na Árvore de Diretórios e Gerenciando Arquivos

Uma vez que uma sessão é aberta, o comando pwd (que significa print working directory - imprimir o diretório de trabalho) mostra a localização atual no sistema de arquivos. O diretório atual é alterado com o comando cd diretório (cd serve para alterar o diretório - change directory). O diretório pai é sempre chamado .. (dois pontos), enquanto o diretório atual também é conhecido como . (ponto). O ls permite listar o conteúdo de um diretório. Se nenhum parâmetro é dado, ele opera no diretório atual.
$ pwd
/home/rhertzog
$ cd Desktop
$ pwd
/home/rhertzog/Desktop
$ cd .
$ pwd
/home/rhertzog/Desktop
$ cd ..
$ pwd
/home/rhertzog
$ ls
Desktop    Downloads  Pictures  Templates
Documents  Music      Public    Videos
Um novo diretório pode ser criado com mkdir diretório, e um diretório (vazio) existente pode ser removido com rmdir diretório. O comando mv permite mover e/ou renomear arquivos e diretórios; para remover um arquivo use rm arquivo.
$ mkdir teste
$ ls
Desktop    Downloads  Pictures  Templates  Videos
Documents  Music      Public    teste
$ mv teste novo
$ ls
Desktop    Downloads  novo       Public     Videos
Documents  Music      Pictures  Templates
$ rmdir novo
$ ls
Desktop    Downloads  Pictures  Templates  Videos
Documents  Music      Public

B.1.2. Mostrando e Modificando Arquivos Texto

O comando cat arquivo (destinado a concatenar arquivos para o dispositivo de saída padrão) lê um arquivo e exibe seu conteúdo no terminal. Se o arquivo é muito grande para caber na tela, use um paginador como o less (ou more) para exibir o conteúdo página a página.
O comando editor inicia um editor de texto (como o vi ou o nano) e permite criar, modificar e ler arquivos de texto. Os arquivos mais simples às vezes podem ser criados diretamente a partir do interpretador de comandos graças ao redirecionamento: echo "texto">arquivo cria um arquivo chamado arquivo com "texto" como o seu conteúdo. Também é possível adicionar uma linha no final deste arquivo com um comando como echo "maistexto">>arquivo. Note o >> deste exemplo.

B.1.3. Procurando por e nos Arquivos

O comando find diretório critérios procura por arquivos na hierarquia sob o diretório de acordo com vários critérios. O critério mais comum é -name name: que permite procurar um arquivo pelo nome.
O comando grep expressão arquivos procura o conteúdo nos arquivos e extrai as linhas correspondentes na expressão regular (veja na barra lateral DE VOLTA AO BASICO Expressão regular). Adicionando a opção -r habilita a procura recursiva em todos os arquivos contidos no diretório passado como um parâmetro. Isto permite procurar por um arquivo quando somente uma parte do conteúdo é conhecido.

B.1.4. Gerenciamento de Processos

O comando ps aux lista os processos rodando atualmente e ajuda a identificá-los exibindo seus pid (identificador do processo). Uma vez que o pid de um processo é conhecido, o comando kill -signal pid permite enviar um sinal para ele (se o processo pertence ao usuário atual). Existem muitos sinais; os mais usados comumente são TERM (uma requisição para terminar suavemente) e KILL (matar o processo à força).
O interpretador de comando também pode rodar programas em segundo plano se o comando é seguido de um “&”. Ao utilizar o "e comercial", o usuário retorna o controle para o shell imediatamente mesmo que o comando ainda esteja rodando (oculto para o usuário; como um processo em segundo plano). O comando jobs lista os processos rodando em segundo plano; executar fg %número-do-processo (para foreground - primeiro plano) restaura o trabalho para o primeiro plano. Quando um comando está rodando em primeiro plano (ou porque ele foi iniciado normalmente, ou trazido de volta para o primeiro plano com fg), a combinação de teclas Control+Z pausa os processos e retorna o controle para a linha de comando. O processo pode então ser reiniciado em segundo plano com o comando bg %número-do-processo (para background - segundo plano).

B.1.5. Informações do Sistema: Memória, Espaço em Disco, Identidade

O comando free exibe informações sobre a memória; o df(disk free) exibe relatórios sobre o espaço disponível no disco em cada um dos discos montados no sistema de arquivo. A opção -h (para legível por humanos converte os tamanhos para uma unidade mais legível (normalmente gigabytes ou megabytes). De um modo semelhante, o comando free suporta as opções -m e -g, e mostra estes dados tanto em megabytes ou em gigabytes, respectivamente.
$ free
             total       used       free     shared    buffers     cached
Mem:       1028420    1009624      18796          0      47404     391804
-/+ buffers/cache:     570416     458004
Swap:      2771172     404588    2366584
$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2              9614084   4737916   4387796  52% /
tmpfs                   514208         0    514208   0% /lib/init/rw
udev                     10240       100     10140   1% /dev
tmpfs                   514208    269136    245072  53% /dev/shm
/dev/sda5             44552904  36315896   7784380  83% /home
O comando id exibe a identidade do usuário em execução na seção, juntamente com a lista de grupos a que pertence. Uma vez que o acesso a alguns arquivos ou dispositivos pode ser limitado aos membros de algum grupo, verificar a que grupos pertence pode ser útil.
$ id
uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)