Comandos simples no Bash
Curso de Bash
Seção do curso de Bash sobre comandos simples, opções e argumentos.
Comandos simples são os comandos mais comuns na interação com Bash.
Conteúdo
O que é um comando simples?
Comandos simples em Bash são sequências de palavras separadas por espaço (ou outro IFS) e terminadas por nova linha (ou outro operador de controle).
A primeira palavra do comando é o nome do comando, seguido de suas opções e por fim seus argumentos.
ls -l /homeO comando acima é composto por:
ls, que é o nome do comando.-l, opção do comando./home, argumento do comando.
O que é nova linha?
Quando a tecla Enter/↵ é pressionada, estamos inserindo no terminal um caractere chamado nova linha.
nova linha é um caractere de controle que, como o seu nome explicita, inicia uma nova linha.
Caracteres de controle são caracteres que não representam símbolos ou letras, ou seja, não são visualizáveis.
No Bash, o caractere nova linha submete as palavras até então digitadas à execução.
O que é opção?
Opções são palavras, precedidas de um ou dois hífens, que modificam o comportamento de um comando.
P. ex., o comando ls executado sem opções exibiria uma saída como abaixo, com os arquivos e diretórios dispostos em colunas.
lsDesktop Documents Downloads Music Pictures Public Templates VideosJá com a opção -l, o comportamento de ls é modificado: passa a exibir os arquivos e diretórios em lista.
ls -ltotal 32
drwxr-xr-x 2 1001 1001 4096 May 22 05:37 Desktop
drwxr-xr-x 2 1001 1001 4096 May 22 05:37 Documents
drwxr-xr-x 2 1001 1001 4096 May 22 05:37 Downloads
drwxr-xr-x 2 1001 1001 4096 May 22 05:37 Music
drwxr-xr-x 2 1001 1001 4096 May 22 05:37 Pictures
drwxr-xr-x 2 1001 1001 4096 May 22 05:37 Public
drwxr-xr-x 2 1001 1001 4096 May 22 05:37 Templates
drwxr-xr-x 2 1001 1001 4096 May 22 05:37 Videos
Um comando pode ter nenhuma, uma ou diversas opções.
ls -l --reverse -tSalvo raras exceções, a ordem em que as opções são digitadas não influencia o comportamento do comando.
O comando abaixo terá execução idêntica ao anterior.
ls --reverse -t -lAs opções válidas para um comando são listadas em seu manual. Veremos como acessar o manual na próximas seções.
Opções curtas
Opções precedidas por um hífen são chamadas opções curtas, e geralmente são representadas por apenas uma letra.
Elas podem ser digitadas juntas, com apenas um hífen as precedendo. Estilo que aprimora a legibilidade de um comando.
Opções -t, -l e -h do comando ls agrupadas abaixo.
ls -thlOpções longas
São precedidas por dois hífens e representadas por uma palavra.
Diferentemente das opções curtas, opções longas não permitem agrupamento.
--human-readable, uma das opções longas do comando ls, abaixo.
ls --human-readableO que são argumentos?
São palavras escolhidas pelo usuário que informam ao comando qual é o alvo de sua funcionalidade.
No exemplo abaixo, o comando mv recebe como primeiro argumento o arquivo a ser movido minha_musica.mp3, e como segundo o diretório destino /home/usuario/Musicas.
mv minha_musica.mp3 /home/usuario/MusicasUm comando pode aceitar nenhum, um ou mais argumentos.
Como ocorre com ls, que lista os arquivos e diretórios do diretório /home enviado como argumento.
ls /homeQuando nenhum argumento é informado, ls então lista os arquivos e diretórios do diretório atual.
lsArgumentos de opções
Opções de comandos também podem requerer argumentos.
Argumentos de opção são digitados logo após a opção. espaço separando a opção e seu argumento é opcional (como na opção -f abaixo).
Abaixo o comando cut recebe o argumento /etc/os-release, enquanto suas opções -d e -f os argumentos '=' e 1.
cut -d '=' -f1 /etc/os-release-- Fim das opções
Após -- (fim das opções) apenas argumentos são processados pelo comando.
É mais utilizado nos casos incomuns em que, similarmente às opções, argumentos iniciam com - ou --.
Caso quiséssemos excluir um arquivo -arquivo, o comando abaixo não funcionaria pois rm interpretaria -arquivo como uma opção não reconhecida.
caio@FX505DV:~$ rm -arquivo
rm: invalid option -- 'a'
Try 'rm --help' for more information.
Com o uso de --, a exclusão se torna possível, já que o comando identificaria as palavras antes de -- como opções e após como argumentos.
rm -v -- -arquivoMesmo sem a opção, -- ainda é necessário para delimitar o argumento.
rm -- -arquivoQuais opções e argumentos possíveis para um comando?
No próximo capítulo Ajuda e manuais de comando abordaremos a opção --help e o comando man. Ambos listam as opções e argumentos válidos de um dado comando.