Il modo per scoprire ciò che stai cercando può essere più profondo di quanto pensassi o potrebbe essere proprio dietro l'angolo. Tutto dipende da come appari, da dove guardi e da cosa stai cercando. Quando si risolvono i problemi che si presentano, può essere più facile di quanto sembri. Uno dei miei strumenti preferiti è find
comando. Il find
command è un'utilità per scorrere un albero di directory, discendendo nelle directory con ciascun percorso elencato e valutando le espressioni aggiunte per ogni file elencato. Con questo comando puoi ottenere molto. In questo articolo, tratterò diversi modi, oltre a battute, per aiutarti a find
file di grandi dimensioni, per find
più file e persino per individuare tipi di file specifici.
Trova più file in Linux
Il find
comando viene utilizzato in vari modi. Una cosa che non vuoi fare come amministratore di sistema è lavorare più del necessario. Invece di eseguire lo stesso comando per cercare un file più e più volte, puoi usare find
comando per individuare più file contemporaneamente.
$ find /home -type f -name file.txt -exec {} \;
Questo one-liner può essere scomposto. Trovo meglio leggerlo quasi come una frase:
- cercando il
/home
directory - cercando un file (
-type f
) o una directory (-type d
) - il nome del file è file.txt (
-name file.txt
) - eseguendo un altro comando dall'output precedente
Trova file di grandi dimensioni in Linux
Puoi anche usare find
per scoprire file di grandi dimensioni in Linux. La ricerca di file di grandi dimensioni si è rivelata utile a lungo termine. find
può aiutare a individuare rapidamente file di grandi dimensioni, come backup e file ISO.
$ find / -type f -size +500000k -exec ls -lh {} \;
Questo one-liner può essere scomposto:
- cercando il
/
directory - cercare un file (
type -f
) - cercando un file più grande di
500000k
- eseguendo il comando
ls -lh
sui file trovati nell'output precedente
Trova tipi di file specifici in Linux
Un altro buon metodo è individuare le estensioni dei file utilizzando find
comando. Lo trovo utile, poiché mi ha mostrato modi per trovare file specifici con solo una parola chiave specifica. In questo caso, l'esempio seguente cerca file che contengono solo un'estensione specifica:
# find / -type f \( -name "*.sh" -o -name "*.txt" )
Per sezionare questo:
- cercando nel
/
directory - cercando un file (
-type f
) o una directory (-type d
) - cercando un nome file che è un carattere jolly ma termina con l'estensione
.sh
o.txt
Ho anche cercato contenuto all'interno di un file che corrisponde a una parola chiave specifica. Questi comandi possono essere ottimizzati e modificati per ottenere il risultato desiderato.
Trova i file modificati in Linux
L'ultimo esempio mostra come find
un file modificato negli ultimi 50 giorni. Ciò può essere utile quando è necessario individuare i file modificati di recente per motivi di sicurezza o se sulla rete sono presenti utenti indesiderati che accedono ad altri file.
# find / -type f -ctime +50 -exec rm -f {} \;
Il comando sopra mostra:
- cercando nel
/
directory - cercando un file (
-type f
) o una directory (-type d
) - ricerca di file più vecchi di
50
giorni - eseguendo il comando
rm -f
sui file trovati nell'output precedente
Questo può aiutare a rimuovere quei file dannosi tutto in una volta. Devi solo assicurarti che i file che selezioni siano i file che desideri rimuovere. Un modo per verificare è eseguire il comando senza exec
sezione per vedere i file che emergono nell'output. Se è presente un numero elevato di file, reindirizza l'output in un file:
# find / -type f -ctime +50 > files.txt
Il contenuto può essere rivisto e verificato prima di eseguire un one-liner che rimuove il /etc
cartella. Non è l'ideale.
Conclusione
Il find
comando ha una varietà di usi e disponibilità in cui gli amministratori possono trovare il contenuto di cui hanno bisogno (nessun gioco di parole). Con questo comando le possibilità sono letteralmente infinite! Quando si tratta di risoluzione dei problemi, avere quella flessibilità nella ricerca e nell'indagine ti consente di cercare cose che potresti non aver notato prima. Di conseguenza, potresti trovare la risposta che stavi cercando (gioco di parole).
[ Corso online gratuito:panoramica tecnica di Red Hat Enterprise Linux. ]