Artigo original: The Cat Command in Linux – How to Create a Text File with Cat or Touch
O comando cat
é bastante popular e versátil nos ecossistemas Unix e Linux. Existem quatro usos comuns do comando cat
. Ele pode exibir um arquivo, concatenar (combinar) diversos arquivos, fazer o echo
de texto em tela e criar um arquivo.
Exibição de um arquivo
O uso mais comum do comando cat
é o de exibir o conteúdo de um arquivo. Abaixo vemos um exemplo que você pode experimentar.
echo "Dance, Dance" > cat_create #cria um arquivo
cat cat_create
Nesse exemplo simples, usamos uma combinação de echo
e um redirecionador para criar um arquivo contendo "Dance, Dance". Em seguida, usamos o comando cat
para exibir o conteúdo do arquivo cat_create
.
O resultado é este:
(Con)cat(enação)
O exemplo anterior é, de fato, um caso específico da função principal do comando cat
, que é concatenar arquivos para exibição. Se usarmos o comado do mesmo modo, mas dando a ele dois ou mais arquivos, ele retorna o resultado da concatenação dos arquivos.
Se executarmos, por exemplo, o seguinte comando:
echo "This is how we do it" > test1 #Cria o primeiro arquivo
echo "*This is how we do it*" > test2 #Cria o segundo arquivo
cat test1 test2
O resultado é o conteúdo do primeiro arquivo, test1
, seguido do conteúdo do segundo arquivo, test2
. Você pode dar ao comando cat
diversos arquivos. Ele concatenará (combinará) todos eles. Perceba, no entanto, que o comando cat
vai inserir automaticamente uma quebra de linha entre os resultados.
cat
também fornece alguns switches para realizar ações como exibir caracteres não imprimíveis (-v) ou numerar as linhas (-n). Um detalhamento completo pode ser encontrado nas páginas do man (em inglês).
Uso de echo
Este é um uso menos comum de cat
, mas é a base para a próxima seção. Se você executar o comando cat
, simplesmente, ele será executado em modo interativo, fazendo echo
(repetindo em tela) tudo o que você digitar até que você saia do comando.
Nesse exemplo, digitei uma única palavra por linha. Cada vez que eu pressionava Enter, a linha era repetida logo abaixo.
Também é possível fazer o pipe
de texto com o cat
. Nesse caso, o texto é reproduzido no echo
. Por exemplo:
echo "Piping fun" | cat
O resultado será o seguinte:
Criação de arquivos
Nos exemplos anteriores, usamos o comando echo
redirecionado para um arquivo para criar outros arquivos. cat
pode ser usado de maneira similar. De fato, podemos usar a concatenação de cat
e a funcionalidade de echo
para criar arquivos.
Podemos criar um arquivo com a concatenação de diversos arquivos assim:
echo "File 1 Contents" > file1
echo "File 2 Contents" > file2
echo "File 3 Contents" > file3
cat file1 file2 file3 > combined_file
cat combined_file
No exemplo acima, criamos três arquivos usando echo
, combinamos os três arquivos em um só usando cat
e exibimos o arquivo combinado usando cat
.
Também podemos usar o modo interativo de cat
para criar um arquivo com o texto que digitarmos no terminal.
Cada vez que você pressionar Enter, ele colocará o texto digitado no arquivo. Se você digitar algum texto, não pressionar Enter e sair, o texto digitado não será capturado no arquivo.
Esse é um modo incrível de criar um arquivo com a capacidade de inserir conteúdo nesse arquivo rapidamente.
Uso de touch para criar arquivos
Às vezes, é preciso apenas que um arquivo exista. Como alternativa ao uso de cat
para criar arquivos, é possível usar o comando touch
.
O comando touch
foi criado para atualizar a timestamp modificada de um arquivo, mas é normalmente usado como um modo rápido de criar um arquivo vazio. Aqui, vemos um exemplo de uso:
touch nome_do_novo_arquivo
O comando touch
pode criar diversos arquivos, atualizar a modificação e/ou a criação de timestamps e muitas outras coisas úteis. As páginas completas do man (em inglês) estão no link.
touch
normalmente é usado para garantir que um arquivo exista. Ele é um ótimo comando para quando precisamos de um arquivo vazio rapidamente.
Resumo
cat
é um comando muito útil. Você pode usá-lo para criar, exibir e combinar arquivos de texto fácil e rapidamente.
Se você apenas precisa que um arquivo exista, mas não se importa com o fato de que ele esteja vazio, usar touch
é uma ótima alternativa.
Hughie Coles é um líder em desenvolvimento na Index Exchange. Ele escreve sobre arquitetura de software, escalabilidade, liderança e cultura. Para ver mais textos escritos por ele (em inglês), confira a página do autor no Medium.