3 modi per trovare un file in Linux

Sommario:

3 modi per trovare un file in Linux
3 modi per trovare un file in Linux

Video: 3 modi per trovare un file in Linux

Video: 3 modi per trovare un file in Linux
Video: Windows 7/8/10 - Correzione dell'errore "Non si dispone dell'autorizzazione per accedere" 2024, Maggio
Anonim

Trovare un file in un sistema Linux può essere difficile se non sai come fare. Il modo migliore per trovare i file è utilizzare diversi comandi del terminale. La padronanza di questi comandi può darti il controllo completo sui tuoi file e sono molto più potenti delle semplici funzioni di ricerca su altri sistemi operativi.

Passi

Metodo 1 di 3: utilizzo di "localizza"

690519 10 1
690519 10 1

Passaggio 1. Installa il file

individuare funzionalità.

Il comando locate generalmente funziona molto più velocemente di find, perché funziona su un database della struttura dei file. Non tutte le distribuzioni Linux vengono fornite con la funzionalità di localizzazione installata, quindi inserisci i seguenti comandi per tentare di installarla:

  • Digita sudo apt-get update e premi Invio.
  • Puoi installarlo in Debian e Ubuntu in questo modo: digita sudo apt-get install mlocate e premi Invio. Se locate è già installato, vedrai il messaggio mlocate è già la versione più recente.
  • In Arch Linux, usa il gestore di pacchetti pacman: pacman -S mlocate
  • Per Gentoo, usa emerge: emerge mlocate
690519 11 1
690519 11 1

Passaggio 2. Aggiorna il tuo

individuare Banca dati.

Il comando locate non sarà in grado di trovare nulla finché il suo database non sarà stato creato e aggiornato. Questo accade automaticamente ogni giorno, ma puoi anche aggiornarlo manualmente. Dovrai farlo se vuoi iniziare a usare localizzare immediatamente.

Digita sudo aggiornatob e premi Invio

690519 12 1
690519 12 1

Passaggio 3. Utilizzare

individuare per eseguire semplici ricerche.

Il comando locate è veloce, ma non ha tante opzioni quanto il comando find. Puoi eseguire una ricerca di file di base più o meno allo stesso modo del comando trova.

individuare -i "*.jpg"

  • Questo comando cercherà nell'intero sistema i file con estensione.jpg. Il carattere jolly * funziona allo stesso modo del comando find.
  • Come il comando find, -i ignora il caso della tua query.
690519 13 1
690519 13 1

Passaggio 4. Limita i risultati della ricerca

Se le tue ricerche restituiscono troppi risultati da gestire, puoi ridurli utilizzando l'opzione -n, seguita dal numero di risultati che desideri visualizzare.

individuare -n 20 -i "*.jpg"

  • Verranno visualizzati solo i primi 20 risultati che corrispondono alla query.
  • Puoi anche usare | pipe per inviare i risultati a less per un facile scorrimento.

Metodo 2 di 3: utilizzo di "trova"

690519 1 1
690519 1 1

Passaggio 1. Cerca un file in base al nome del file

Questa è la ricerca più elementare che puoi eseguire utilizzando il comando trova. Il comando seguente cercherà la query nella directory corrente e in qualsiasi sottodirectory.

trova -iname "nome file"

L'uso di -iname invece di -name ignora il caso della tua query. Il comando -name fa distinzione tra maiuscole e minuscole

690519 2 1
690519 2 1

Passaggio 2. Impostare la ricerca in modo che inizi nella directory principale

Se vuoi cercare nell'intero sistema, puoi aggiungere il modificatore / alla query. Questo dirà a find di cercare tutte le directory a partire dalla directory principale.

trova / -iname "nome file"

  • Puoi iniziare la ricerca in una directory specifica sostituendo / con un percorso di directory, come /home/pat.
  • Puoi usare un. invece di / per forzare l'esecuzione della ricerca solo nella directory e nelle sottodirectory correnti.
690519 3 1
690519 3 1

Passaggio 3. Utilizzare il carattere jolly

* per cercare qualcosa che corrisponda alla parte della query.

Il carattere jolly * può essere utile per trovare qualcosa se non si conosce il nome completo o se si desidera trovare tutto con un'estensione specifica.

trova /home/pat -iname "*.conf"

  • Ciò restituirà tutti i file.conf nella cartella utente (e nelle sottodirectory) di Pat.
  • Puoi anche usarlo per trovare tutto ciò che corrisponde a parte del nome del file. Ad esempio, se hai molti documenti relativi a wikiHow, puoi trovarli tutti digitando "*wiki*".
690519 4 1
690519 4 1

