Artigo original: Bash Commands: Bash ls, Bash head, Bash mv, and Bash cat Explained with Examples
ls
O ls
é um comando dos sistemas operacionais do tipo Unix (como o Linux e o MacOS) para lista os conteúdos de um diretório, como , por exemplo, nomes de pastas e de arquivos.
Uso
cat [opções] [nomes_dos_arquivos]
Opções mais usadas:
-a
, todos os arquivos e pastas, incluindo os ocultos e que começam com.
-l
, lista todos os arquivos em formato longo (estendido)-G
, habilita resultados em cores
Exemplo:
Lista de arquivos em freeCodeCamp/guide/
Após clonar o repositório principal do freeCodeCamp, aqui temos o resultado do retorno de ls
no diretório freeCodeCamp
:
api-server docker-compose.yml public
change_volumes_owner.sh Dockerfile.tests README.md
client docs sample.env
CODE_OF_CONDUCT.md HoF.md search-indexing
config lerna.json SECURITY.md
CONTRIBUTING.md LICENSE.md server
curriculum node_modules tools
docker-compose-shared.yml package.json utils
docker-compose.tests.yml package-lock.json
Mais comandos do bash
head
head
é usado para imprimir as dez primeiras linhas (por padrão) ou qualquer quantidade de linhas especificadas de um arquivo ou arquivos. cat
, por outro lado, é usado para ler um arquivo sequencialmente e imprimi-lo na saída padrão (ou seja, o conteúdo inteiro do arquivo é impresso ou exibido em tela).
Isso, porém, nem sempre é necessário – talvez você queira apenas conferir o conteúdo de um arquivo para ver se é o correto ou conferir se ele não está, de fato, vazio. O comando head
permite que você veja as N primeiras linhas de um arquivo.
Se mais de um arquivo for chamado, as primeiras 10 linhas de cada arquivo serão exibidas, a menos que outro número determinado de linhas seja especificado. Também é possível selecionar o cabeçalho do arquivo. Confira as opções abaixo.
Uso
head [opções] [nomes_dos_arquivos]
Opções mais usadas:
-n N
, imprime as primeiras N linhas dos arquivos-q
, não imprime os cabeçalhos dos arquivos-v
, sempre imprime os cabeçalhos dos arquivos
Exemplo
head arquivo.txt
Imprime as 10 primeiras linhas de arquivo.txt
(padrão)
head -n 7 arquivo.txt
Imprime as 7 primeiras linhas de arquivo.txt
head -q -n 5 arquivo1.txt arquivo2.txt
Imprime as 5 primeiras linhas de arquivo1.txt
e as 5 primeiras linhas de arquivo2.txt
mv
Este comando do bash move arquivos ou pastas.
mv origem destino
mv origem ... diretório
O primeiro argumento é o arquivo que você deseja mover. O segundo é o local para onde movê-lo.
Opções comumente usadas:
-f
para forçar o ato de mover e sobrescrever os arquivos sem conferir com o usuário.-i
para solicitar confirmação antes de sobrescrever arquivos.
cat
cat
é um dos comandos mais frequentemente usados nos sistemas operacionais baseados em Unix.
O cat
é usado para ler um arquivo em sequência e imprimi-lo na saída padrão. O nome vem da maneira como ele concatena arquivos.
Uso
cat [opções] [nomes_dos_arquivos]
Opções mais usadas:
-b
, numera as linhas do resultado que não estejam em branco-n
, numera todas as linhas do resultado-s
, reduz para uma as várias linhas em brancos adjacentes umas às outras-v
, exibe caracteres que não são imprimíveis, exceto tabulações e o caractere de final de linha
Exemplo
Imprime o conteúdo de arquivo.txt
:
cat arquivo.txt
Concatena o conteúdo de dois arquivos e exibe o resultado no terminal:
cat arquivo1.txt arquivo2.txt
Mais informações sobre o bash:
O que é o bash?
Bash (nome que é a versão reduzida de Bourne Again SHell) é um shell do Unix, além de um interpretador de linguagem de comandos. Um shell é simplesmente um macroprocessador que executa comandos. Ele é o shell mais usado, sendo integrado por padrão na maioria das distribuições do Linux, sendo um sucessor do Korn shell (ksh) e do C shell (csh).
Muitas coisas que podem ser feitas na GUI (interface gráfica) de um sistema operacional Linux também podem ser realizadas na linha de comando. Alguns exemplos:
- Editar arquivos
- Ajustar o volume do sistema operacional
- Obter páginas da web na internet
- Automatizar o trabalho diário
Você pode ler mais sobre o bash aqui, na documentação da GNU e no guia do tldp (textos em inglês).
Uso do bash na linha de comando (Linux, OS X)
Você pode começar a usar o bash na maioria dos sistemas operacionais Linux e OS X ao abrir um terminal. Vamos considerar um exemplo simples de hello world
. Abra seu terminal e escreva a primeira linha abaixo (o que vem após o sinal $):
zach@marigold:~$ echo "Hello world!"
Hello world!
Como você pode ver, usamos o comando echo
para imprimir a string "Hello world!" no terminal.
Escrevendo um script no bash
Também é possível colocar todos os comandos do bash em um arquivo .sh, executando o arquivo a partir da linha de comando. Digamos que você tenha um script do bash com o conteúdo abaixo:
#!/bin/bash
echo "Hello world!"
O script tem apenas duas linhas. A primeira indica qual interpretador usar para executar o arquivo (nesse caso, o bash). A segunda linha é o comando que queremos usar, echo
, seguido do que queremos imprimir, "Hello world!".
Vale a pena observar que a primeira linha do script começa com #!
. Essa é uma diretiva especial que o Unix trata de maneira diferente.
Por que usamos #!/bin/bash no começo do arquivo de script?
Isso ocorre porque é uma convenção informar ao shell interativo que tipo de interpretador executar para o programa que segue.
A primeira linha informa o sistema operacional que o arquivo deve ser executado pelo programa que fica em /bin/bash
, o local padrão do shell Bourne (do bash) em quase todos os sistemas Unix ou similares. Ao adicionar #!/bin/bash
no começo do script, isso informa ao sistema operacional que ele deve usar o shell daquele caminho específico para executar todos os comandos a seguir no arquivo de script.
#!
tem diversos nomes em inglês, como "hash-bang", "she-bang", "sha-bang" ou "crunch-bang". Observe que a primeira linha somente é considerada se o script for um arquivo executável.
Por exemplo, se myBashScript.sh
é executável, o comando ./myBashScript.sh
fará com que o sistema operacional examine a primeira linha para saber qual interpretador utilizar. Nesse caso, a linha seria #!/bin/bash
.
Por outro lado, ao executar bash myBashScript.sh
, a primeira linha é ignorada, pois o sistema operacional já sabe que deve usar o bash.
Para tornar o arquivo myBashScript.sh
um executável, basta executar o comando sudo chmod +x myBashScript.sh
. Em seguida, execute o comando abaixo para executar o script:
zach@marigold:~$ ./myBashScript.sh
Hello world!
Às vezes, o script não será executado e o comando acima retornará um erro. Isso ocorre em função das permissões definidas no arquivo. Para evitar que isso aconteça, use:
zach@marigold:~$ chmod u+x myBashScript.sh
Aí, então, você conseguirá executar o script.