O Bash é uma das ferramentas mais populares e difundidas entre os usuários de Linux. Aprenda mais sobre suas funcionalidades com a HostGator.
Bash (abreviação de “Bourne Again SHell”) é um shell Unix e um interpretador de linguagem de comando. “Shell” é um processador de macro que executa comandos, sendo Bash o mais usado, empacotado por padrão para a maioria das distribuições Linux e sucessor do shell Korn (“ksh”) e do shell C (“csh”).
Muitas coisas podem ser feitas no sistema operacional Linux via linha de comando. Alguns exemplos são:
- Editar arquivos;
- Ajustar o volume do sistema operacional;
- Buscar páginas web na internet;
- Automatizar o trabalho que você faz todos os dias e mais!
Neste tutorial bash, você pode ler mais sobre essa ferramenta e entender como utilizá-la no seu dia a dia. Confira!
Usando bash na linha de comando

Para começar a usar o Linux bash na maioria dos sistemas operacionais Linux e OS X, abra um terminal. Vamos considerar um exemplo simples de “olá, mundo!” para iniciar. Abra seu terminal e escreva a seguinte linha (tudo o que vem após o sinal $):
- $ echo “Olá, mundo!”
A saída deve ser, simplesmente, “Olá, mundo!”. Como pode ser percebido, usamos o comando “echo” para imprimir a string “Olá, mundo!” no terminal.
Escrevendo um script bash
Também é possível colocar todos o comando bash linux em um arquivo .sh e executá-los a partir da linha de comando. Digamos que haja um script bash com o seguinte conteúdo:
- #!/bin/bash
echo “Olá, mundo!”
O script começa com “#!”, que é uma diretiva especial que o Unix trata de forma diferente. Isso porque é uma convenção permitir que o shell interativo saiba o tipo de interpretador a ser executado para o programa a seguir. Essa linha informa ao Unix que o arquivo deve ser executado por “/bin/bash”.
Essa é a localização-padrão do shell Bourne em quase todos os sistemas Unix. Adicionar “#!/bin/bash” como a primeira linha de seu script informa ao sistema operacional que o shell bash deve executar os comandos seguintes no script.
O “#!”, frequentemente referido como “hash-bang”, “she-bang” ou “sha-bang”, só é acionado se o script for lido como um executável. Enquanto digitar “./scriptname.extension” faz ele buscar o intérprete na primeira linha, executar o script com a extensão bash (“scriptname.sh”) faz essa linha ser ignorada.
Exemplo1
Por isso, é possível executar o script da seguinte forma. Para tornar o arquivo executável, deve-se chamar este comando sob sudo chmod u+x “nome do arquivo”:
- $ ./meuScriptBash.sh
echo “Olá, mundo!”
O script possui apenas duas linhas. O primeiro indica qual interpretador usar para executar o arquivo (neste caso, bash). A segunda linha é o comando que queremos usar, “echo”, seguido pelo que queremos imprimir, “Olá, mundo!”.
Às vezes, o script não é executado e o comando acima retorna um erro. Isso acontece devido às permissões definidas no arquivo. Para evitá-lo, antes de executar o script, faça:
- $ chmod u+x meuScriptBash.sh
.
Comando de espera
O comando “wait” é uma ação embutida do Linux que espera pela conclusão de qualquer processo em execução. Ele é usado com um determinado ID de processo ou de trabalho.
Se nenhum ID de processo ou de trabalho for fornecido com o comando, ele aguardará a conclusão de todos os processos atuais e retornará o status de saída. Para executá-lo, utilize:
- $ bash wait_example.sh
Comando Sleep
Quando se deseja pausar a execução de qualquer comando por um período específico de tempo, é possível usar o comando “sleep”, definindo o valor do atraso em segundos (s), minutos (m), horas (h) e dias (d).
Para tanto, crie um arquivo chamado “sleep_example.sh” e adicione o seguinte script, que aguardará 5 segundos após a execução:
- #!/bin/bash
echo “Espere por 5 segundos”
sleep 5
echo “Concluído”
Agora, execute o arquivo com o comando bash Linux.
- $ bash sleep_example.sh
Teste se o arquivo existe
Também dá para verificar a existência do arquivo com o comando bash ubuntu usando a opção “-e” ou “-f”, como o exemplo a seguir. Crie um arquivo chamado “file_exist.sh”, cujo nome passará pela linha de comando, e adicione o seguinte código:
- #!/bin/bash
filename = $ 1
if [ -f ” $ filename ” ] ; then
echo “Arquivo existe”
else
echo “Arquivo não existe”
Aqui, vamos supor que o arquivo book.txt existe e o book2.txt não existe no local atual. Execute os comandos a seguir para verificar a existência deles:
- $ ls
$ bash file_exist.sh book.txt
$ bash file_exist.sh book2.txt
Linha de comando do Linux: Bash Cat
“Cat” é um dos comandos mais usados em sistemas operacionais Unix. Ele é usado para ler um arquivo sequencialmente e imprimi-lo na saída-padrão. O nome é derivado de sua função para “con-cat-enar” arquivos e sua sintaxe básica é: cat [options] [files_names].
As opções mais usadas são:
- “-b”: número de linhas de saída que não estão em branco;
- “-n”: numera todas as linhas de saída;
- “-s”: várias linhas em branco adjacentes;
- “-v”: exibe caracteres não imprimíveis, exceto para tabulações e o caractere de fim de linha.
Por exemplo, para imprimir no terminal o conteúdo do arquivo.txt:
- cat arquivo.txt
Concatene o conteúdo dos dois arquivos e exiba o resultado no terminal com:
- cat arquivo1.txt arquivo2.txt
Linha de comando do Linux: CD Bash
Para alterar o diretório para um caminho especificado, como “cd projects”, por exemplo, existem alguns argumentos realmente úteis:
- “.” refere-se ao diretório atual, como “./projects”;
- “..” pode ser usado para subir uma pasta, usar “cd ..” e pode ser combinado para subir vários níveis como “../../”
- “/” é a raiz de seu sistema para alcançar pastas essenciais, tais como “system”, “users”, etc.
- “~” é o diretório inicial, geralmente o caminho “/users/username”. Volte para as pastas referenciadas em relação a este caminho incluindo-o no início do seu caminho, por exemplo “~/projects”.
Linha de comando do Linux: Bash head
“Head” é usada para imprimir as primeiras dez linhas (por padrão), ou qualquer outra quantidade especificada, de um arquivo ou arquivos. “Cat” é usado para ler um arquivo sequencialmente e imprimi-lo na saída padrão, ou seja, imprime todo o conteúdo de todo o arquivo.
Isso nem sempre é necessário, como quando se quer verificar o conteúdo de um arquivo para ver se é o correto ou não está vazio. Por isso, o comando “head” permite visualizar as primeiras N linhas de um arquivo.
Se mais de um arquivo for chamado, as primeiras dez linhas de cada arquivo serão exibidas, a menos que um número específico de linhas seja especificado. A escolha de exibir o cabeçalho do arquivo é opcional na seguinte sintaxe: head [options] [file_name(s)]
As opções mais usadas são:
- “-n N”: imprime as primeiras N linhas do(s) arquivo(s);
- “-q”: não imprime os cabeçalhos dos arquivos;
- “-v”: sempre imprime os cabeçalhos dos arquivos.
Veja exemplos do uso desse comando:
- “head arquivo.txt”: imprime as primeiras dez linhas (padrão) do arquivo.txt no terminal;
- “head -n 7 arquivo.txt”: imprime as primeiras sete linhas de arquivo.txt no terminal;
- “head -q -n 5 arquivo1.txt arquivo2.txt”: imprime as primeiras 5 linhas de arquivo1.txt seguidas pelas primeiras 5 linhas de arquivo2.txt no terminal
Linha de comando do Linux: Bash ls
“ls” é um comando em sistemas operacionais semelhantes ao Unix para listar o conteúdo de um diretório, por exemplo, nomes de pastas e arquivos, pela sintaxe: cat [options] [file_names]
As opções mais usadas são:
- “-a”: todos os arquivos e pastas, incluindo aqueles que estão ocultos e começam com um “.”;
- “-l”: lista em formato longo;
- “-G”: habilita a saída colorida.
Exemplo:
- ls exemploHostGator/guias/
Linha de comando do Linux: Bash man
“man” é um comando linux bash utilizado para exibir os manuais de referência do comando dado on-line. Ele exibe a página “man” relativa ao comando dado por meio da sintaxe: man [options] [command]
As opções mas usadas são:
- “-f”: imprime uma breve descrição do comando fornecido;
- “-a”: exibe, em sucessão, todas as páginas de manual de introdução disponíveis contidas no manual.
Exemplo:
- man ls
Linha de comando do Linux: Bash mv
Esse comando basicamente move arquivos e pastas por meio da sintaxe: mv [options] [source] [target]. O primeiro argumento é o arquivo que você deseja mover e o segundo é o local para onde movê-lo.
As opções comumente usadas são:
- “-f”: para forçar a movimentação e sobrescrever arquivos sem verificar com o usuário;
- “-i”: para solicitar confirmação antes de sobrescrever os arquivos.
Esperamos que este artigo tenha ajudado a entender o que é Bash no Linux! Aproveite para acompanhar outros conteúdos sobre comando Linux no blog da HostGator.
Além disso, lá compartilhamos arquivos diversos com os temas Tecnologia, Marketing e Negócios. Não deixe de conferir e comente aqui se restou alguma dúvida sobre o que é bash! E não se esqueça: agora é hora de praticar. Compartilhe com seus amigos!