0Pricing
DevOps Bootcamp · Lezione

Ricerca dei file (find, grep)

Scopra comandi potenti come 'find' e 'grep' per individuare file e specifici schemi di testo nei file del sistema.

Ricerca dei file (find, grep) è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.

Perché cercare in Linux?

Trovare file e testo è un'attività quotidiana in Linux. Immagini di dover individuare uno specifico file di configurazione o una riga di codice in un progetto di grandi dimensioni.

Impareremo a usare due potenti comandi: find per individuare file e directory e grep per cercare pattern di testo *all'interno* dei file.

Presentazione del comando `find`

Il comando find cerca file e directory all'interno di una gerarchia di directory. È estremamente flessibile.

La sua struttura di base è: find [path] [expression]. [path] indica a find da dove iniziare la ricerca, mentre [expression] definisce cosa cercare.

Trovare file per nome

Il modo più comune di usare find consiste nel cercare per nome con l'opzione -name. Può usare caratteri jolly come *.

Troviamo tutti i file che terminano con .txt nella directory corrente.

cd /tmp
touch report.txt document.pdf notes.txt
find . -name "*.txt"

Trovare file per tipo

Può specificare il tipo di elemento che find deve cercare usando l'opzione -type:

  • f per i file normali
  • d per le directory

Troviamo tutte le directory nella posizione corrente.

cd /tmp
mkdir mydir anotherdir
touch file.txt
find . -type d

Trovare file per dimensione

Deve trovare file di grandi dimensioni? Usi l'opzione -size. Può specificare unità come c (byte), k (KB), M (MB), G (GB).

  • +10M: più grandi di 10 MB
  • -5k: più piccoli di 5 KB
  • 100c: esattamente 100 byte

Troviamo i file più grandi di 1 KB.

cd /tmp
dd if=/dev/zero of=small_file bs=100 count=1 2>/dev/null
dd if=/dev/zero of=large_file bs=2k count=1 2>/dev/null
find . -size +1k

Introduzione a `grep`

Mentre find individua i file, grep (Global Regular Expression Print) cerca pattern di testo specifici *all'interno* dei file.

La sintassi di base è: grep [pattern] [file...]. [pattern] è il testo che sta cercando, mentre [file...] sono i file in cui effettuare la ricerca.

`grep` per il testo semplice

Creiamo un semplice file di testo e usiamo grep per trovare una parola al suo interno. grep stamperà ogni riga che contiene il pattern.

cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "CoddyKit is fun." >> greeting.txt
grep "CoddyKit" greeting.txt

Opzioni di `grep`: -i e -n

Due opzioni utili di grep:

  • -i: ignora la distinzione tra maiuscole e minuscole durante la ricerca.
  • -n: mostra il numero della riga in cui è stata trovata la corrispondenza.

Cerchiamo «coddykit» (senza distinguere tra maiuscole e minuscole) e visualizziamo i numeri di riga.

cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "coddykit is fun." >> greeting.txt
grep -i -n "coddykit" greeting.txt

Combinare `find` e `grep`

Può combinare find e grep per cercare file *e* il loro contenuto. L'opzione -exec di find consente di eseguire un altro comando su ogni file trovato.

Qui troviamo tutti i file .txt e cerchiamo «CoddyKit» al loro interno.

cd /tmp
echo "Hello CoddyKit" > file1.txt
echo "Hello World" > file2.txt
echo "CoddyKit rocks" > file3.txt
find . -name "*.txt" -exec grep -l "CoddyKit" {} +

Verifica rapida

Dispone di una directory con diversi file. Quale comando troverebbe tutti i file chiamati log.txt o error.log più grandi di 50 KB?

Riepilogo: ricerca dei file

Ottimo lavoro! Ha imparato a cercare in modo efficiente file e contenuti in Linux:

  • find: individua file e directory in base a diversi criteri, come nome, tipo e dimensione.
  • grep: cerca *all'interno* dei file pattern di testo specifici, con opzioni per ignorare la distinzione tra maiuscole e minuscole e visualizzare i numeri di riga.
  • Ha anche visto come find e grep possano collaborare per una potente ricerca dei contenuti.

Continui a esercitarsi con questi comandi per acquisire padronanza nella navigazione di Linux.

Domande Frequenti

La lezione «Ricerca dei file (find, grep)» è gratuita?

Sì — il testo completo di «Ricerca dei file (find, grep)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.

Cosa imparerò in «Ricerca dei file (find, grep)»?

Scopra comandi potenti come 'find' e 'grep' per individuare file e specifici schemi di testo nei file del sistema. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Ricerca dei file (find, grep)»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Visualizzazione del contenuto dei file (cat, less, head, tail)
  2. Comprensione dei permessi dei file (chmod, chown)
  3. Ricerca dei file (find, grep)
  4. Creazione di link: hard link e symlink
← Torna a DevOps Bootcamp