===== Exemplos do comando cat ===== ==== Nível Básico ==== * **Exibir o conteúdo de um arquivo:** - cat arquivo.txt - Exibe o conteúdo de `arquivo.txt` no terminal. * **Concatenar dois arquivos e exibir o resultado:** - cat arquivo1.txt arquivo2.txt - Exibe o conteúdo dos dois arquivos concatenados. * **Criar um novo arquivo a partir de uma entrada de texto:** - cat > novo_arquivo.txt - Permite criar um arquivo e adicionar conteúdo diretamente no terminal (use `Ctrl+D` para salvar). * **Anexar conteúdo a um arquivo existente:** - cat >> arquivo_existente.txt - Adiciona texto ao final de um arquivo existente (use `Ctrl+D` para salvar). * **Exibir conteúdo com números de linha:** - cat -n arquivo.txt - Exibe o conteúdo do arquivo com cada linha numerada. ==== Nível Intermediário ==== * **Concatenar vários arquivos e salvar em um novo arquivo:** - cat arquivo1.txt arquivo2.txt > combinado.txt - Combina o conteúdo de dois arquivos e salva em `combinado.txt`. * **Exibir o conteúdo de arquivos binários:** - cat arquivo.bin - Exibe o conteúdo de um arquivo binário diretamente no terminal (pode não ser legível). * **Exibir o conteúdo de um arquivo com caracteres de tabulação visíveis:** - cat -T arquivo.txt - Exibe o conteúdo de `arquivo.txt`, mostrando tabulações como `^I`. * **Criar um arquivo combinando a saída de múltiplos comandos:** - cat <(ls) <(echo "Texto adicional") > resultado.txt - Combina a saída do comando `ls` e o texto adicional em um arquivo `resultado.txt`. * **Exibir várias páginas de arquivos concatenados com paginação:** - cat arquivo1.txt arquivo2.txt | less - Exibe o conteúdo de dois arquivos concatenados com o comando `less` para facilitar a navegação. ==== Nível Avançado ==== * **Exibir conteúdo em tempo real usando `cat` e redirecionamento de arquivos (usando FIFO):** - mkfifo mypipe; cat mypipe & - Cria um FIFO (pipe nomeado) e exibe o conteúdo em tempo real à medida que os dados são gravados no pipe. * **Mesclar conteúdo de vários arquivos e exibir com números de linha:** - cat -n arquivo1.txt arquivo2.txt > combinado_numerado.txt - Mescla o conteúdo de dois arquivos e exibe o resultado com números de linha em `combinado_numerado.txt`. * **Criar um arquivo combinado a partir de vários arquivos, excluindo linhas em branco:** - cat arquivo1.txt arquivo2.txt | grep -v '^$' > combinado_sem_linhas_em_branco.txt - Mescla dois arquivos, removendo linhas em branco no processo. * **Verificar o tamanho de um arquivo enquanto exibe seu conteúdo:** - cat arquivo.txt | tee >(wc -c) - Exibe o conteúdo de `arquivo.txt` e mostra o tamanho (em bytes) ao mesmo tempo. * **Concatenar arquivos em paralelo e salvar em arquivos diferentes:** - cat arquivo1.txt arquivo2.txt | tee arquivo3.txt | tee arquivo4.txt - Mescla dois arquivos e salva o resultado em dois arquivos diferentes ao mesmo tempo (`arquivo3.txt` e `arquivo4.txt`). ==== Nível Especializado ==== * **Usar `cat` para criar e preencher uma imagem de disco binária:** - cat /dev/zero > imagem_disco.bin - Cria uma imagem de disco preenchida com zeros (útil para inicializar um arquivo binário). * **Combinar arquivos grandes em paralelo com compressão:** - cat arquivo1.txt arquivo2.txt | gzip > arquivos_combinados.gz - Mescla o conteúdo de dois arquivos e o comprime diretamente em um arquivo `.gz`. * **Exibir conteúdo de arquivos protegidos com permissões (usando `sudo`):** - sudo cat /arquivo/restrito.txt - Exibe o conteúdo de um arquivo protegido por permissões, usando `sudo` para elevar privilégios. * **Usar `cat` para criar um arquivo de imagem de disco (com cabeçalhos e blocos customizados):** - cat cabeçalho.img bloco1.img bloco2.img > disco.img - Mescla múltiplos arquivos de imagem binária (por exemplo, cabeçalhos e blocos) para criar uma imagem completa de disco. * **Concatenar arquivos de log em tempo real e exibir simultaneamente:** - tail -f /var/log/syslog /var/log/auth.log | cat -n - Combina e exibe em tempo real múltiplos arquivos de log, adicionando números de linha. * **Concatenar arquivos no armazenamento de blocos diretamente (usando dispositivos brutos):** - cat arquivo.iso > /dev/sdb - Grava o conteúdo de uma imagem ISO diretamente em um dispositivo de armazenamento (`/dev/sdb`). * **Combinar arquivos e calcular o hash SHA256 simultaneamente:** - cat arquivo1.txt arquivo2.txt | tee combinado.txt | sha256sum - Mescla dois arquivos, salva o resultado em `combinado.txt` e calcula o hash SHA256 do conteúdo combinado.