![Comando Find Linux - Cercare file e directory da terminale](https://i.ytimg.com/vi/ZQ-cu_EVscs/hqdefault.jpg)
Contenuto
- Passi
- Metodo 1 di 3: l'utilità di ricerca
- Metodo 2 di 3: individuare l'utilità
- Metodo 3 di 3: trova il testo nei file
Trovare un file su un sistema Linux è abbastanza difficile se non sai come farlo. È meglio usare comandi diversi che vengono immessi nel Terminale. Avendo padroneggiato tali comandi, avrai il controllo completo sui file; inoltre, questi comandi sono più funzionali di motori di ricerca simili in altri sistemi operativi.
Passi
Metodo 1 di 3: l'utilità di ricerca
1 Trova il file in base al suo nome. Una ricerca così semplice viene eseguita utilizzando l'utilità Trovare... Il comando seguente cercherà un file nella directory corrente e in tutte le sue sottodirectory.
trova -iname "nome file"
- accedere -nomino invece di -nomeper ignorare le maiuscole nel nome del file inserito. Squadra -nome fa distinzione tra maiuscole e minuscole.
2 Inizia la ricerca nella directory principale. Per avviare una ricerca a livello di sistema, aggiungi il modificatore alla query /... In questo caso, il comando Trovare cercherà il file in tutte le directory a partire dalla radice.
trova / -iname "nome file"
- Puoi iniziare la ricerca in una directory specifica; per fare questo, sostituire / ad un percorso di directory, per esempio / casa / max.
- Può essere utilizzata . invece di /per cercare il file solo nella directory corrente e nelle sue sottodirectory.
3 Usa un simbolo di generalizzazione.*per trovare file il cui nome corrisponde alla parte della richiesta. Usando il simbolo di generalizzazione * puoi trovare un file il cui nome completo è sconosciuto oppure puoi trovare tutti i file con un'estensione specifica.
trova / home / max -iname " *. conf"
- Questo comando troverà tutti i file con estensione .conf nella cartella utente Max (e nelle sue sottocartelle).
- Usa questo comando per trovare tutti i file che corrispondono a parte della query. Ad esempio, se hai molti file relativi a WikiHow sul tuo computer, trova tutti i file digitando " * wiki *".
4 Semplifica la gestione dei risultati di ricerca. Se ci sono troppi risultati di ricerca, è difficile trovare il file che stai cercando. Usa il simbolo |per filtrare i risultati della ricerca con meno. In questo modo sarà più facile visualizzare e filtrare i risultati della ricerca.
trova / home / max -iname " *. conf" | meno
5 Trova oggetti specifici. Utilizza i modificatori per mostrare solo elementi specifici nei risultati di ricerca. Puoi cercare file normali (F), directory (D), collegamenti simbolici (io), dispositivi I/O di carattere (insieme a) e dispositivi di blocco (B).
trova / -type f -iname "nomefile"
6 Filtra i risultati della ricerca in base alla dimensione del file. Se hai molti file con nomi simili sul tuo computer, ma conosci la dimensione del file che stai cercando, filtra i risultati della ricerca in base alla dimensione del file.
trova / -size + 50M -iname "nome file"
- Questo comando troverà tutti i file più grandi di 50 MB. Usa un modificatore + o -per indicare un aumento o una diminuzione delle dimensioni. Se il modificatore + o - no, il comando troverà i file che hanno esattamente la stessa dimensione della dimensione specificata.
- I risultati della ricerca possono essere filtrati per byte (C), kilobyte (K), megabyte (m), gigabyte (G) o blocchi di 512 byte (B). Notare che i modificatori mostrati fanno distinzione tra maiuscole e minuscole.
7 Utilizzare operatori logici (operatori booleani) per combinare i filtri di ricerca. Gli operatori possono essere utilizzati -e, -o, -nonper combinare diversi termini di ricerca in un'unica query.
trova / travelphotos -type f -size + 200k -not -iname " * 2015 *"
- Questo comando troverà i file nella cartella "Travelphotos" che sono più grandi di 200 KB e che non hanno il numero 2015 nei loro nomi.
8 Trova i file per proprietario o permessi. Se hai bisogno di trovare un file di proprietà di un utente specifico o un file con diritti di accesso specifici, puoi restringere la ricerca.
find / -user max -iname "nome file" find / -group utenti -iname "nome file" find / -perm 777 -iname "nome file"
- I comandi precedenti troveranno il file per un utente, gruppo o con diritti di accesso specifici. Puoi anche omettere il nome del file nella query per trovare tutti i file che corrispondono ai criteri specificati. Ad esempio, il comando trova / -perm 777 troverà tutti i file con permessi 777 (illimitati).
9 Combina i comandi per eseguire azioni specifiche al termine della ricerca del file. Il gruppo Trovare può essere combinato con altri comandi che elaboreranno i file trovati. Per fare questo, tra la squadra Trovare e con il secondo comando invio -exece alla fine della riga inserisci {} ;
Trovare. -type f -perm 777 -exec chmod 755 {} ;
- Questo comando troverà nella directory corrente (e nelle sue sottodirectory) tutti i file con i permessi 777, quindi utilizzando il comando chmod i diritti di accesso passeranno a 755.
Metodo 2 di 3: individuare l'utilità
1 Installa l'utilità.individuare... Questa utility è più veloce dell'utility Trovareperché in realtà non esegue la scansione del filesystem. Tuttavia, non tutte le distribuzioni Linux vengono fornite con l'utilità. individuarequindi inserisci i seguenti comandi per installarlo:
- accedere sudo apt-get update e premi Entra.
- Su Debian e Ubuntu, fai quanto segue: invio sudo apt-get install mlocate e premi Entra... Se individuare già installato, viene visualizzato un messaggio mlocate è già la versione più recente (ultima versione installata).
- Su Arch Linux, usa il gestore di pacchetti pacman: pacman -Syu mlocate
- Su Gentoo, usa emerge: emerge mlocate
2 Aggiorna il database delle utilità.individuare... Questa utility non sarà in grado di trovare nulla senza un database precedentemente creato e aggiornato (che memorizza una parvenza di un'istantanea dal file system). Il database viene aggiornato quotidianamente in modalità automatica, ma può essere effettuato manualmente. Aggiorna manualmente il database per iniziare subito a lavorare con individuare.
- accedere sudo aggiornato e premi Entra.
3 Utilizzo.individuareper eseguire semplici ricerche. Utilità individuare funziona rapidamente, ma non è funzionale come l'utilità Trovare... Squadra individuare gestisce semplici query di ricerca in modo simile al comando Trovare.
individuare -i " *.webp"
- Questo comando troverà (in tutto il sistema) tutti i file con l'estensione .webp... Qui il simbolo della generalizzazione * funziona come la squadra Trovare.
- Come la squadra Trovare, modificatore -io ignora il caso del termine di ricerca.
. 4 Limita il numero di risultati di ricerca. Se ci sono troppi risultati di ricerca, accorciali con il modificatore -n e un numero che determina il numero di risultati di ricerca visualizzati.
individuare -n 20 -i " *. jpg"
- Questo comando visualizzerà i primi 20 risultati che corrispondono al termine di ricerca.
- Puoi anche usare il simbolo |per filtrare i risultati della ricerca con meno. In questo modo sarà più facile visualizzare i risultati della ricerca.
Metodo 3 di 3: trova il testo nei file
1 Usa il comando.grepper cercare testo nei file. Eseguire questa operazione per trovare un file che contiene una frase o una riga specifica. Formato comando di base grep come segue:
grep -r -i "query di ricerca" / percorso / a / directory /
- Modificatore -R rende la ricerca ricorsiva, quindi qualsiasi file contenente una stringa del termine di ricerca verrà trovato nella directory corrente (e in tutte le sottodirectory).
- Modificatore -io indica che la richiesta non fa distinzione tra maiuscole e minuscole. Per distinguere tra maiuscole e minuscole, non inserire il modificatore -io.
2 Nascondi il testo in eccesso. Quando si esegue il comando grep (come descritto sopra) sullo schermo verranno visualizzati il nome del file e il testo con la frase o la stringa evidenziata specificata nella query di ricerca. È possibile nascondere tale testo per visualizzare solo il nome e il percorso del file. Per fare ciò, inserisci il seguente comando:
grep -r -i "query di ricerca" / percorso / a / directory / | taglia -d: -f1
3 Nascondi i messaggi di errore. Squadra grep visualizza un messaggio di errore se tenta di accedere alle cartelle senza i permessi appropriati o finisce in cartelle vuote. Tali messaggi possono essere inviati a /dev/null in modo che non vengano visualizzati sullo schermo.
grep -r -i "query di ricerca" / percorso / a / directory / 2> / dev / null