[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ próximo ]

Referência Debian
Capítulo 4 - Tutoriais do Debian


Essa seção fornece uma orientação básica sobre o mundo Linux para o verdadeiro novato. Se você já tiver usado o Linux por algum tempo, use-a como uma verificação da realidade.


4.1 Fontes de informação

Procure no Projeto de Documentação do Debian (DDP), que tem as referências de maior autoridade sobre o Debian. Muitos desses documentos geralmente são instalados em /usr/share/doc/. Procure também no diretório /usr/share/doc-base/, que fornece apontamentos para os documentos no sistema. Adicione export CDPATH=.:/usr/share/doc:/usr/src/local ao arquivo ~/.bash_profile para ter um acesso mais fácil aos diretórios de documentação.

O Projeto de Documentação do Linux (LDP) tem a maior autoridade sobre referências gerais sobre o Linux. Os conteúdos do LDP geralmente são instalados em /usr/share/doc/HOWTO/.

Navegue através dos documentos locais e em sites FTP remotos usando F9 no Midnight Commander (veja Midnight Commander (MC), Seção 4.3).


4.2 O console Linux


4.2.1 Login

Em um sistema Linux comum, há seis pseudo-terminais independentes. Alterne de um para outro pressionando a tecla Alt-Esquerdo e as teclas F1–F6 simultaneamente. Cada pseudo-terminal permite logins indepentes para contas. O ambiente multi-usuário é um grande recurso do Unix, e muito importante.

É considerado um bom hábito de Unix efetuar login em uma conta de usuário regular para muitos propósitos. Eu tenho que admitir que já usei a conta do super-usuário (root) mais do que o necessário apenas porque isso é fácil e sou descuidado.

Agora eu geralmente uso uma conta regular com comandos sudo, super, ou su -c para obter acesso root limitado.


4.2.2 Criar uma conta de usuário

Depois da instalação do sistema, eu geralmente crio uma conta de usuário regular. Se o nome de usuário for "pinguim",

     # adduser pinguim

criará a conta.

Eu uso o comando vigr para editar o arquivo /etc/group como a seguir:

     adm:x:4:admin
     src:x:40:admin, debian, ...
     ...

No sistema de instalação padrão, os membros do grupo adm podem ler muitos arquivos de log em /var/log/, e podem usar o xconsole. O grupo staff é dono de /home, tornando seus membros adequados para manter contas de usuários. O grupo src é dono de /usr/src/, usado para compilação de kernel, etc. Para ver o significado oficial de grupo e usuário, veja uma versão recente do documento users-and-groups.

Eu pessoalmente uso o grupo adm para usuários que executam tarefas administrativas e têm o privilégio su exclusivo (veja "Por que o GNU su não suporta o grupo wheel", Seção 9.2.2) e src para CVS (veja CVS, Seção 12.1).

Verifique o adduser, addgroup, vipw, vipw -s, vigr, e o vigr -s para configurar os grupos e os usuários apropriadamente.


4.2.3 Como desligar

Como qualquer SO moderno onde os arquivos são armazenados temporariamente na memória, o Linux precisa de um procedimento especial de desligamento antes que possa ser seguramente desligado. Aqui está o comando em modo multi-usuário:

     # shutdown -h now

Aqui está o comando em modo usuário único:

     # poweroff -i -f

Aguarde até que o sistema exiba "System halted" e então desligue. Se o APM for ativado pela BIOS e o Linux, o sistema se desligará sozinho. Veja Memória grande e autodesligamento, Seção 3.7.4 para obter mais detalhes.


4.2.4 Edição de linha de comando

O shell padrão, bash, tem capacidade de edição de histórico. Use simplesmente a tecla da seta para cima para entrar no histórico e então use as teclas de cursor como você esperaria. Outros atalhos de teclas importantes a serem lembrados:

     Ctrl-U:                    Apaga linha antes do cursor
     Ctrl-D:                    Termina a entrada
     Click-esq-e-arrasta-mouse: Seleciona e copia para o clipboard (gpm)
     Click botão meio mouse:    Cola o clipboard no cursor (gpm)
     Ctrl-V TAB:                Entra TAB sem expansão.

Em um console Linux normal, apenas as teclas Ctrl e Alt esquerdas funcionam como esperado.


4.2.5 Execução de comando

Execução de comando típica usa a seguinte linha de seqüência shell:

     $ LC_ALL=fr ls -la

