Skip to main content
  1. Comandi/

cat - concatena e visualizza file

·2 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

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
#

ComandoFlagCosa fa
cat file.txtStampa 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 > f3Unisce 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:

TecnicaEsempioPerché si usa
Percorso Relativocat ./-Evita che il trattino sia interpretato come un flag/opzione.
Doppio Trattinocat -- -fileSegnala al comando che le opzioni sono finite.
Virgolettecat "nome file"Protegge gli spazi dalla shell.
Backslashcat nome\ fileEscaping 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 -n

scrivere dentro a un file
#

cat > /Users/barno/Documents/lavori/corsobitcoin/assets/css/extended.css << 'EOF'
.post-cover {
  max-height: 300px;
  object-fit: cover;
}
EOF

Scenario 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: cat carica l'intero file in memoria. Per file di log giganti (GB), preferire less o tail per 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

Related