===== 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.