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_createNesse 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_fileNo 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_arquivoO 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.