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 

Fonte da imagem: bashlogo.com

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!