Um comando do Linux é uma palavra especial que representa uma ou mais ações. Um interpretador de comandos também é conhecido como shell ou modo texto. Ele é o programa responsável por interpretar essas instruções enviadas pelo usuário e seus programas para o kernel. No Linux, você poderá ter vários interpretadores de comandos (ao contrário do que acontece no Windows que só tem o command.com).
O interpretador de comandos é que executa comandos lidos do teclado ou de um arquivo executável. É a principal ligação entre o usuário. Entre os programas interpretadores de comandos pode-se destacar o bash, ash, csh, tesh, sh.
Entre eles o mais usado é o bash (Bourne Again Shell), criado por S.R. Bourne. Os comandos podem ser enviados de duas maneiras para o interpretador:
a) Interativa: Os comandos são digitados no teclado pelo usuário e passados ao interpretador de comandos um a um. Neste modo o computador depende do usuário para executar uma tarefa ou o próximo comando.
b) Não-interativa: São usados arquivos de comandos (scripts) criados pelo usuário 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á próximo comando que será executado e dar continuidade ao processamento.
Esse sistema é útil quando temos que digitar por várias vezes seguidas um mesmo comando ou para compilar algum programa complexo.
Uma característica interessante do Bash é que ele possui a função de auto-completar os nomes de comandos que foram digitados via entrada padrão. Isso é feito pressionando-se a tecla TAB; o comando é completado e acrescentando um espaço.
Isso funciona sem problemas para comandos internos; caso o comando não seja encontrado, o Bash emite um beep. Por exemplo, na sua pasta raiz tente digitar cd pro (aperte TAB)+as( aperte TAB)+os( aperte TAB)+d(aperte TAB) e veja como foi fácil digitar um caminho para entrar no local: /proc/asound/oss/devices.
Existem alguns atalhos úteis que podem ser utilizados no bash para facilitar no dia-a-dia no Linux:
Alt+b
Move o cursor uma palavra para trás.
Alt+f
Move o cursor uma palavra para frente.
Ctrl+a
Ir para o início da linha.
Ctrl+c
Para o comando.
Ctrl+d
Logout.
Ctrl+e
Ir para o final da linha.
Ctrl+l
Apaga a tela (O mesmo que clear).
Ctrl+r
Busca Incremental no histórico de comandos.
Ctrl+t
Inverte o caractere sob o cursor com o anterior.
Ctrl+u
Apagar do cursor até o começo da linha.
Ctrl+w
Apagar do cursor até o começo da palavra.
Ctrl+y
Re-insere o último trecho apagado.
Ctrl+z
Põe processo em background.
Agora que você já sabe um monte de combinações legais para facilitar sua vida, pode sair queimando o seu teclado no bash. Certo? Mas o bash não para por aí. Você pode repetir um comando no bash sem ter que digitá-lo novamente. Isso é possível utilizando o caractere "!" na frente do comando que você deseja repetir. O bash vai buscar aquele comando no histórico e se lá tiver algo parecido o comando será executado. Veja o exemplo:
# mount /mnt/cdrom
# ls /mnt/cdrom
# umount
# !mount
O comando "!mount" irá informar ao shell (bash) para executar o último comando mount executado, neste exemplo, "mount /mnt/cdrom". Que poder heim? Casa você queira verificar qual o shell que está em uso, digite o comando: "echo $SHELL"; para saber as disponíveis, o comando "cat /etc/shells" lhe informará.
Espero que esse artigo tenha abordado pontos interessantes e agradado o iniciantes. Abraços.
[11] Comentário enviado por Gilfran em 24/04/2006 - 20:18h
Com certeza foram abordados pontos interessantes Rafael, está de parabéns, espero que seja o primeiro de muitos artigos, o público iniciante em linux ganhou muito com essa explanação.
Abraços Companheiro,
"Gil"
[14] Comentário enviado por Psico.Indie em 24/04/2006 - 21:05h
chemonz, diga isso a um usuário iniciante que ele voltará de braços bem abertos para plataformas proprietárias.Meu objetivo não foi criar um artigo arquitentônico e sim algo que seja fácil, útil e simples para um usuário iniciante. Tornar a coisa mais user friendly possível .Obrigado pela diga e pela crítica ;)
[15] Comentário enviado por mlegidio em 25/04/2006 - 06:20h
Ae Psico.... o seu artigo eh valido para iniciantes (e deve ser por isso que ele ta na secao introducao), mas pra usuarios de outros niveis eh um poko cansativo esse tipo de artigo. sua didatica eh boa! continue assim...
[20] Comentário enviado por didie em 09/06/2008 - 13:17h
pow queria saber se alguem me ajuda meu pc ao iniciar ta mostrando uma msg assim:''o siguinte arquivo esta fltando ou esta corrompido command.com...digite o nome do interpretador de comandos (ex c:/windows/command.com)
[24] Comentário enviado por anonimoculto em 03/06/2018 - 17:58h
[2] Comentário enviado por dark_slack em 23/04/2006 - 09:43h
pow!!
qual a diferença de TCSH para BASH?
Em analogia, a mesma entre Espanhol e Português. Um interpretador de comandos particular antes de mais nada define uma linguagem particular.
O Bash é o shell padrão da maioria das distribuições hoje; é a "língua franca", na analogia, o "Inglês" dos dias de hoje.
Vale lembrar que, embora os sistemas atuais hoje tenham uma ligação do "sh" para o "bash", quando o bash é invocado com o nome de "sh", ele tenta imitar o mais próximo possível seu predecessor, o sh, perdendo nesta instância suas particularidades. Assim, embora o processamento recaia efetivamente sobre o programa bash, "sh" e "bash" são efetivamente shells diferentes, mesmo nas distribuições modernas, inclusive quanto às particularidades no tocante a arquivos de inicialização diferentes.
Do manual do bash: "If bash is invoked with the name sh, it tries to mimic the startup behavior of historical versions of sh as closely as possible, while conforming to the POSIX standard as well."
[25] Comentário enviado por anonimoculto em 14/07/2018 - 20:08h
CTRL-L não é o mesmo que clear, embora os efeitos sejam aparentemente os mesmos. Sabe o porquê? Breve breve publico um artigo praticamente pronto onde apresento a explicação.