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  buff/cache   available
Mem:       16279260     5910248      523432      871036     9845580     9128964
Swap:      16601084      240640    16360444
$ df
Filesystem                1K-blocks      Used Available Use% Mounted on
udev                        8108516         0   8108516   0% /dev
tmpfs                       1627928    161800   1466128  10% /run
/dev/mapper/vg_main-root  466644576 451332520  12919912  98% /
tmpfs                       8139628    146796   7992832   2% /dev/shm
tmpfs                          5120         4      5116   1% /run/lock
tmpfs                       8139628         0   8139628   0% /sys/fs/cgroup
/dev/sda1                    523248      1676    521572   1% /boot/efi
tmpfs                       1627924        88   1627836   1% /run/user/1000
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)