Passaggio 4. Semplifica la gestione dei risultati di ricerca

Se ottieni molti risultati di ricerca, può essere difficile esaminarli. Usa il | carattere e inviare i risultati della ricerca al programma di filtraggio "less". Ciò può consentire di scorrere e filtrare i risultati molto più facilmente.

find /home/pat -iname "*.conf" | meno

690519 5 1
690519 5 1

Passaggio 5. Trova tipi specifici di risultati

È possibile utilizzare i modificatori per restituire solo tipi specifici di risultati. È possibile cercare file normali (f), directory (d), collegamenti simbolici (l), dispositivi a caratteri (c) e dispositivi a blocchi (b) utilizzando il modificatore destro.

trova / -type f -iname "nomefile"

690519 6 1
690519 6 1

Passaggio 6. Filtra i risultati della ricerca per dimensione

Se hai molti file con nomi simili, ma conosci la dimensione che stai cercando, puoi filtrare i nostri risultati per dimensione.

trova / -size +50M -iname "nome file"

  • Ciò restituirà risultati di 50 megabyte o più grandi. Puoi usare + o - per cercare dimensioni maggiori o minori. Omettendo il + o - cercheranno i file esattamente la dimensione specificata.
  • Puoi filtrare per byte (c), kilobyte (k), megabyte (M), gigabyte (G) o blocchi da 512 byte (b). Si noti che il flag della dimensione fa distinzione tra maiuscole e minuscole.
690519 7 1
690519 7 1

Passaggio 7. Utilizzare gli operatori booleani per combinare i filtri di ricerca

È possibile utilizzare gli operatori -and, -or e -not per combinare diversi tipi di ricerche in una sola.

find /travelphotos -type f -size +200k -not -iname "*2015*"

Il comando troverà i file nella directory "travelphotos" che hanno una dimensione maggiore di 200 kilobyte ma non hanno "2015" in nessun punto del nome del file

690519 8 1
690519 8 1

Passaggio 8. Cerca i file per proprietario o permessi

Se stai cercando di trovare un file specifico di proprietà di un utente o file con determinate autorizzazioni, puoi restringere la ricerca.

find / -user pat -iname "nome file" find / -group utenti -iname "nome file" find / -perm 777 -iname "nome file"

Gli esempi precedenti cercheranno gli utenti, i gruppi o le autorizzazioni specificati per la query. Puoi anche omettere la query del nome del file per restituire tutti i file che corrispondono a quel tipo. Ad esempio, find / -perm 777 restituirà tutti i file con i permessi 777 (nessuna restrizione)

690519 9 1
690519 9 1

Passaggio 9. Combina i comandi per eseguire azioni quando vengono trovati i file

È possibile combinare il comando find con altri comandi in modo da poterli eseguire sui file restituiti dalla query. Separare il comando find e il secondo comando con il flag -exec, quindi terminare la riga con {};

trova. -type f -perm 777 -exec chmod 755 {};

Questo cercherà nella directory corrente (e in tutte le sottodirectory) i file con autorizzazioni 777. Utilizzerà quindi il comando chmod per modificare i permessi in 755

Metodo 3 di 3: ricerca di testo nei file

690519 14 1
690519 14 1

Passaggio 1. Utilizzare il

grep comando per cercare stringhe di testo all'interno dei file.

Se stai cercando un file che contenga una determinata frase o stringa di caratteri, puoi utilizzare il comando grep. Un comando grep di base è formattato come segue:

grep -r -i "query di ricerca" /percorso/della/directory/

  • Il -r imposta la ricerca su "ricorsiva", quindi cercherà nella directory corrente e in tutte le sottodirectory qualsiasi file che contenga la stringa di query.
  • Il -i indica che la query non fa distinzione tra maiuscole e minuscole. Se vuoi forzare la ricerca a prestare attenzione al caso, ometti l'operatore -i.
690519 15 1
690519 15 1

Passaggio 2. Ritaglia il testo extra

Quando esegui una ricerca grep come sopra, vedrai il nome del file insieme al testo con la query corrispondente evidenziata. Puoi nascondere il testo corrispondente e visualizzare semplicemente i nomi e i percorsi dei file includendo quanto segue:

grep -r -i "query di ricerca" /percorso/della/directory/ | taglia -d: -f1

690519 16 1
690519 16 1

Passaggio 3. Nascondi i messaggi di errore

Il comando grep restituirà un errore quando tenta di accedere alle cartelle senza i permessi corretti o viene eseguito in cartelle vuote. Puoi inviare i messaggi di errore a /dev/null, che li nasconderà dall'output.

grep -r -i "query di ricerca" /percorso/della/directory/ 2>/dev/null

Consigliato: