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 /home
O 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.
ls
Desktop Documents Downloads Music Pictures Public Templates Videos
Já com a opção -l
, o comportamento de ls
é modificado: passa a exibir os arquivos e diretórios em lista.
ls -l
total 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 -t
Salvo 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 -l
As 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 -thl
Opçõ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-readable
O 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/Musicas
Um 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 /home
Quando nenhum argumento é informado, ls
então lista os arquivos e diretórios do diretório atual.
ls
Argumentos 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 -- -arquivo
Mesmo sem a opção, --
ainda é necessário para delimitar o argumento.
rm -- -arquivo
Quais 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.