Aqui, o programa ls é executado como o trabalho em primeiro plano (foreground) com a variável de ambiente LC_ALL definida para fr para locale francês e o argumento de linha de comando definido como -la para listar tudo em detalhes. Se a linha de comando for sufixada por sinal & então o comando é executado como trabalho em plano de fundo (background). Trabalhos em plano de fundo (background job) permitem ao usuário executar múltiplos programas em um único shell.

A execução de comando pode ser gerenciada pelos seguintes comandos de teclado.

     Ctrl-C:                  Termina o programa
     Ctrl-Z:                  Pára o programa temporariamente
     Ctrl-S:                  Trava saída para tela
     Ctrl-Q:                  Reativa saída para tela
     Ctrl-Alt-Del:            Reinicia/halt sistema (veja /etc/inittab)

Para detalhes sobre o gerenciamento da execução de programa, procure por jobs, fg, bg e stop em bash(1).


4.2.6 Comandos muito básicos a lembrar

Os comandos seguintes são muito básicos do Unix:

     ls, ls -al, ls -d, pwd, cd, cd ~user, cd -, 
     cat /etc/passwd, less, bg, fg, kill, killall, 
     uname -a, type nomedecomando, sync, netstat,
     ping, traceroute, top, vi, ps aux, tar, zcat, 
     grep, ifconfig, ...

Verifique seus significados usando-os em um prompt de comando ou digitando man ou info mais o nome do comando. Muitos comandos Linux exibirão uma breve informação de ajuda se você chamá-los de uma dessas maneiras:

     $ nomedocomando --help
     $ nomedocomando -h

whatis nomedocomando dá um resumo de qualquer comando no sistema para o qual exista uma entrada de manual.


4.2.7 Sistema X Window

Para iniciar o Sistema X Window a partir do console:

     # exec startx

Clicando com o botão direito no plano de fundo abre-se um menu de seleções.


4.2.8 Comandos de teclado importantes

Há alguns comandos de teclado importantes para o console Linux a serem lembrados ("mais" e "menos" referem-se às teclas no bloco numérico):

     Alt-F1 até F6:        Alterna para outros pseudo-terminais
     Ctrl-Alt-F1 até F6:   Alterna para outros pseudo-terminais
                           (a partir do X window, DOSEMU, etc.)
     Alt-F7:               Volta para o X window
     Ctrl-Alt-menos:       Muda a resolução da tela no X window
     Ctrl-Alt-mais:        Muda a resolução da tela no X window no sentido oposto
     Ctrl-Alt-Backspace:   Finaliza o programa servidor X11
     Alt-X, Alt-C, Alt-V:  Combinações de tecla para Cortar, Copiar, Colar com Ctrl-
                 comuns do Windows/Mac são substituídas por essas combinações Alt- em
                 alguns programas como o Netscape Composer.

4.3 Midnight Commander (MC)

O Midnight Commander (MC) é um "canivete suíço" do GNU para o console Linux e outros ambientes de terminal.


4.3.1 Instalar o MC

     # apt-get install mc

Então modifique o arquivo ~/.bashrc (ou /etc/bash.bashrc, chamado a partir de .bashrc), como descrito em sua página de manual, mc(1), sob a opção -P. Isso permite que o MC mude o diretório de trabalho após finalizar.

Se você estiver em um terminal, como kon e Kterm para os japoneses, que usam alguns caracteres gráficos, acrescentar um -a à linha de comando do MC pode ajudar a prevenir problemas.


4.3.2 Iniciar o MC

     $ mc

O MC executa todas as operações com arquivos através de seu menu, necessitando de um esforço mínimo do usuário.


4.3.3 Gerenciador de arquivos

O padrão são dois painéis de diretórios contendo listas de arquivos. Outro modo útil é definir a janela direita para "info" para ver a informação de privilégio de acesso dos arquivos, etc. A seguir estão alguns comandos de teclado essenciais. Com o daemon gpm sendo executado, pode-se usar o mouse também. (Não esqueça de pressionar a tecla shift para ter o comportamento normal de cortar e colar no MC.)


4.3.4 Truques de linha de comando


4.3.5 Editor

O editor interno tem um interessante esquema de cortar-e-colar. Pressionando F3, marca-se o início da seleção e um segundo F3 marca o fim e destaca a seleção. Você pode então mover seu cursor. Se você pressionar F6, a área selecionada será movida para o local do cursor. Se pressionar F5, a área selecionada será copiada e inserida no local do cursor. Para salvar o arquivo, tecle F2. Para sair, use o F10. Muitas teclas de cursor funcionam intuitivamente.

