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 Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Command Line & Bash Scripting Mastery 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:
fper i file normalidper le directory
Troviamo tutte le directory nella posizione corrente.
cd /tmp
mkdir mydir anotherdir
touch file.txt
find . -type dTrovare 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 KB100c: 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 +1kIntroduzione 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.txtOpzioni 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.txtCombinare `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
findegreppossano 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 Linux Command Line & Bash Scripting Mastery, passa a CoddyKit PRO. Il corso Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery?
Non è richiesta alcuna esperienza precedente. Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery?
Sì. Ogni lezione Linux Command Line & Bash Scripting Mastery 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
- Visualizzazione del contenuto dei file (cat, less, head, tail)
- Comprensione dei permessi dei file (chmod, chown)
- Ricerca dei file (find, grep)
- Creazione di link: hard link e symlink