[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ próximo ]
Essa seção fornece uma orientação básica para o mundo Debian para o verdadeiro novato. Se você tiver usado algum sistema semelhante ao Unix por algum tempo, provavelmente sabe tudo que expliquei aqui. Por favor, use isso como uma verificação da realidade.
Depois da instalação do sistema Debian em seu PC, você precisa aprender algumas coisas para torná-lo útil. Vamos dar-lhe um treinamento expresso.
Após reiniciar o sistema, será apresentado a você uma tela de login gráfica ou baseada em caracteres dependendo de sua seleção inicial de pacotes. Para simplificar, se lhe for apresentada uma tela de login gráfica, pressione Ctrl-Alt-F1 [2] para obter a tela de login baseada em caracteres.
Suponha que o nome de seu sistema é foo, o prompt de login parece assim:
foo login:
Digite root, pressione a tecla Enter e digite a senha que você selecionou durante o processo de instalação. No sistema Debian, seguindo a tradição Unix, a senha é sensível a maiúsculas/minúsculas. Então o sistema começa com uma mensagem de saudação e lhe apresenta o prompt de comando root aguardando sua entrada. [3]
foo login: root Password: Last login: Sun Oct 26 19:04:09 2003 on tty3 Linux foo 2.4.22-1-686 #6 Sat Oct 4 14:09:08 EST 2003 i686 GNU/Linux Most of the programs included with the Debian GNU/Linux system are freely redistributable; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. root@foo:root#
Você está pronto para fazer a administração do sistema a partir desse prompt de comando root. Essa conta root também é chamada de super-usuário ou usuário privilegiado. A partir dessa conta, você pode fazer qualquer coisa:
ler, gravar, e remover quaisquer arquivos no sistema independentemente das permissões de arquivo
ajustar as propriedades e permissões de quaisquer arquivos no sistema
ajustar a senha de qualquer usuário não-privilegiado no sistema
fazer login para quaisquer contas sem suas senhas
É uma idéia extremamente ruim compartilhar o acesso para a conta root
compartilhando a senha. O uso de um programa como o sudo(8)
é a
maneira certa de compartilhar privilégios administrativos.
Por favor note que considera-se um bom hábito de Unix fazer login para a conta
de usuário não privilegiado mesmo quando você planeja fazer atividades
administrativas. Use os comandos sudo, super, ou
su -c para obter o privilégio de root limitado quando necessário.
Veja Trabalhando de forma mais segura
– sudo
, Seção 9.2.4. [4]
Eu acho que aprender um sistema de computador é como aprender um idioma
estrangeiro novo. Apesar de livros tutoriais ajudarem, você tem que praticá-lo
com ferramentas de ajuda. Nesse contexto, acho que é uma boa idéia instalar
alguns pacotes adicionais tais como mc
, vim
,
lynx
, doc-linux-text
e debian-policy
.
[5]
# apt-get update ... # apt-get install mc vim lynx doc-linux-text debian-policy ...
Se você já tiver esses pacotes instalados, nada será instalado.
Durante a instalação, normalmente se cria uma conta de usuário não privilegiado que recebe e-mails destinados à conta root. [6] Já que você não quer usar essa conta de usuário especial para as atividades de treinamento seguintes, você deve criar outra conta de usuário nova.
Supondo que você deseje que esse novo nome de usuário seja pinguim, digitar:
root@foo:root# adduser pinguim ... responda todas as questões
irá criá-la. [7] Antes de ir adiante, vamos aprender algumas coisas primeiro.
No sistema Debian padrão, há seis pseudo-terminais independentes disponíveis, isto é, você pode usar a tela de console de caracter VGA do PC como 6 terminais VT-100 comutáveis. Mude de um para outro pressionando a telcla Alt esquerdo e uma das teclas F1–F6 simultaneamente. Cada pseudo-terminal permite login independente para contas. O ambiente multi-usuário é uma grande característica do Unix, e muito importante.
Se você acidentalmente pressionou Alt-F7 em um sistema executando o Sistema X Window e a tela de console mostrar uma tela gráfica, obtenha o acesso ao console de caracter novamente pressionando Ctrl-Alt-F1. Tente mudar para um console diferente e volte ao original para exercitar isso.
Como quaisquer outros SOs modernos onde a operação de arquivos envolve cache de dados na memória, o sistema Debian precisa de um procedimento de desligamento apropriado antes que a energia possa ser desligada de forma segura para manter a integridade dos arquivos. Use o comando seguinte a partir do prompt root para desligar o sistema:
# shutdown -h now
Isso é para o modo multi-usuário normal. Se você estiver no modo usuário único, use o seguinte a partir do prompt de comando root:
# poweroff -i -f
Alternativamente, você pode pressionar Ctrl-Alt-Delete para desligar. [8]
Espere até que o sistema mostre "System halted" e então desligue a energia. Se a função APM ou ACPI tiver sido ativada pelo Linux e BIOS apropriadamente, o sistema se desligará sozinho. Veja Memória grande e autodesligamento, Seção 3.7.4 para maiores detalhes.
Agora você está pronto para brincar com seu sistema Debian sem riscos desde que você use essa conta de usuário não privilegiado pinguim. [9]
Vamos fazer login para o pinguim. Se você estiver no prompt shell root, pressione Ctrl-D [10] no prompt de comando root para fechar a atividade shell root e retornar ao prompt de login. Entre seu nome de usuário recém criado pinguim e a senha correspondente. [11] Será apresentado a você o seguinte prompt de comando.
pinguim@foo:pinguim$
A partir daqui, o exemplo dado usará o prompt de comando simplificado por facilidade. Eu usarei:
# : prompt shell root
$ : prompt shell de usuário não privilegiado
Nós começaremos aprendendo o sistema Debian primeiro da maneira fácil, Midnight Commander (MC), Seção 4.2 e mais tarde da maneira apropriada, Ambiente de trabalho semelhante ao Unix, Seção 4.3.
O Midnight Commander (MC) é um "canivete suíço" do GNU para o console Linux e outros ambientes de terminal. Isso dá ao novato uma experiência com o console baseada em menu que é muito mais fácil de aprender que os comandos Unix padrões.
Use esse comando para explorar o sistema Debian. Essa é a melhor maneira de aprender. Por favor, explore alguns locais chave simplesmente usando as teclas de cursor e a tecla Enter:
/etc
e seus subdiretórios.
/var/log
e seus subdiretórios.
/usr/share/doc
e seus subdiretórios.
/sbin
e /bin
Para fazer com que o MC mude o diretório de trabalho ao sair, você precisa
modificar seu arquivo ~/.bashrc
(ou /etc/bash.bashrc
,
chamado a partir do .bashrc
), como detalhado em sua página de
manual, mc(1)
, sob a opção -P. [12]
$ mc
O MC cuida de todas as operações de arquivo através de seu menu, requerendo esforço mínimo do usuário. Simplesmente pressione a F1 para obter a tela de ajuda. Você pode brincar com o MC simplesmente pressionando as teclas de cursor e as teclas de função. [13]
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.)
F1: Menu de ajuda
F3: Visualizador de arquivos interno
F4: Editor interno
F9: Ativar o menu
F10: Sair do Midnight Commander
Tab: Mover entre as 2 janelas
Insert: Marcar o arquivo para operação de múltiplos arquivos como cópia
Del: Apagar o arquivo (Tenha cuidado — configure o MC para o modo de eliminação segura.)
Teclas de cursor: Auto explicativo
Qualquer comando cd
mudará o diretório exibido na janela
selecionada.
Ctrl-Enter ou Alt-Enter copiará um nome de arquivo para a linha de comando.
Use isso com os comandos cp
ou mv
junto com edição de
linha de comando.
Alt-Tab exibirá possibilidades de expansão de um nome de arquivo no shell.
Pode-se especificar o diretório inicial para ambas as janelas como argumentos para o MC; por exemplo, mc /etc /root.
Esc + tecla_numérica == Fn (isto é, Esc + `1' = F1, etc.; Esc + `0' = F10)
Tecla Esc == tecla Alt (= Meta, M-); isto é, tecle Esc + `c' se quiser Alt-c.
O editor interno tem um interessante esquema de cortar-e-colar. Pressionando F3, marca-se o início da seleção, 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 vim
é a coisa certa a fazer, já que o
editor Vi está sempre lá no mundo Linux/Unix. [14]
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
Pressione Enter em um arquivo, e o programa apropriado manipulará seu conteúdo. Esse é um recurso muito conveniente do MC.
arquivo executável: Executa o comando arquivo man, html: Direciona o conteúdo para o programa visualizador arquivo tar.gz, deb: Navega em seu conteúdo com se fosse um subdiretório
Para permitir que esses recursos de visualizador e 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.
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. Entre uma URL na forma nomeusuario:senha@nomemaquina.nomedominio, e será obtido um diretório remoto, que parecerá como um local.
Tente http.us.debian.org/debian como URL e navegue o repositório de arquivos do Debian. Veja Os repositórios Debian, Seção 2.1 para detalhes sobre como eles são organizados.
Apesar de o MC possibilitar que você possa fazer quase tudo, é muito importante para você que aprenda como usar as ferramentas de linha de comando invocadas a partir do prompt shell e se torne familiar com o ambiente de trabalho semelhante ao Unix. [15]
No ambiente similar ao Unix, há alguns comandos de teclado que tem significados especiais. [16]
Ctrl-U: Apaga uma linha antes do cursor.
Ctrl-H: Apaga um caracter antes do cursor.
Ctrl-D: Finaliza a entrada. (sai do shell se você estiver usando shell)
Ctrl-C: Finaliza o programa sendo executado.
Ctrl-Z: Pára temporariamente o programa. (coloca-o para trabalho de plano de fundo (background job), veja comando &, Seção 4.3.10.1)
Ctrl-S: Trava (Halt) a saída para a tela. [17]
Ctrl-Q: Reativa saída para a tela.
O shell padrão, bash
, tem capacidades de edição de histórico e
tab-completar para ajudar o uso interativo.
seta-cima: Inicia busca no histórico de comandos.
Ctrl-R: Inicia busca incremental no histórico de comandos.
TAB: Completa a entrada do nome de arquivo para a linha de comando.
Ctrl-V TAB: Entra TAB sem expansão para a linha de comando.
Outros comandos de teclado importantes a lembrar:
Ctrl-Alt-Del: Reinicia/halt o sistema, veja Instalar mais alguns pacotes após a instalação inicial, Seção 3.7.1.
Click-botão-esquerdo-e-arrasta do mouse: Seleciona e copia para a área de tranferência (clipboard).
Click botão do meio do mouse: Cola área de transferência no cursor.
A tecla Meta (terminologia do Emacs) é atribuída tradicionalmente à tecla Alt esquerda. Alguns sistemas podem ser configurados para usar a tecla Windows como a tecla Meta.
Aqui, para usar um mouse no console de caracter do Linux, você precisa ter
instalado o gpm
como daemon. [18] Veja Configuração do
mouse, Seção 3.3.
Vamos aprender os comandos Unix básicos. [19] Teste todos os comandos seguintes a partir da conta de usuário não privilegiado pinguim:
pwd
Mostra o nome do diretório atual/de trabalho.
whoami
Mostra o nome do usuário atual.
file foo
Mostra o tipo de arquivo do arquivo foo.
type -p nomedecomando
Mostra uma localização de arquivo do comando nomedecomando.
which nomedecomando faz o mesmo.
type nomedecomando
Mostra informação sobre o comando nomedecomando.
apropos palavra-chave
Encontra comandos relacionados a palavra-chave.
man -k palavra-chave faz o mesmo.
whatis nomedecomando
Mostra uma explicação de uma linha sobre o comando nomedecomando.
man -a nomedecomando
Mostra uma explicação curta sobre o comando nomedecomando. (estilo Unix)
info nomedecomando
Mostra uma explicação longa sobre o comando nomedecomando. (estilo GNU)
ls
Lista o conteúdo do diretório. (arquivos não-ponto e diretórios) [20]
ls -a
Lista o conteúdo do diretório. (toods os arquivos e diretórios)
ls -A
Lista o conteúdo do diretório. (quase todos os arquivos e diretórios, isto é,
pula "..
" e ".
")
ls -la
Lista todo o conteúdo do diretório com informação de detalhe. Veja O conceito de sistema de arquivos no Debian, Seção 4.5.2.
ls -d
Lista todos os diretórios sob o diretório atual.
lsof foo
Lista o estado de abertura do arquivo foo.
mkdir foo
Cria um novo diretório foo no diretório atual.
rmdir foo
Remove um diretório foo no diretório atual.
cd foo
Muda para o diretório foo
no diretório atual ou no
diretório listado na variável CDPATH. Veja o comando
cd
na página de manual builtins(7)
cd /
Muda o diretório para o diretório raiz
cd
Muda o diretório para o diretório home do usuário.
cd /foo
Muda o diretório para o caminho de diretório absoluto
/foo
.
cd ..
Muda o diretório para o diretório pai.
cd ~foo
Muda o diretório para o diretório home do usuário foo.
cd -
Muda o diretório para o diretório anterior.
</etc/motd pager
Mostra o conteúdo de /etc/motd
usando o paginador padrão. Veja comando < foo, Seção
4.3.10.8. [21]
touch arquivolixo
Cria um arquivo arquivolixo
vazio.
cp foo bar
Copia um arquivo foo
existente para um novo arquivo
bar
.
rm arquivolixo
Remove um arquivo arquivolixo
.
mv foo bar
Renomeia um arquivo foo
existente para um novo nome
bar
.
mv foo bar/baz
Move um arquivo foo
existente para um novo local com um
novo nome bar/baz
. O diretório
bar/
precisa existir.
chmod 600 foo
Torna um arquivo foo
existente não-legível e
não-gravável para outras pessoas. (não-executável para todos)
chmod 644 foo
Torna um arquivo foo
existente legível mas não-gravável
por outras pessoas. (não-executável para todos)
chmod 755 foo
Torna um arquivo foo
existente legível mas não-gravável
por outras pessoas. (executável para todos)
top
Mostra a informação de processos usando tela cheia. Pressione "q" para sair
ps aux | pager
Mostra informação sobre todos os processos sendo executados usando saída de estilo BSD. Veja comando1 | comando2, Seção 4.3.10.2.
ps -ef | pager
Mostra informação sobre todos os processos sendo executados usando saída estilo Unix system-V.
ps aux | grep -e "[e]xim"
Mostra todos os processos executando exim
. Aprenda a expressão
regular a partir da página de manual do grep(1)
digitando
man grep.
ps axf | pager
Mostra informação sobre todos os processos sendo executados com saída com ASCII art.
kill 1234
Mata um processo identificado pela ID de processo: 1234. Veja Matar um processo, Seção 8.5.1.
grep -e "padrão" *.html
Encontra um "padrão" em todos os arquivos terminando com .html no diretório atual e mostra todos.
gzip foo
Comprime foo
para criar foo.gz
usando o código Lempel-Ziv (LZ77).
gunzip foo.gz
Descompacta foo.gz
para criar o arquivo
foo
.
bzip2 foo
Compacta foo
para criar foo.bz2
usando o algoritmo de compressão de texto por ordenação de bloco de
Burrows-Wheeler, e código de Huffman. (Melhor compressão que o
gzip
)
bunzip2 foo.bz2
Descompacta foo.bz2
para criar o arquivo
foo
.
tar -xvvf foo.tar
Extrai arquivos a partir do arquivo foo.tar
.
tar -xvvzf foo.tar.gz
Extrai arquivos a partir do arquivo foo.tar.gz
gzipado.
tar -xvvf --bzip2 foo.tar.bz2
Extrai arquivos a partir do arquivo foo.tar.bz2
. [22]
tar -cvvf foo.tar bar/
Arquiva o conteúdo da pasta bar/
no arquivo
foo.tar
.
tar -cvvzf foo.tar.gz bar/
Arquiva o conteúdo da pasta bar/
no arquivo comprimido
foo.tar.gz
.
tar -cvvf --bzip2 foo.tar.bz2 bar/
Arquiva o conteúdo da pasta bar/
no arquivo
foo.tar.bz2
. [23]
zcat README.gz | pager
Mostra o conteúdo do README.gz
comprimido usando o paginador
padrão.
zcat README.gz > foo
Cria um arquivo foo
com o conteúdo descompactado de
README.gz
.
zcat README.gz >> foo
Acrescenta o conteúdo descomprimido de README.gz
ao final do
arquivo foo
. (Se ele não existir, cria-o primeiro.)
find . -name padrão
encontra nomes de arquivo que combinem usando o padrão shell. (mais lento)
locate -d . padrão
encontra nomes de arquivo que combinem usando o padrão shell. (mais rápido usando uma base de dados gerada regularmente)
Por favor cruze diretórios e mergulhe no sistema usando os comandos acima como um treinamento. Se você tiver questões sobre qualquer um dos comandos de console, por favor, certifique-se de ler a página de manual. Por exemplo, esses comandos são um bom começo:
$ man man $ man bash $ man ls
Também é uma boa hora para iniciar o vim
e pressionar a tecla F1.
Você deve ler pelo menos as primeiras 35 linhas. Então faça o curso de
treinamento online movendo o cursor para |tutor| e pressionando
Ctrl-]. Veja Editores, Capítulo 11 para
aprender mais sobre editores.
Por favor note que muitos comandos similares a Unix incluindo os do GNU e BSD mostrarão uma breve informação de ajuda se você invocá-los em uma das seguintes maneiras (ou sem nenhum argumento em alguns casos):
$ nomedecomando --help $ nomedecomando -h
Teste também exemplos em Dicas Debian, Capítulo 8 como seu auto treinamento.
Agora você tem alguma idéia de como usar o sistema Debian. Vamos olhar com mais profundidade o mecanismo da execução de comando no sistema Debian. [24]
Um comando simples é uma seqüência de
atribuições de variáveis (opcional)
nome de comando
argumentos (opcional)
redireções (opcional:> , >> , < , << , etc.)
operador de controle (opcional: && , || ; <newline> , ; , & , ( , ) )
Para comandos mais complexos com aspas e substituições, veja Processamento de linha de comando, Seção 13.2.6.
A execução de comando típica usa uma seqüência de linha shell como a seguinte: [25]
$ date Sun Oct 26 08:17:20 CET 2003 $ LC_ALL=fr_FR date dim oct 26 08:17:39 CET 2003
Aqui, o programa date
é executado como o trabalho em primeiro
plano (foreground). A variável de ambiente LC_ALL é:
indefinida (padrão do sistema, o mesmo que C para o primeiro comando
definida para fr_FR (locale francês) para o segundo comando
Muitas execuções de comandos geralmente não têm uma definição de variável de ambiente precedendo. Para o exemplo acima, você pode executar alternativamente:
$ LC_ALL=fr_FR $ date dim oct 26 08:17:39 CET 2003
Como você pode ver aqui, a saída do comando é afetada pela variável de ambiente para produzir saída em francês. Se você quiser que a variável de ambiente seja transmitida aos subprocessos (por exemplo, quando chamando um script shell), você precisa ao invés "export"á-la usando:
$ export LC_ALL
Quando você digita um comando no shell, o shell procura o comando na lista de diretórios contida pela variável de ambiente PATH. O valor da variável de ambiente PATH também é chamado de caminho de busca do shell.
Na instalação Debian padrão, a variável de ambiente PATH de uma
conta de usuário não deve incluir /sbin
. Então se você quiser
executar quaisquer comandos como ifconfig
de /sbin
,
você precisa mudar a variável de ambiente PATH para incluí-lo. A
variável de ambiente PATH geralmente é definida pelo arquivo de
inicialização ~/.bash_profile
, veja Configuração do bash, Seção 3.2.
Alguns comandos levam argumentos. Os argumentos começando com - ou -- são chamados de opções e controlam o comportamento do comando.
$ date Mon Oct 27 23:02:09 CET 2003 $ date -R Mon, 27 Oct 2003 23:02:40 +0100
Aqui o argumento de linha de comando -R muda o comportamento do
comando date
para saída com data em conformidade com a RFC-2822.
Freqüentemente se deseja que um comando funcione com um grupo de arquivos sem digitar todos eles. O padrão de expansão de nome de arquivo usando os curingas do shell facilitam essas necessidades.
*
Substitui qualquer grupo de 0 ou mais caracteres.
Não substitui um nome de arquivo que comece com ".".
?
Substitui exatamente um caracter.
[...]
Substitui exatamente um caracter por qualquer caracter colocado entre os colchetes.
[a-z]
Substitui exatamente um caracter por qualquer caracter entre a e z.
[^...]
Substitui exatamente um caracter por qualquer outro diferente dos caracteres entre colchetes (excluindo "^").
Por exemplo, teste o seguinte e pense por si mesmo:
$ mkdir lixo; cd lixo; $ touch 1.txt 2.txt 3.c 4.h .5.txt $ echo *.txt 1.txt 2.txt $ echo * 1.txt 2.txt 3.c 4.h $ echo *.[hc] 3.c 4.h $ echo .* . .. .5.txt $ echo .[^.]* .5.txt $ echo [^1-3]* 4.h $ cd ..; rm -rf lixo
Cada comando retorna seu estado de saída como o valor de retorno.
valor de retorno = 0 se o comando é executado com sucesso.
valor de retorno = não-zero se o comando finaliza com erro.
O valor de retorno pode ser acessado pela variável shell $? imediatamente após a execução.
Por favor note que, quando o valor de retorno é usado no contexto lógico para o shell, sucesso é tratado como o TRUE (VERDADEIRO) lógico. Isso é um pouco não intuitivo já que sucesso produz valor zero.
Veja Condicionais de shell, Seção 13.2.5.
Vamos tentar lembrar as seguintes expressões de comandos shell. Veja Parâmetros shell, Seção 13.2.3, Redirecionamento shell, Seção 13.2.4, Condicionais de shell, Seção 13.2.5, e Processamento de linha de comando, Seção 13.2.6 depois de ler essas expressões.
O comando
é executado na subshell no plano de
fundo (background). Tarefas em plano de fundo permitem que usuários
executem vários programas em um único shell.
O gerenciamento de processos em plano de fundo envolve os comandos embutidos do
shell: jobs
, fg
, bg
, e
kill
. Por favor leia as seções da página de manual
bash(1)
em "SIGNALS", "JOB CONTROL", e
"SHELL BUILTIN COMMANDS". [26]
A saída padrão do comando1
é transmitida à entrada padrão do
comando2
. Ambos os comandos podem estar sendo executados
ao mesmo tempo. Isso é chamado de pipeline.
O comando1
e o comando2
são executados
seqüencialmente.
O comando1
é executado. Se tiver sucesso, o comando2
também é executado seqüencialmente. Retorna sucesso se o
comando1
ou o comando2
tiverem
sucesso.
Redireciona a saída padrão do comando
para um arquivo
foo. (sobrescreve)
Redireciona a saída padrão do comando
para um arquivo
foo (acrescenta (append))
Redireciona tanto a saída padrão quanto a saída padrão de erro do
comando
para um arquivo foo.
Redireciona a entrada padrão do comando
para um arquivo
foo. Teste:
$ </etc/motd pager ... (as saudações) $ pager </etc/motd ... (as saudações) $ pager /etc/motd ... (as saudações) $ cat /etc/motd | pager ... (as saudações)
Apesar de as 4 sintaxes mostrarem a mesma coisa, o último exemplo executa um
comando cat
extra e desperdiça recursos sem motivo.
Você pode definir um apelido (alias) para o comando usado freqüentemente. Por exemplo:
$ alias la='ls -la'
Agora, la
funciona como um atalho para ls -la que
lista todos os arquivos em formato de listagem longa.
Você pode identificar o caminho (path) exato ou identidade do comando usando o
comando type
. Por exemplo:
$ type ls ls is hashed (/bin/ls) $ type la la is aliased to `ls -la' $ type echo echo is a shell builtin $ type file file is /usr/bin/file
Aqui o ls
foi procurado recentemente enquanto file
não foi, então o ls
está "hashed", isto é, o shell tem
um registro interno para o acesso rápido da localização do comando
ls
.
Há algumas ferramentas de processamento de texto que são usadas muito freqüentemente no sistema similar ao Unix.
Nenhuma expressão regular é usada:
head
tem como saída a primeira parte de arquivos.
tail
tem como saída a última parte de arquivos.
sort
ordena linhas de arquivos texto.
uniq
remove linhas duplicadas de um arquivo ordenado.
tr
troca ou apaga caracteres.
diff
compara aquivos linha por linha.
É usada Expressão regular básica (ERB):
grep
encontra texto com o padrão.
ed
é um editor de linha primitivo.
sed
é um editor de fluxo.
vi
é um editor de tela.
emacs
é um editor de tela.
É usada Expressão regular extendida (ERE):
egrep
encontra texto com o padrão.
awk
faz processamento de texto simples. Veja Awk, Seção 13.3.
perl
faz todo tipo de processamento de texto concebível. Veja Perl, Seção 13.4.
Veja Substituição de expressões regulares, Seção 8.6.12, Pequenos scripts para ligar comandos, Seção 8.6.17, e Loucura de script Perl curto, Seção 8.6.19 para ter alguns exemplos de script.
Expressões regulares são usadas em muitas ferramentas de processamento de texto. Elas são análogas aos curingas de shell (veja Curingas (wildcards) de shell, Seção 4.3.8), mas são também mais complicadas e mais poderosas.
A expressão regular descreve um padrão de combinação e é feita de caracteres de texto e metacaracteres. O metacaracter é apenas um caracter com um significado especial. Há 2 estilos principais, ERB e ERE, dependendo das ferramentas de texto como descrito em Processamento de texto em similares a Unix, Seção 4.4.
Para as EREs, os metacaracteres incluem "\ . [ ] ^ $ * + ? ( ) { } |". A expressão regular significa:
c
Combina com o não-metacaracter "c".
\c
Combina com o caracter literal "c".
.
Combina com qualquer caracter incluindo newline (nova linha).
^
Combina com o começo de uma string (cadeia de caracteres).
$
Combina com o final de uma string.
\<
Combina com o começo de uma palavra.
\>
Combina com o final de uma palavra.
[abc...]
Essa lista de caracteres combina com qualquer um dos caracteres "abc...".
[^abc...]
Essa lista de caracteres negada combina com qualquer caracter exceto "abc...".
r*
Combina com zero ou mais expressões regulares identificadas por "r".
r+
Combina com uma ou mais expressões regulares identificadas por "r".
r?
Combina com zero ou uma expressões regulares identificadas por "r".
r1|r2
Combina com uma das expressões regulares identificadas por "r1" ou "r2".
(r1|r2)
Combina com uma das expressões regulares identificadas por "r1" ou "r2" e a trata como uma expressão regular entre parênteses.
Em ERBs os metacaracteres "+ ? ( ) { }
|" perdem seu significado especial; ao invés disso use as versões
com barra invertida "\+ \? \( \) \{ \} \|". Assim a
construção de agrupamento (r1|r2) precisa ser colocada como
\(r1|r2\) em ERBs. No emacs
, apesar de ser
basicamente ERB, "+ ?" são tratados como os
metacaracteres. Então não há necessidade de usar barra
invertida para eles. Veja Expressões de substituição,
Seção 4.4.2 para saber como a construção de agrupamento é usada.
Por exemplo, o grep
pode ser usado para fazedr a busca de texto
usando a expressão regular:
$ egrep 'GNU.*LICENSE|Yoyodyne' /usr/share/common-licenses/GPL GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE Yoyodyne, Inc., hereby disclaims all copyright interest in the program
Para a expressão de substituição, os seguintes caracteres têm significados especiais:
&
Representa o que a expressão regular casou (matched). (use \&
no emacs
)
\n
Representa o que a n-ésima expressão regular entre parênteses casou.
Para string de substituição Perl, usa-se $n ao invés de \n e & não tem significado especial.
Por exemplo:
$ echo zzz1abc2efg3hij4 | \ sed -e 's/\(1[a-z]*\)[0-9]*\(.*\)$/=&=/' zzz=1abc2efg3hij4= $ echo zzz1abc2efg3hij4 | \ sed -e 's/\(1[a-z]*\)[0-9]*\(.*\)$/\2===\1/' zzzefg3hij4===1abc $ echo zzz1abc2efg3hij4 | \ perl -pe 's/(1[a-z]*)[0-9]*(.*)$/$2===$1/' zzzefg3hij4===1abc $ echo zzz1abc2efg3hij4 | \ perl -pe 's/(1[a-z]*)[0-9]*(.*)$/=&=/' zzz=&=
Aqui por favor preste uma atenção extra ao estilo da expressão regular entre parênteses e como as strings casadas são usadas no processo de substituição de texto em ferramentas diferentes.
Essas expressões regulares podem ser usadas para os movimentos de cursor e as ações de substituições de texto nos editores também.
Por favor leia todas as páginas de manual relacionadas para aprender esses comandos.
No GNU/Linux e outros SOs similares ao Unix, os arquivos são
organizados em diretórios. [27] Todos os
arquivos e diretórios são arranjados em uma
grande árvore, a hierarquia de arquivos, com raiz em /
.
Esses arquivos e diretórios podem ser distribuídos entre vários dispositivos.
O comando mount(8)
serve para anexar o sistema de arquivos
encontrado em um dispositivo à grande árvore de arquivos. Inversamente, o
comando unmount(8)
desconecta o dispositivo novamente.
Aqui está o básico:
Nomes de arquivos são sensíveis a maiúsculas/minúsculas. Isto é,
MEUARQUIVO
e MeuArquivo
são arquivos
diferentes.
O diretório raiz (root) é referenciado simplesmente como /
. Não
confunda essa "raiz"(root) com o usuário root. Veja Login em um prompt shell como root, Seção 4.1.1.
Todo diretório tem um nome que pode conter quaisquer letras ou símbolos
exceto /
. [28] O diretório raiz é uma exceção; seu nome é /
(pronunciado como "slash" (barra) ou "o diretório raiz") e
não pode ser renomeado.
Cada arquivo ou diretório é designado por um nome de arquivo totalmente
qualificado, nome de arquivo absoluto, ou um
caminho, dando a seqüência de diretórios através dos quais se
precisa passar para alcançá-lo. Os três termos são sinônimos. Todos os nomes
de arquivo absolutos começam com o diretório /
, e há uma
/
entre cada diretório ou arquivo no nome de arquivo. A primeira
/
é o nome de um diretório, mas as outras são simplesmente
separadores para distinguir as partes do nome de arquivo.
As palavras usadas aqui podem ser confusas. Tome o seguinte exemplo:
/usr/share/keytables/us.map.gz
Esse é um nome de arquivo totalmente qualificado; algumas pessoas o chamam de
caminho (path). Entretanto, as pessoas também se referem a
us.map.gz
sozinho como um nome de arquivo. [29]
O diretório raiz tem um número de ramos, como /etc
e
/usr
. Esses subdiretórios também ramificam em ainda mais
subdiretórios, como /etc/init.d
e /usr/local
. O
conjunto todo junto é chamado de árvore de diretórios.
Você pode pensar em um nome de arquivo absoluto como uma rota a partir da base
da árvore (/
) até o fim de algum ramo (um arquivo). Você também
ouvirá as pessoas falarem sobre a árvore de diretórios como se fosse uma árvore
familiar: assim os subdiretórios tem
ancestrais, e um caminho mostra a ascendência completa de um
arquivo.
Há também caminhos relativos que começam em algum lugar diferente do diretório
raiz. Você deve se lembrar de que o diretório ../
se refere ao
diretório pai.
Não há diretório que corresponda a um dispositivo físico, tal como seu disco rígido. Isso difere do CP/M, DOS, e Windows, onde todos os caminhos começam com um nome de dispositivo como C:\. Veja O conceito de sistema de arquivos no Debian, Seção 4.5.2.
As melhores práticas detalhadas para a hierarquia de arquivos estão descritas
no Padrão de
Hierarquia de Sistema de Arquivos
. Você deve se lembrar dos
seguintes fatos como iniciante:
/
Uma /
simples representa o diretório raiz.
/etc
Esse é o lugar para os arquivos de configuração globais do sistema.
/var/log
Esse é o lugar dos arquivos de log do sistema.
/home
Esse é o diretório que contém todos os diretórios home para todos os usuários não privilegiados.
Seguindo a tradição Unix, o sistema Debian fornece o sistema de arquivos sob o qual os dados físicos em discos rígidos e outros dispositivos de armazenamento, e a interação com os dispositivos de hardware como telas de console e consoles seriais remotos são representados em uma forma unificada.
Cada arquivo, diretório, pipe nomeada, ou dispositivo físico em um sistema
Debian tem uma estrutura de dado chamada inode que descreve
seus atributos associados como o usuário que é seu dono, o grupo ao qual
pertence, a hora do último acesso, etc.. Veja /usr/include/linux/fs.h
para ter a
definição exata da estrutura inode no sistema Debian GNU/Linux.
Essa representação unificada de entidades físicas é muito poderosa já que nos permite usar o mesmo comando para o mesmo tipo de operação em muitos dispositivos totalmente diferentes.
Todos os seus arquivos poderiam estar em um disco --- ou você poderia ter 20 discos, alguns deles conectados a computadores diferentes em algum lugar na rede. Você não pode dizer simplesmente olhando pela árvore de diretórios, e praticamente todos os comandos funcionam da mesma forma independentemente do tipo de dispositivo(s) físico(s) em que seus arquivos realmente estão.
As permissões de acesso a arquivo e diretório são definidas separadamente para as três seguintes categorias de usuários afetados:
o usuário (user) que é dono do arquivo (u),
outros usuários no grupo (group) ao qual o arquivo pertence (g), e
todos os outros (other) usuários (o).
Para um arquivo, cada permissão correspondente possibilita:
ler (r) (read): para examinar o conteúdo do arquivo,
escrever (w) (write): para modificar o arquivo, e
executar (x): para executar o arquivo como um comando.
Para um diretório, cada permissão correspondente possibilita:
ler (r): para listar o conteúdo do diretório,
escrever (w): para adicionar ou remover arquivos no diretório, e
executar (x): para acessar arquivos no diretório.
Aqui, permissão de executar no diretório não significa apenas permitir a leitura dos arquivos em seu diretório, mas também permitir a visualização de seus atributos, como o tamanho e o tempo de modificação.
Para obter as informações de permissão (e outras) de 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:
o tipo de arquivo (primeiro caracter)
-: arquivo normal
d: diretório
l: ligação simbólica (symlink)
c: nó de dispositivo caracter
b: nó de dispositivo bloco
p: pipe nomeada
s: soquete
as permissões de acesso do arquivo (os próximos nove caracteres, consistindo de três caracteres cada para usuário (user), grupo (group), e outros (other) nessa ordem)
o número de ligações diretas (hard links) para o arquivo
o nome do usuário que é dono do arquivo
o nome do grupo ao qual o arquivo pertence
o tamanho do arquivo em caracteres (bytes)
a data e hora do arquivo (mtime)
o nome do arquivo.
Para mudar o dono do arquivo, usa-se o chown
a partir da conta
root. Para mudar o grupo do arquivo, usa-se o chgrp
a partir da
conta do dono do arquivo ou da conta root. 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. A sintaxe básica para manipular o arquivo
foo
é:
# chown novodono foo # chgrp novogrupo foo # chmod [ugoa][+-=][rwx][,...] foo
Veja chown(1)
, chgrp(1)
, e chmod(1)
para
os detalhes.
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:
set user ID (s ou S ao invés do x do usuário),
set group ID (s ou S ao invés do x do grupo), e
sticky bit (t ou T ao invés do x de outros).
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.
Habilitar 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.
Habilitar 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.
Habilitar 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
Há um modo numérico alternativo para descrever permissões de arquivo em
comandos chmod(1)
. Esse modo numérico usa de 3 a 4 dígitos de
números octais (base=8). Cada dígito corresponde a:
primeiro dígito opcional: soma de set user ID (=4), set group ID (=2), e sticky bit (=1)
segundo dígito: soma de permissões de leitura (=4), escrita (=2), e execução (=1) para o usuário
terceiro dígito: idem para o grupo
quarto dígito: idem para outros
Isso parece complicado mas na verdade é muito simples. Se você olhar para as primeiras (2-10) colunas da saída do comando ls -l e lê-las como uma representação binária (base=2) de permissões de arquivo ("-" sendo "0" e "rwx" sendo "1"), esse valor de modo numérico deve fazer sentido como uma representação octal (base=8) das permissões de arquivo para você. [30] Por exemplo, teste:
$ touch foo bar $ chmod u=rw,go=r foo $ chmod 644 bar $ ls -l foo bar -rw-r--r-- 1 pinguim pinguim 0 Nov 3 23:30 foo -rw-r--r-- 1 pinguim pinguim 0 Nov 3 23:30 bar
A máscara de permissão de arquivo padrão pode ser definida usando o comando
interno de shell umask
. Consulte builtins(7)
.
Há três tipos de marcas de tempo para um arquivo GNU/Linux:
mtime: a hora da modificação (ls -l),
ctime: a hora da mudança de estado (ls -lc), e
atime: a hora do último acesso (ls -lu).
Note que ctime não é a hora de criação do arquivo.
Sobrescrever um arquivo altera mtime, ctime, e atime do arquivo.
Mudar a permissão ou o dono de um arquivo altera o ctime e o atime do arquivo.
Ler um arquivo altera o atime do arquivo.
Note que até uma simples leitura de um arquivo no sistema Debian 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)
.
Use o comando touch(1)
para mudar as marcas de tempo de arquivos
existentes.
Há dois métodos para associar um arquivo foo a um nome de arquivo diferente bar.
uma ligação direta (hard link) é um nome duplicado para um arquivo existente. (ln foo bar),
ligação simbólica, ou "symlink", é um arquivo especial que aponta para outro arquivo pelo nome (ln -s foo 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 # ligação direta (hard link) $ ln -s foo baz # ligação simbólica (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
A ligação simbólica tem as permissões nominais de acesso de arquivo como "rwxrwxrwx", como mostrado no exemplo acima, com as permissões de acesso efetivas 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.
Um pipe nomeado é um arquivo que age como um pipe. Você coloca alguma coisa no arquivo e isso sai do outro lado. Então é chamado de FIFO, ou First-In-First-Out (Primeiro-Entra-Primeiro-Sai): a primeira coisa que você coloca no pipe é a primeira coisa que sai do outro lado.
Se você escrever em um pipe nomeado, o processo que está escrevendo no pipe não termina até que a informação que está sendo escrita seja lida pelo pipe. Se você ler de um pipe nomeado, o processo de leitura espera até que haja algo para ler antes de terminar. O tamanho do pipe é sempre zero --- ele não grava dados, apenas liga dois processos como o | do shell. Entretanto, como o pipe tem um nome, os dois processos não precisam estar na mesma linha de comando ou mesmo serem executados pelo mesmo usuário.
Você pode testar isso fazendo o seguinte:
$ cd; mkfifo meupipe $ echo "olá" >meupipe & # põe em plano de fundo (background) [1] 5952 $ ls -l meupipe prw-r--r-- 1 pinguim pinguim 0 2003-11-06 23:18 meupipe $ cat meupipe hello [1]+ Done echo olá >meupipe $ ls meupipe prw-r--r-- 1 pinguim pinguim 0 2003-11-06 23:20 meupipe $ rm mypipe
O soquete é similar ao pipe nomeado (FIFO) e possibilita que processos troquem informações. Para o soquete, esses processos não precisam ser executados ao mesmo tempo nem ser filhos do mesmo processo pai. Esse é o ponto final para a comunicação entre processos. A troca de informação pode ocorrer pela rede entre diferentes sistemas.
Arquivos de dispositivos se referem a dispositivos físicos ou virtuais em seu sistema, tais como seu disco rígido, sua placa de vídeo, monitor, ou teclado. Um exemplo de dispositivo virtual é o teclado, representado pelo /dev/console.
Há dois tipos de dispositivos:
dispositivo caracter
Pode ser acessado um caracter por vez, isto é, a menor unidade de dado que pode ser escrita ou lida do dispositivo é um caracter (byte).
dispositivo bloco
Precisa ser acessado em unidades maiores chamadas blocos, que contêm um número de caracteres. Seu disco rígido é um dispositivo bloco.
Você pode ler ou escrever em arquivos de dispositivos, embora o arquivo possa
conter dados binários que podem ser algo sem nexo, incompreensível para
humanos. Escrever dados diretamente nesses arquivos algumas vezes é útil para
resolução de problemas de conexões de hardware. Por exemplo, você pode enviar
um arquivo texto para o dispositivo de impressora /dev/lp0
ou
enviar comandos de modem para a porta serial apropriada
/dev/ttyS0
. Mas, a menos que isso seja feito com cautela, isso
pode causar um grande desastre. Então seja cuidadoso.
/dev/null
etc.
/dev/null
é um arquivo de dispositivo especial que descarta
qualquer coisa quq você escrever nele. Se você não quiser alguma coisa, envie
para /dev/null
. É essencialmente um poço sem fundo. Se você ler
de /dev/null
, obterá um caracter fim-de-arquivo (EOF)
imediatamente.
/dev/zero
é similar, mas se você ler a partir dele obtém o
caracter \0 (não o mesmo que o número zero ASCII). Veja Arquivos Falsos, Seção 8.6.33.
O número de nó de dispositivo é mostrado executando ls
assim:
$ ls -l /dev/hda /dev/ttyS0 /dev/zero brw-rw---- 1 root disk 3, 0 Mar 14 2002 /dev/hda crw-rw---- 1 root dialout 4, 64 Nov 15 09:51 /dev/ttyS0 crw-rw-rw- 1 root root 1, 5 Aug 31 03:03 /dev/zero
Aqui,
/dev/hda
tem o número maior (major) de dispositivo 3 e número
menor (minor) de dispositivo 0. É acessível para leitura/escrita pelo usuário
que pertence ao grupo disk,
/dev/ttyS0
tem número maior de dispositivo 4 e número menor de
dispositivo 64. É acessível para leitura/escrita pelo usuário que pertence ao
grupo dialout, e
/dev/zero
tem número maior de dispositivo 1 e número menor de
dispositivo 5. É acessível para leitura/escrita por qualquer um.
No sistema mais antigo, o processo de instalação cria os nós de dispositivos
usando o comando /sbin/MAKEDEV
. Veja a página de manual
MAKEDEV(8)
.
No sistema mais novo, o sistema de arquivos sob o /dev
é povoado
automaticamente pelo sistema de arquivos de dispositivos de forma similar ao
sistema de arquivos /proc
.
/proc
O sistema de arquivos /proc
é um pseudo sistema de arquivos e
contém informações sobre o sistema e processos que estão sendo executados.
As pessoas freqüentemente se apavoram quando notam um arquivo em particular -
/proc/kcore
- que é geralmente enorme. Ele é (mais ou menos) uma
cópia do conteúdo da memória de seu computador. É usado para depurar (debug) o
kernel. Ele não existe realmente em lugar nenhum, então não se preocupe com
seu tamanho.
Veja Ajustando o kernel pelo sistema
de arquivos proc, Seção 7.3 e a página de manual proc(5)
.
Veja X, Seção 9.4.
O Sistema X Window pode ser iniciado automaticamente com um daemon de login
gráfico similar ao xdm
ou digitando o seguinte a partir do
console.
$ exec startx
Como o ambiente X pode acomodar muitos gerenciadores de janelas, suas interfaces de usuário variam bastante. Por favor, lembre-se de que clicando com o botão direito no plano de fundo (root window), obtem-se um menu de seleções. Isso está sempre disponível.
Para obter o prompt de comando shell, inicie o Xterm a partir do menu:
"XShells" --> "XTerm".
Para navegação gráfica de páginas web, inicie o Mozilla a partir do menu:
"Apps" --> "Net" --> "Mozilla Navigator".
Para navegação gráfica de arquivos PDF, inicie o Xpdf a partir do menu:
"Apps" --> "Viewers" --> "Xpdf".
Se você não encontrar a entrada de menu, instale os pacotes pertinentes. Veja Básico do gerenciamento de pacotes Debian, Seção 6.2.
A seguir são apresentados os comandos de teclado importantes a lembrar ao executar o Sistema X Window.
Ctrl-Alt-F1 até F6: Muda para outros pseudo-terminais (a partir de uma janela X, DOSEMU, etc.)
Alt-F7: Volta para o X Window
Ctrl-Alt-menos: Muda a resolução da tela no X Window (menos refere-se às teclas no teclado numérico)
Ctrl-Alt-mais: Muda a resolução da tela da maneira oposta no X Window (mais refere-se às teclas no teclado numérico)
Ctrl-Alt-Backspace: Termina o programa do Servidor X
Alt-X, Alt-C, Alt-V: Combinações de teclas comuns do Windows/Mac para Cortar, Copiar e Colar com teclas Ctrl- são substituídas por essas teclas Alt- em alguns programas como o Netscape Composer.
Nesse momento, recomendo que você leia os livros guia chaves a partir de
O Projeto de Documentação
Linux: Guias
:
"The Linux System Administrators' Guide" (O Guia dos Administradores de Sistemas Linux),
Cobre todos os aspectos de como manter um sistema funcionando, manipulação de contas de usuários, backups, configuração do sistema.
pacote: sysadmin-guide
"The Linux Network Administrator's Guide, Second Edition" (O Guia dos Administradores de Rede do Linux, Segunda Edição),
É uma referência única para administração de rede em um ambiente Linux.
pacote: (not available)
arquivo: (not applicable)
"Linux: Rute User's Tutorial and Exposition"
A nice online and hardcover book covering GNU/Linux system administration.
By Paul Sheer
Published by Prentice Hall
Package: rutebook
(from non-free)
File: /usr/share/doc/rutebook/
Veja Suporte para o Debian, Capítulo 15 para maiores recursos de aprendizado.
[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ próximo ]
Referência Debian
CVS, Qui Jan 18 11:53:12 UTC 2007osamu#at#debian.org
pormenese#at#uol.com.br