Esse editor pode ser iniciado diretamente em um arquivo:

     $ mc -e nome_do_arquivo_a_editar
     $ mcedit nome_do_arquivo_a_editar

Esse editor não é multi janela, mas pode-se usar vários consoles Linux para obter o mesmo efeito. Para copiar entre janelas, use as teclas Alt-Fn para alternar entre os consoles virtuais e use "Arquivo->Inserir arquivo" ou "Arquivo->copiar para Arquivo" para mover uma parte de um arquivo para outro.

Esse editor interno pode ser substituído por qualquer editor externo de sua escolha.

Além disso, muitos programas usam as variáveis de ambiente EDITOR ou VISUAL para decidir qual editor a ser usado. Se você não se sentir confortável com o vim, defina essas variáveis para o mcedit adicionando essas linhas ao arquivo ~/.bashrc:

     ...
     export EDITOR=mcedit
     export VISUAL=mcedit
     ...

Eu recomendo que elas sejam definidas para vim se possível. Aprender os comandos do vi(m) é a coisa certa a fazer, já que eles sempre estão lá no mundo Linux/Unix.


4.3.6 Visualizador

Esse é um visualizador muito esperto. É uma grande ferramenta para procurar palavras em documentos. Eu o uso sempre para os arquivos no diretório /usr/share/doc. Essa é a maneira mais rápida de navegar entre as massas de informação do Linux. Esse visualizador pode ser iniciado diretamente assim:

     $ mc -v nome_do_arquivo_a_visualizar

(Note que alguns pacotes violam a política e ainda guardam seus documentos no diretório /usr/doc.)


4.3.7 Recursos de auto início

Pressione Enter em um arquivo, e o programa apropriado manipulará seu conteúdo. Esse é um recurso muito conveniente do MC.

     executável:           Executa o comando
     arquivo man, html:    Direciona o conteúdo para o programa visualizador
     arquivo tar, gz, rpm: Navega em seu conteúdo com se fosse um subdiretório

Para permitir que esses recursos de visualizador/arquivo virtual funcionem, os arquivos visualizáveis não devem estar definidos como executáveis. Mude seus estados usando o comando chmod através do menu de arquivo do MC.


4.3.8 Sistema de arquivo virtual FTP

