Em qualquer sistema operacional, a manipulação de arquivos é uma tarefa essencial. Usuários rotineiramente criam, excluem e acessam o conteúdo de arquivos. No Linux, essa dinâmica se mantém, oferecendo uma variedade de ferramentas para essas operações.
Apesar da possibilidade de interagir com arquivos através de interfaces gráficas no Linux, muitos usuários preferem o terminal para executar essas tarefas, dada a sua flexibilidade e eficiência.
O Linux oferece um conjunto de comandos que permitem aos usuários gerenciar arquivos diretamente do terminal. Um desses comandos é o “cat”.
De acordo com as páginas de manual do Linux, o comando “cat” é utilizado para concatenar arquivos e exibir seu conteúdo na saída padrão. As páginas de manual são, essencialmente, documentos de referência que ajudam os usuários a compreender e utilizar os comandos do Linux.
Para acessar a página de manual de qualquer comando, basta digitar `man
man cat
Finalidade do Comando Cat
O comando “cat” tem como principal função exibir o conteúdo de um arquivo na tela. Além disso, ele pode concatenar o conteúdo de múltiplos arquivos, unindo-os em uma única saída. Ao fornecer vários arquivos ao comando, o “cat” unirá seus conteúdos e os exibirá de forma sequencial no terminal.
De forma simplificada, o “cat” agrupa o conteúdo de diversos arquivos e o apresenta na tela, sem alterar ou criar novos arquivos no processo. Os arquivos originais permanecem intactos após a execução do comando.
O comando “cat” também desempenha um papel crucial no redirecionamento, um recurso que permite aos usuários alterar as fontes de entrada e saída padrão. Por padrão, a entrada padrão é o teclado, e a saída padrão, juntamente com os erros, são mostrados na tela.
O redirecionamento possibilita que, em vez de obter a entrada do teclado, se use um arquivo ou outra fonte. Analogamente, a saída padrão, normalmente exibida na tela, pode ser redirecionada para um arquivo.
Sintaxe do Comando Cat
A estrutura básica do comando “cat” é a seguinte:
cat [OPÇÃO]... [ARQUIVO]...
Nas páginas de manual do Linux, elementos entre colchetes são opcionais. Portanto, o comando “cat” não necessita obrigatoriamente de uma OPÇÃO ou de um ARQUIVO como argumento. Ele pode ser utilizado com ou sem opções e arquivos, ou com ambos.
As reticências (…) indicam que um ou mais operandos ou argumentos precedentes são permitidos. Isso significa que o “cat” pode receber várias OPÇÕES ou ARQUIVOS.
ARQUIVO representa os arquivos que o comando “cat” deverá concatenar e exibir. OPÇÃO refere-se a sinalizadores que alteram o comportamento do comando. Abaixo, são apresentadas algumas opções que podem ser usadas com o “cat”:
O funcionamento do “cat” consiste em receber o(s) arquivo(s) especificado(s) e enviar seu conteúdo para a saída padrão, que geralmente é a janela do terminal. Se houver vários arquivos, seus conteúdos são concatenados antes de serem exibidos no terminal.
O comportamento do “cat” pode variar dependendo do sinalizador fornecido. Por exemplo, o sinalizador `-n` faz com que o comando numere cada linha da saída. Para cada situação, o usuário pode escolher os sinalizadores que melhor atendem às suas necessidades.
Como Usar o Comando Cat
Para usar o comando “cat”, digite-o seguido do nome do(s) arquivo(s) que deseja ler ou concatenar. Para exibir o conteúdo de um arquivo chamado “arcoiris.txt”, execute o seguinte comando:
cat arcoiris.txt
Para modificar o comportamento do comando, pode-se adicionar um sinalizador. Por exemplo, para numerar todas as linhas de saída, utilize o sinalizador `-n`. No exemplo acima, para numerar as linhas do “arcoiris.txt”, execute:
cat -n arcoiris.txt
As saídas dos dois comandos são mostradas a seguir:
É possível combinar diversos sinalizadores com o comando “cat”. Basta escrevê-los um após o outro, separados ou não por espaços. O sinalizador `-E`, por exemplo, adiciona um cifrão ($) ao final de cada linha. Este recurso pode ser útil para exibir valores monetários. As formas de combinar sinalizadores com “cat” são demonstradas abaixo:
Para concatenar e exibir vários arquivos, liste seus nomes separados por espaços. Para concatenar “arcoiris.txt” e “primario.txt”, execute:
cat arcoiris.txt primario.txt
A saída do comando é mostrada abaixo:
Os arquivos “arcoiris.txt” e “primario.txt” permanecem inalterados após a operação. A ordem em que os arquivos aparecem no comando define a sequência em que seus conteúdos são exibidos. Sinalizadores também podem ser adicionados, como demonstrado abaixo:
Uma observação importante é que, se nenhum arquivo for fornecido ao comando ou se um traço (-) for usado, o “cat” lê a entrada padrão, que é o teclado. Assim, o comando exibirá tudo o que o usuário digitar.
Para testar esse comportamento, execute:
cat
O comando apresentará um cursor piscando, aguardando a entrada do teclado. Digite qualquer texto e pressione Enter. O texto será enviado para a saída padrão, como mostrado abaixo:
Pressione CTRL + C para interromper e finalizar o envio de texto ao comando.
O “cat” também pode ser utilizado para concatenar e exibir o conteúdo de todos os arquivos de um determinado tipo em um diretório. Isso é feito utilizando um asterisco (*)
cat *.txt
como curinga. Para exibir todo o conteúdo dos arquivos de texto (.txt) em um diretório, executaríamos:
Saída do comando:
Exemplos de uso do comando cat:
Além dos usos padrão do comando “cat”, sua funcionalidade pode ser expandida através do redirecionamento. Como mencionado anteriormente, a saída do “cat” é exibida no terminal por padrão.
Contudo, através do redirecionamento, podemos direcionar essa saída para outro arquivo.
O operador de redirecionamento de saída no Linux é > (o símbolo “maior que”, também chamado de divisa).
cat arcoiris.txt
Por exemplo, ao executar a linha:
O conteúdo de “arcoiris.txt” é exibido na tela.
cat cores.txt > arcoiris.txt
Entretanto, se executarmos:
O conteúdo de “arcoiris.txt” não será exibido na tela, sendo redirecionado e gravado no arquivo “cores.txt”. Essa é uma ótima maneira de copiar o conteúdo de um arquivo para outro.
O comportamento padrão do redirecionamento de saída no Linux é sobrescrever o conteúdo do arquivo para o qual estamos redirecionando. No exemplo acima, todo o conteúdo de “arcoiris.txt” será substituído pelo conteúdo de “cores.txt”. Para preservar o conteúdo original do arquivo e adicionar o novo conteúdo a ele, utilize >> ao redirecionar.
Observe abaixo que “cores.txt” agora contém as cores que estavam em “arcoiris.txt” após o redirecionamento da saída usando >>.
Para expandir ainda mais a funcionalidade do comando “cat”, podemos combinar o redirecionamento e o comportamento padrão de leitura da entrada quando nenhum arquivo é fornecido. Isso permite criar um arquivo e gravar conteúdo nele.
cat > escuro.txt
Se executarmos o código abaixo:
Estaremos redirecionando a saída para “escuro.txt”. Como não especificamos um arquivo cujo conteúdo será redirecionado para “escuro.txt”, o comando aguardará a entrada do teclado.
Digite o texto desejado e pressione Enter para ir para a próxima linha. Quando terminar, pressione CTRL + D para salvar o conteúdo no arquivo. Como estamos redirecionando para um arquivo que não existe, “escuro.txt” será criado automaticamente e o texto digitado será armazenado nele. Assim, é possível utilizar o comando “cat” para criar arquivos e adicionar conteúdo no momento da criação.
A saída da operação é mostrada a seguir:
cat >> escuro.txt
O “cat” também pode ser utilizado para adicionar texto ao final de um arquivo. Usando “escuro.txt”, podemos adicionar mais cores executando:
Adicione mais informações digitando no teclado e pressione CTRL + D para salvar e anexar o conteúdo ao arquivo “escuro.txt”, como mostrado abaixo:
cat arquivo1 arquivo2 arquivo3 > arquivo4
O comando “cat” também pode ser usado para concatenar vários arquivos em um único arquivo. A sintaxe para tal operação é mostrada abaixo:
O conteúdo de “arquivo1”, “arquivo2” e “arquivo3” serão concatenados e gravados em “arquivo4”. Se não quiser sobrescrever o conteúdo de “arquivo4”, use >>. Se “arquivo4” não existir, ele será criado automaticamente.
Um exemplo disso é mostrado abaixo:
cat cores.txt primario.txt > todasCores.txt
Para gravar o conteúdo de “cores.txt” e “primario.txt” em “todasCores.txt”, execute:
cat primario.txt >> cores.txt
Você também pode anexar o conteúdo de um ou mais arquivos a outro usando o comando “cat”. Isso é feito utilizando >> ao redirecionar a saída. Isso evita sobrescrever o conteúdo existente no arquivo. Por exemplo, para anexar o conteúdo de “primario.txt” a “cores.txt”, execute:
O resultado desta operação é mostrado a seguir:
Conclusão
O comando “cat” é uma ferramenta Linux muito útil que permite aos usuários concatenar e exibir o conteúdo de arquivos. Ele possui vários sinalizadores que modificam seu comportamento.
Através do redirecionamento, a funcionalidade do comando “cat” pode ser significativamente ampliada, permitindo que os usuários criem e copiem arquivos, concatenem vários arquivos em um único e adicionem conteúdo a arquivos existentes. Para mais informações, consulte suas páginas de manual.
Você também pode explorar outros comandos do Linux para administradores de sistema.