Este capítulo traz explicações sobre os principais componentes existentes no computador e do sistema operacional.
Também conhecido como "shell". É o programa responsável em
interpretar as instruções enviadas pelo usuário e seus programas ao sistema
operacional (o kernel). Ele que executa comandos lidos do dispositivo de
entrada padrão (teclado) ou de um arquivo executável. É a principal ligação
entre o usuário, os programas e o kernel. O GNU/Linux
possui
diversos tipos de interpretadores de comandos, entre eles posso destacar o
bash, ash, csh, tcsh, sh,
etc. Entre eles o mais usado é o
bash
. O interpretador de comandos do DOS, por exemplo, é o
command.com
.
Os comandos podem ser enviados de duas maneiras para o interpretador: interativa e não-interativa:
Este sistema é útil quando temos que digitar por várias vezes seguidas um mesmo comando ou para compilar algum programa complexo.
O shell Bash
possui ainda outra característica interessante: A
completação dos nomes. Isto é feito pressionando-se a tecla TAB.
Por exemplo, se digitar "ls tes" e pressionar <tab>, o
Bash
localizará todos os arquivos que iniciam com "tes"
e completará o restante do nome. Caso a completação de nomes encontre mais do
que uma expressão que satisfaça a pesquisa, ou nenhuma, é emitido um beep. A
completação de nomes funciona sem problemas para comandos internos.
Exemplo: ech (pressione TAB). ls /vm(pressione TAB)
Terminal (ou console) é o teclado e tela conectados em seu computador. O
GNU/Linux
faz uso de sua característica multi-usuária
usando os "terminais virtuais". Um terminal virtual é uma segunda
seção de trabalho completamente independente de outras, que pode ser acessada
no computador local ou remotamente via telnet, rsh, rlogin,
etc.
No GNU/Linux
, em modo texto, você pode acessar outros terminais
virtuais segurando a tecla ALT e pressionando F1 a
F6. Cada tecla de função corresponde a um número de terminal do 1 ao 6
(o sétimo é usado por padrão pelo ambiente gráfico X). O
GNU/Linux
possui mais de 63 terminais virtuais, mas apenas 6 estão
disponíveis inicialmente por motivos de economia de memória RAM (cada terminal
virtual ocupa aproximadamente 350 Kb de memória RAM, desative a quantidade que
não estiver usando para liberar memória RAM para uso de outros programas!) .
Se estiver usando o modo gráfico, você deve segurar CTRL+ ALT enquanto pressiona uma tela de <F1> a <F6>.
Um exemplo prático: Se você estiver usando o sistema no Terminal 1 com o nome "joao" e desejar entrar como "root" para instalar algum programa, segure ALT enquanto pressiona <F2> para abrir o segundo terminal virtual e faça o login como "root". Será aberta uma nova seção para o usuário "root" e você poderá retornar a hora que quiser para o primeiro terminal pressionando ALT+<F1>.
Curingas (ou referência global) é um recurso usado para especificar um ou mais
arquivos ou diretórios do sistema de uma só vez. Este é um recurso permite que
você faça a filtragem do que será listado, copiado, apagado, etc. São usados 3
tipos de curingas no GNU/Linux
:
A procura de caracteres é "Case Sensitive" assim se você deseja que sejam localizados todos os caracteres alfabéticos você deve usar [a-zA-Z].
Caso a expressão seja seguida de um ^, faz referência a qualquer caracter exceto o da expressão. Por exemplo [^abc] faz referência a qualquer caracter exceto a, b e c.
Lembrando que os 3 tipos de curingas ("*", "?" e "[]") podem ser usados juntos. Para entender melhor vamos a prática:
Vamos dizer que tenha 5 arquivo no diretório /usr/teste
:
teste1.txt, teste2.txt, teste3.txt, teste4.new, teste5.new
.
Caso deseje listar todos os arquivos do diretório
/usr/teste
você pode usar o coringa "*" para especificar
todos os arquivos do diretório:
cd /usr/teste e ls * ou ls /usr/teste/*.
Não tem muito sentido usar o comando ls
com "*" porque
todos os arquivos serão listados se o ls
for usado sem nenhum
Coringa.
Agora para listar todos os arquivos teste1.txt, teste2.txt,
teste3.txt
com excessão de teste4.new
,
teste5.new
, podemos usar inicialmente 3 métodos:
.txt
.
teste
, tenham qualquer caracter no lugar do
coringa ? e terminem com .txt
. Com o exemplo acima
teste*.txt também faria a mesma coisa, mas se também tivéssemos um
arquivo chamado teste10.txt
este também seria listado.
teste
, tenham qualquer caracter entre o número
1-3 no lugar da 6a letra e terminem com .txt
. Neste caso se obtém
uma filtragem mais exata, pois o coringa ? especifica qualquer
caracter naquela posição e [] especifica números, letras ou intervalo que será
usado.
Agora para listar somente teste4.new
e teste5.new
podemos usar os seguintes métodos:
.new
teste
, contenham qualquer caracter na posição do coringa
? e terminem com .new
.
teste
contenham números de 4 e 5 naquela posição e terminem com
qualquer extensão.
Existem muitas outras formas de se fazer a mesma coisa, isto depende do gosto
de cada um. O que pretendi fazer aqui foi mostrar como especificar mais de um
arquivo de uma só vez. O uso de curingas será útil ao copiar arquivos, apagar,
mover, renomear, e nas mais diversas partes do sistema. Alias esta é uma
característica do GNU/Linux
: permitir que a mesma coisa possa ser
feita com liberdade de várias maneiras diferentes.
Guia Foca GNU/Linux
Versão 5.20 - Sunday, 03 de November de 2002gleydson@cipsga.org.br