O MC pode ser usado para acessar arquivos na Internet usando FTP. Vá para o menu pressionando F9, e então tecle `p' para ativar o sistema de arquivos virtual FTP. Digitando uma URL na forma nomeusuario:senha@nomemaquina.nomedominio, será obtido seu diretório remoto, que parecerá como um local.


4.4 Básico do sistema de arquivos GNU/Linux

Cada arquivo e diretório no sistema GNU/Linux é associado a um usuário que é seu dono (owner) e um grupo que pertence a ele. Todas as informações de arquivo são gravadas em uma estrutura de dados chamada inode.


4.4.1 Permissões de acesso de arquivo e diretório

As permissões de acesso a arquivo e diretório são definidas separadamente para as três seguintes categorias de usuários afetados:

Para um arquivo, cada permissão correspondente possibilita:

Para um diretório, cada permissão correspondente possibilita:

Aqui, permissão de executar no diretório não significa apenas permitir a leitura dos arquivos em seu diretório, mas também permite que se veja seus atributos como o tamanho e o tempo de modificação.

Para obter as informações de permissão (e outras) sobre arquivos e diretórios, usa-se o ls. Consulte ls(1). Quando o ls é invocado com a opção -l, exibe essas informações na seguinte ordem:

Para mudar o dono do arquivo, usa-se o chown a partir da conta root. Veja chown(1). Para mudar o grupo do arquivo, usa-se o chgrp a partir da conta do dono do arquivo ou da conta root. Veja chgrp(1). Para mudar as permissões de acesso de arquivo e diretório, usa-se o chmod a partir da conta do dono do arquivo ou da conta root. Consulte chmod(1).

Por exemplo, para fazer uma árvore de diretórios ser de propriedade de um usuário foo e compartilhada por um grupo bar, execute os seguintes comandos a partir da conta root:

     # cd /algum/local/
     # chown -R foo:bar .
     # chmod -R ug+rwX,o=rX .

Há mais três bits de permissão especiais:

Aqui a saída de ls -l para esses bits é transformada em maiúsculas se os bits de execução estiverem ocultos devido a essas saídas estarem desabilitadas.

Definir set user ID para um arquivo executável permite que um usuário execute o arquivo executável com ID do dono do arquivo (por exemplo root). Similarmente, definir set group ID em um arquivo executável permite que um usuário execute o arquivo executável com o group ID do arquivo (por exemplo root). Devido a esses ajustes poderem causar sérios riscos de segurança, suas habilitações requerem cuidado extra.

Definir set group ID para um diretório permite o esquema de criação de arquivo no estilo BSD, onde todos os arquivos criados no diretório pertencem ao grupo do diretório.

Definir sticky bit em um diretório impede que um arquivo no diretório seja removido por um usuário que não é dono do arquivo. Para assegurar o conteúdo de um arquivo em diretórios globalmente graváveis como /tmp ou em diretórios graváveis por grupo, é necessário não apenas que a permissão de escrita (write) esteja desativada para o arquivo, mas também ativar o sticky bit no diretório. Caso contrário, o arquivo pode ser removido e um novo arquivo pode ser criado com o mesmo nome por qualquer usuário que tenha permissão de escrita no diretório.

Aqui estão alguns exemplos interessantes das permissões de arquivo.

     $ ls -l /etc/passwd /etc/shadow /dev/ppp /usr/sbin/pppd
     crw-rw----    1 root     dip      108,   0 Jan 18 13:32 /dev/ppp
     -rw-r--r--    1 root     root         1051 Jan 26 08:29 /etc/passwd
     -rw-r-----    1 root     shadow        746 Jan 26 08:29 /etc/shadow
     -rwsr-xr--    1 root     dip        234504 Nov 24 03:58 /usr/sbin/pppd
     $ ls -ld /tmp /var/tmp /usr/local /var/mail /usr/src
     drwxrwxrwt    4 root     root         4096 Feb  9 16:35 /tmp
     drwxrwsr-x   10 root     staff        4096 Jan 18 13:31 /usr/local
     drwxrwsr-x    3 root     src          4096 Jan 19 08:36 /usr/src
     drwxrwsr-x    2 root     mail         4096 Feb  2 22:19 /var/mail
     drwxrwxrwt    3 root     root         4096 Jan 25 02:48 /var/tmp

4.4.2 Marcas de tempo

Há três tipos de marcas de tempo para o arquivo GNU/Linux:

Note que ctime não é a hora de criação do arquivo.

Note que até uma simples leitura de um arquivo no sistema GNU/Linux normalmente causará uma operação de escrita de arquivo para atualizar a informação de atime no inode. Montar um sistema de arquivos com a opção noatime fará com que o sistema pule essa operação e resultará em acesso para leitura mais rápido. Veja mount(8).


4.4.3 Ligações (links)

Há dois métodos para associar um arquivo foo a um nome de arquivo diferente bar.

Veja no seguinte exemplo as mudanças no contador de ligações e as sutis diferenças no resultado do comando rm.

     $ echo "Conteúdo Original" > foo
     $ ls -l foo
     -rw-r--r--    1 osamu    osamu           4 Feb  9 22:26 foo
     $ ln foo bar     # hardlink
     $ ln -s foo baz  # symlink
     $ ls -l foo bar baz
     -rw-r--r--    2 osamu    osamu           4 Feb  9 22:26 bar
     lrwxrwxrwx    1 osamu    osamu           3 Feb  9 22:28 baz -> foo
     -rw-r--r--    2 osamu    osamu           4 Feb  9 22:26 foo
     $ rm foo
     $ echo "Novo Conteúdo" > foo
     $ cat bar
     Conteúdo Original
     $ cat baz
     Novo Conteúdo

Uma ligação simbólica tem as permissões de acesso de arquivo como "rwxrwxrwx" como mostrado no exemplo acima, com as permissões de acesso ditadas pelas permissões do arquivo apontado por elas.

O diretório . liga ao diretório em que aparece, então o contador de ligações de qualquer diretório novo começa com 2. O diretório .. liga ao diretório superior, então o contador de ligações do diretório aumenta com a adição de novos subdiretórios.


4.5 Estudos adicionais

Há muitas referências boas de Unix para o nível iniciante por aí. Os livros da O'Reilly geralmente são escolhas seguras de bons guias em qualquer campo dos temas de computadores. O documento O HOWTO de Dicas Linux do LDP é outro recurso a ser verificado. Veja Suporte para o Debian, Capítulo 15 para obter mais recursos.


[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ próximo ]

Referência Debian

1.06-16, Sáb Jan 3 21:37:21 UTC 2004

Osamu Aoki osamu@debian.org
Paulo Rogério Ormenese (líder: pt-br) pormenese@uol.com.br
Autores, Seção A.1