Cada comando tem uma função específica, devemos saber a função de cada comando e escolher o mais adequado para fazer o que desejamos, por exemplo:
-
ls
- Mostra arquivos de diretórios
-
cd
- Para mudar de diretório
É sempre usado um espaço depois do comando para separá-lo de uma opção ou parâmetro que será passado para o processamento. Um comando pode receber opções e parâmetros:
- opções
- As opções são usadas para controlar como o comando será executado, por
exemplo, para fazer uma listagem mostrando o dono, grupo, tamanho dos
arquivos você deve digitar ls -l.
Opções podem ser passadas ao comando através de um "-" ou "--":
- -
- Opção identificada por uma letra. Podem ser usadas mais de uma opção com um único hífen. O comando ls -l -a é a mesma coisa de ls -la
- --
- Opção identificada por um nome. Também chamado de opção extensa. O comando ls --all é equivalente a ls -a.
- parâmetros
- Um parâmetro identifica o caminho, origem, destino, entrada padrão ou
saída padrão que será passada ao comando.
Se você digitar: ls /usr/share/doc/copyright,/usr/share/doc/copyright
será o parâmetro passado ao comandols
, neste caso queremos que ele liste os arquivos do diretório /usr/share/doc/copyright.
É normal errar o nome de comandos, mas não se preocupe, quando isto acontecer o sistema mostrará a mensagem command not found (comando não encontrado) e voltará ao aviso de comando. As mensagens de erro não fazem nenhum mal ao seu sistema, somente dizem que algo deu errado para que você possa corrigir e entender o que aconteceu. NoGNU/Linux
, você tem a possibilidade de criar comandos personalizados usando outros comandos mais simples (isto será visto mais adiante). Os comandos se encaixam em duas categorias: Comandos Internos e Comandos Externos.
/usr/share/doc
é o diretório passado como parâmetro
ao comando ls.2.5.1 Comandos Internos
São comandos que estão localizados dentro do interpretador de comandos (normalmente oBash
) e não no disco. Eles são carregados na
memória RAM do computador junto com o interpretador de comandos.
Quando executa um comando, o interpretador de comandos verifica primeiro se ele é um Comando Interno caso não seja é verificado se é um Comando Externo.
Exemplos de comandos internos são: cd, exit, echo, bg, fg, source, help
2.6 Comandos Externos
São comandos que estão localizados no disco. Os comandos são procurados no disco usando o ordem do PATH e executados assim que encontrados.2.7 Aviso de comando (Prompt)
Aviso de comando (ou Prompt), é a linha mostrada na tela para digitação de comandos que serão passados ao interpretador de comandos para sua execução.A posição onde o comando será digitado é marcado um "traço" piscante na tela chamado de cursor. Tanto em shells texto como em gráficos é necessário o uso do cursor para sabermos onde iniciar a digitação de textos e nos orientarmos quanto a posição na tela.
O aviso de comando do usuário root é identificado por uma "#" (tralha), e o aviso de comando de usuários é identificado pelo símbolo "$". Isto é padrão em sistemas
UNIX
.
Você pode retornar comandos já digitados pressionando as teclas Seta para cima / Seta para baixo.
A tela pode ser rolada para baixo ou para cima segurando a tecla SHIFT e pressionando PGUP ou PGDOWN. Isto é útil para ver textos que rolaram rapidamente para cima.
Abaixo algumas dicas sobre a edição da linha de comandos (não é necessário se preocupar em decora-los):
-
Pressione a tecla Back Space ("<--")
para apagar um caracter à esquerda do cursor.
-
Pressione a tecla Del para apagar o caracter acima do cursor.
-
Pressione CTRL+A para mover o cursor para o inicio da
linha de comandos.
-
Pressione CTRL+E para mover o cursor para o fim da
linha de comandos.
-
Pressione CTRL+U para apagar o que estiver à esquerda
do cursor. O conteúdo apagado é copiado para uso com
CTRL+y.
-
Pressione CTRL+K para apagar o que estiver à direita
do cursor. O conteúdo apagado é copiado para uso com
CTRL+y.
-
Pressione CTRL+L para limpar a tela e manter o texto
que estiver sendo digitado na linha de comando (parecido com o comando
clear
).
-
Pressione CTRL+Y para colocar o texto que foi apagado
na posição atual do cursor.
2.8 Interpretador de comandos
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. OGNU/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:
- Interativa
- Os comandos são digitados no aviso de comando e passados ao interpretador de comandos um a um. Neste modo, o computador depende do usuário para executar uma tarefa, ou próximo comando.
- Não-interativa
- São usados arquivos de comandos criados pelo usuário (scripts) para o
computador executar os comandos na ordem encontrada no arquivo. Neste modo, o
computador executa os comandos do arquivo um por um e dependendo do término do
comando, o script pode checar qual será o próximo comando que será executado e
dar continuidade ao processamento.
Este sistema é útil quando temos que digitar por várias vezes seguidas um mesmo comando ou para compilar algum programa complexo.
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. Se
você apertar novamente a tecla TAB imediatamente depois do beep, o
interpretador de comandos irá listar as diversas possibilidades que satisfazem
a pesquisa, para que você possa escolher a que lhe interessa. A completação de
nomes funciona sem problemas para comandos internos.
Exemplo: ech (pressione TAB). ls /vm(pressione TAB)
2.9 Terminal Virtual (console)
Terminal (ou console) é o teclado e tela conectados em seu computador. OGNU/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 .
Se estiver usando o modo gráfico, você deve segurar CTRL+ ALT enquanto pressiona uma tela de <F1> a <F6>. Para voltar ao modo gráfico, pressione CTRL+ALT+ <F7>.
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>.
2.10 Login
Login é a entrada no sistema quando você digita seu nome e senha.2.11 Logout
Logout é a saída do sistema. A saída do sistema é feita pelos comandoslogout
, exit
, CTRL+D, ou
quando o sistema é reiniciado ou desligado.
2.12 Curingas
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 4 tipos de curingas noGNU/Linux
:
-
"*" - Faz referência a um nome completo/restante de um
arquivo/diretório.
-
"?" - Faz referência a uma letra naquela posição.
-
[padrão] - Faz referência a uma faixa de caracteres de um
arquivo/diretório. Padrão pode ser:
-
[a-z][0-9] - Faz referência a caracteres de a até
z seguido de um caracter de 0 até 9.
-
[a,z][1,0] - Faz a referência aos caracteres a e
z seguido de um caracter 1 ou 0 naquela
posição.
-
[a-z,1,0] - Faz referência a intervalo de caracteres de
a até z ou 1 ou 0 naquela
posição.
Caso a expressão seja precedida por 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.
-
[a-z][0-9] - Faz referência a caracteres de a até
z seguido de um caracter de 0 até 9.
-
{padrões} - Expande e gera strings para pesquisa de padrões de um
arquivo/diretório.
-
X{ab,01} - Faz referência a seqüencia de caracteres
Xab ou X01
-
X{a-z,10} Faz referencia a seqüencia de caracteres
Xa-z e X10.
-
X{ab,01} - Faz referência a seqüencia de caracteres
Xab ou X01
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
.
teste4.new
e teste5.new
podemos usar os seguintes métodos:
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.
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.
.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.
Fonte: Foca GNU/Linux
Nenhum comentário:
Postar um comentário