Come trovare tutti i file con la stessa estensione all'interno di una directory


63

Sono principiante in Linux e voglio cercare tutti i .conffile in /etc/.

Ho provato grep -r *.conf /etc, ma il risultato non è giusto.

Che cosa sto facendo di sbagliato?

Risposte:


96

Premi Ctrl+ Alt+ Tsulla tastiera per aprire Terminale. Quando si apre, esegui il comando seguente:

find . -type f -name "*.txt"

Questo elencherà tutti i file con l'estensione .txt.

.L'all'inizio indica la directory corrente. findcerca in modo ricorsivo in tutte le directory sotto il percorso indicato. Se si desidera che la ricerca inizi in un punto diverso dalla directory di lavoro corrente, specificare il percorso, ad esempio:

find /etc -type f -name "*.conf"

Questo cerca nella /etcdirectory e in tutte le sue sottodirectory i file regolari con l' .confestensione.


1
Funziona. Ci sono alternative per questo comando?
Adrian George,

1
Puoi dare un'occhiata a Trova .
Mitch

@AdrianGeorge findè così ampiamente usato, così ben documentato, e ha così tanti post StackOverflow / Exchange al riguardo che sarebbe più difficile trovare qualcosa di più facile con cui lavorare. Quasi tutto ciò che vorresti fare è stato scritto online da qualche parte.
BallpointBen

6

Personalmente userei find, ma puoi glob anche per queste cose:

shopt -s globstar
ls /etc/{,**/}*.conf

E puoi usare individuare ed è veloce ma non affidabile.

locate '/etc/**.conf'

Perché non è locateaffidabile?
Giraldi,

1
@Giraldi locatesi affida al database mlocate per essere stato aggiornato di recente per essere accurato. Per impostazione predefinita, è pianificato l'aggiornamento solo una volta al giorno (anche se è possibile forzarlo manualmente con updatedb).
Oli

@Oli non è vero sui Mac, giusto? pensa che mac os mantenga aggiornato
mlocate

6

grepcerca il contenuto dei file, non i nomi dei file.

Per trovare tutti i .conffile in /etc/ti consigliamo di trovare:

find /etc -name "*.conf"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.