Cosa fa#
Legge uno o più file e ne stampa il contenuto sullo standard output (terminale). È il comando fondamentale per l'ispezione rapida di file di testo, password e configurazioni.
Sintassi#
cat [opzioni] [file]
Comandi essenziali#
| Comando | Flag | Cosa fa |
|---|---|---|
cat file.txt | — | Stampa il contenuto a video. |
cat -n file.txt | -n (number) | Numera le righe (utile per riferimenti in report). |
cat -A file.txt | -A (show-all) | Mostra caratteri invisibili (TAB, fine riga $); fondamentale per CTF. |
cat f1 f2 > f3 | — | Unisce il contenuto di due file in un terzo file. |
Gestione Nomi File "Speciali" (Tips per Bandit)#
Indispensabile quando i nomi file iniziano con trattini o contengono spazi:
| Tecnica | Esempio | Perché si usa |
|---|---|---|
| Percorso Relativo | cat ./- | Evita che il trattino sia interpretato come un flag/opzione. |
| Doppio Trattino | cat -- -file | Segnala al comando che le opzioni sono finite. |
| Virgolette | cat "nome file" | Protegge gli spazi dalla shell. |
| Backslash | cat nome\ file | Escaping dei caratteri speciali. |
Combinazioni utili (Piping)#
# Legge il file e conta quante righe contiene (tramite word count)
cat /etc/passwd | wc -l
# Visualizza i log in tempo reale aggiungendo la numerazione
tail -f /var/log/auth.log | cat -nscrivere dentro a un file#
cat > /Users/barno/Documents/lavori/corsobitcoin/assets/css/extended.css << 'EOF'
.post-cover {
max-height: 300px;
object-fit: cover;
}
EOFScenario Reale (Blue Team)#
Un analista SOC riceve un alert su una possibile modifica non autorizzata al file /etc/hosts. Utilizza cat -A /etc/hosts per verificare non solo le voci presenti, ma anche l'eventuale presenza di caratteri non stampabili o tabulazioni anomale che potrebbero nascondere redirect malevoli verso indirizzi IP di C2 (Command & Control).
Dove l'ho usato#
- bandit-00 — Lettura del file
readme. - bandit-02 — Lettura del file
-tramite percorso relativo.
Note personali#
Ricorda:
catcarica l'intero file in memoria. Per file di log giganti (GB), preferirelessotailper evitare il crash della sessione terminale.
Collegato a#
- file — categoria (Hub)
- system — categoria (Hub)
- standard-streams — concetto (cat scrive su stdout)
- grep — usato spesso in pipeline per filtrare il contenuto visualizzato


