Trovare file su un sistema Linux può essere difficile se non sai come fare. Il modo migliore per trovare file su Linux è utilizzare alcuni comandi del terminale. La padronanza di alcuni di questi comandi può darti il controllo completo sui file e sono più utili delle semplici funzioni di ricerca di altri sistemi operativi.
Fare un passo
Metodo 1 di 3: utilizzo di "trova"
Passaggio 1. Cerca i file per nome
Questo tipo di ricerca è il più elementare e puoi farlo con il comando trova. Il comando seguente eseguirà una ricerca in base alla parola inserita nella directory in cui ti trovi e nelle sottodirectory al suo interno.
trova -iname "nome file"
Se usi -iname invece di -name, la differenza tra le parole chiave maiuscole e minuscole non avrà alcun effetto. Il comando -name considera le lettere maiuscole e minuscole come caratteri diversi
Passaggio 2. Impostare la ricerca in modo che inizi nella directory principale
Se vuoi fare una ricerca a livello di sistema, puoi aggiungere il modificatore / alla parola chiave. Il modificatore dice al comando find di cercare a fondo, a partire dalla directory principale.
trova / -iname "nome file"
- È possibile avviare una ricerca in una directory specifica sostituendo il modificatore / con il percorso della directory, ad esempio /home/pat.
- Puoi usare. diverso da / in modo che le ricerche vengano eseguite solo all'interno della directory in cui ti trovi e anche nelle sottodirectory al suo interno.
Passaggio 3. Utilizzare i caratteri jolly
* per cercare qualsiasi cosa che corrisponda parzialmente alle tue parole chiave.
Il carattere jolly * può essere utilizzato per trovare file di cui non si conosce il nome completo o se si desidera trovare tutti i file con un'estensione specifica.
trova /home/pat -iname "*.conf"
- Il comando precedente restituirà tutti i file.conf nella directory utente denominata Pat (così come le sottodirectory in essa contenute).
- Puoi anche usarlo per trovare qualsiasi cosa il cui nome corrisponda parzialmente a quella parola chiave. Ad esempio, se hai molti documenti relativi a wikiHow, puoi trovarli digitando "*wiki*".
Passaggio 4. Semplifica la gestione dei risultati di ricerca
Se i risultati della ricerca sono troppi, sarà difficile per te trovare il file che desideri. Usa il carattere | e inviare i risultati della ricerca al programma di filtro "meno". In questo modo, puoi scorrere e filtrare i risultati della ricerca più facilmente.
find /home/pat -iname "*.conf" | meno
Passaggio 5. Trova i risultati della ricerca con un tipo specifico
È possibile utilizzare i modificatori per restituire solo determinati tipi di risultati. È possibile cercare file regolari (f), directory (d), collegamenti simbolici (l), dispositivi a caratteri (c) e dispositivi a blocchi (b) utilizzando i modificatori appropriati.
trova / -type f -iname "nomefile"
Passaggio 6. Filtra i risultati della ricerca per dimensione
Se hai molti file con nomi simili, ma conosci la dimensione del file che desideri, puoi filtrare la ricerca per dimensione.
trova / -size +50M -iname "nome file"
- Il comando precedente restituirà risultati di ricerca di 50 megabyte o più. Puoi usare + o - per cercare file di dimensioni maggiori o minori. L'omissione del segno + o - fa sì che la ricerca restituisca solo i risultati con la dimensione veramente "corretta".
- È possibile filtrare la ricerca per blocchi di byte (c), kilobyte (k), megabyte (M), gigabyte (G) o 512 byte (b). Tieni presente che i segni distinguono tra lettere maiuscole e minuscole.
Passaggio 7. Utilizzare gli operatori booleani per combinare i filtri di ricerca
È possibile utilizzare gli operatori -and, -or e -not per combinare diverse ricerche.
find /travelphotos -type f -size +200k -not -iname "*2015*"
Il comando precedente cercherà i file nella directory "travelphotos" di dimensioni superiori a 200 kilobyte, ma senza la parola "2015" nel nome
Passaggio 8. Eseguire una ricerca di file per nome del proprietario o autorizzazione
Se stai cercando di trovare un file specifico che appartiene a un utente specifico o stai cercando un 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 eseguiranno una ricerca per un utente, un gruppo o un'autorizzazione specifici all'interno di una parola chiave. Puoi anche omettere il nome del file per restituire tutti i file che corrispondono a quel tipo. Ad esempio, find / -perm 777 restituirà tutti i file con autorizzazioni 777 (nessuna restrizione)
Passaggio 9. Concatenare i comandi per eseguire l'azione quando il file è stato trovato
Puoi combinare il comando di ricerca con altri comandi in modo da poter elaborare i file restituiti dalla parola chiave con quel comando. 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 {};
Il comando precedente cercherà nella directory in cui ti trovi (e in tutte le sottodirectory in essa contenute) i file con autorizzazioni 777. Quindi, il comando chmod cambierà le autorizzazioni in 755
Metodo 2 di 3: utilizzo di "localizza"
Passaggio 1. Installa
individuare funzionalità. Il comando locate è generalmente più veloce del comando find, a causa dell'utilizzo del database del tuo file system. Non tutti i tipi di Linux sono dotati di una funzione di localizzazione, quindi inserisci il seguente comando per installarlo:
- Digita sudo apt-get update, quindi premi Invio.
- Puoi installarlo su Debian e Ubuntu in questo modo: digita sudo apt-get install mlocate, quindi premi Invio. Se la funzione di localizzazione è stata installata in precedenza, vedrai il messaggio mlocate è già la versione più recente.
- Su Arch Linux, usa il gestore di pacchetti pacman: pacman -Syu mlocate
- Per Gentoo, usa emerge: emerge mlocate
Passaggio 2. Aggiorna
individuare Banca dati Voi. Il comando locate non sarà in grado di trovare nulla finché non viene creato e aggiornato. Il processo viene solitamente eseguito automaticamente ogni giorno, ma puoi anche aggiornarlo manualmente. È necessario farlo se si desidera utilizzare la funzione di localizzazione il prima possibile.
Digita sudo aggiornatob, quindi premi Invio
Passaggio 3. Utilizzare il
individuare per eseguire una semplice ricerca.
La funzione di localizzazione funziona rapidamente, ma non ha tante opzioni quanto il comando di ricerca. È possibile eseguire ricerche di file di base in modo simile al comando trova.
individuare -i "*.jpg"
- Il comando precedente cercherà nell'intero sistema i file con estensione.jpg. Il carattere jolly * funziona in modo simile al comando trova.
- Come il comando trova, anche il modificatore -i rende le lettere maiuscole e minuscole nelle parole chiave considerate uguali.
Passaggio 4. Limita i risultati della ricerca
Se la tua ricerca restituisce così tanti risultati che è difficile utilizzarli, puoi ridurre quei risultati con il modificatore -n, seguito dal numero di risultati che desideri restituire.
individuare -n 20 -i "*.jpg"
- Verranno visualizzati solo 20 risultati di ricerca.
- Puoi anche usare | per inviare i risultati della ricerca al programma less filter per uno scorrimento più semplice dei risultati.
Metodo 3 di 3: ricerca di testo nei file
Passaggio 1. Utilizzare il comando
grep per trovare la stringa di testo nel file.
Se stai cercando un file che contiene una frase o una stringa di caratteri specifica, puoi utilizzare il comando grep. Il comando grep di base ha il seguente formato:
grep -r -i "query di ricerca" /percorso/della/directory/
- Il modificatore -r rende la ricerca "ricorsiva", quindi verrà eseguita una ricerca all'interno della directory e in tutte le sottodirectory al suo interno per trovare file contenenti testo con la parola chiave di ricerca.
- Il modificatore -i indica che la parola chiave di ricerca non fa distinzione tra lettere maiuscole e minuscole. Se vuoi forzare la ricerca a distinguere tra lettere maiuscole e minuscole, ignora il modificatore -i.
Passaggio 2. Rimuovere il testo in eccesso
Quando esegui una ricerca grep come sopra, vedrai il nome del file con le lettere corrispondenti evidenziate. Puoi nascondere il testo corrispondente e mostrare solo il nome e il percorso della directory del file aggiungendo:
grep -r -i "parola chiave di ricerca" /percorso/alla/directory/ | taglia -d: -f1
Passaggio 3. Nascondi il messaggio di errore
Il comando grep restituirà un errore quando si tenta di accedere a una directory senza i permessi appropriati o quando si entra in una directory vuota. Puoi inviare messaggi di errore a /dev/null in modo che non vengano visualizzati.
grep -r -i "parola chiave di ricerca" /percorso/alla/directory/ 2>/dev/null