Magazine Tecnologia

[Guida Linux Terminale] Come utilizzare il comando Find su Linux per effettuare ricerche da terminale

Creato il 24 giugno 2012 da Pa007 @Pa007world

Come cercare file all’interno di una cartella con il comando find di Linux

Una prima cosa che si può fare utilizzando il comando Find è quello di cercare all’interno di una cartella tutti i file con una determinata caratteristica ad esempio tutti i file che Eseguibili, per farlo dobbiamo dare il seguente comando:

  1. find percorso -executable -type f

Ma vediamo meglio quello che abbiamo chiesto al nostro calcolatore tramite questo comando; per prima cosa dopo il comando stesso dobbiamo inserire il percorso in cui intendiamo fare la ricerca, successivamente abbiamo specificato che vogliamo cerare tutti i file di tipo eseguibile. Per quanto riguarda il type f questo attributo serve a far si che vi vengano restituiti soltanto i file regolari, cioè i veri file eseguibili e non tutte le sotto cartelle, infatti su linux le sotto cartelle per essere attraversate devono essere eseguibili quindi verrebbero restituite grazie al type f non verranno considerate.

Questo comando potrà ancora essere raffinato in modo da effettuare un ulteriore scrematura selezionando solo i file eseguibili con una certa estensione aggiungendo al comando precedente  l’attributo: -name “*.bash” in questo modo ad esempio otterrete solo file bash ovviamente la stessa cosa vale per qualunque estensione ed inoltre questo attributo può essere utilizzato a prescindere dai precedenti, magari per cercare file generici con una specifica estensione tipo .html.

Come cercare file e cartelle vuote presenti in un percorso

Se volete trovare i file vuoti all’interno di un determinato percorso dovrete digitare il seguente comando:

  1. find percorso -type f -empty

mentre se vogliamo cercare le cartelle vuote all’interno di un percorso dovrete digitare:

  1. find percorso -type d -empty

Allora in questo caso abbiamo utilizzato il -type a cui abbiamo associato la “f” per trovare i file mentre “d” per le directory, inoltre per cercare soltanto i file o directory vuote abbiamo aggiunto l’attributo -empty che può rivelarsi molto utile.

Se volete questo comando può essere ulteriormente allargato per poter fare in modo di eliminare tutti file o le cartelle vuote in un percorso specifico, il tutto aggiungendo ai comandi sopra descritti l’attributo -delete.

Abbiamo visto diverse funzioni ed esempi che se mischiati fra di loro vi permettono di sfruttare già ad un buon livello il comando find del terminale che è molto utile, come avrete notato questi comandi cercano in una cartella e in tutte le sotto cartelle per questo vi lascio un ultimo attributo che vi può fare risparmiare del tempo quando volete cercare soltanto in una cartella senza esplorare tutto l’albero che ci sta sotto, vi basterà aggiungere ai comandi l’attributo -maxdepth 0; in questo modo sarà esplorata solo la cartella cioè il livello 0, quindi se vorrete esplorare soltanto cartella e sottocartelle di primo livello basterà mettere 1 e cosi via allo stesso modo.

Inoltre facciamo un breve riassunto di qualche esempio:

  1. find percorso -name “example_filename.txt”
  2. find percorso -iname “example_filename.*”
  3. find percorso -iname “*foo*bar*”
  4. find percorso -iname “?2.pdf”
  5. find percorso -size 512k
  6. find percorso -size 256M
  7. find percorso -size 2G
  8. find percorso -perm -777

qui vediamo un altro uso di name, poi iname in cui cerchiamo file con un asterisco in mezzo al nome che serve come carattere jolly oppure con il ? che serve come stringa jolly, poi vediamo il size che serve per cercare file di una certa dimensione e poi perm che serve per cercare file in base ai permessi che ha.

Spero sia tutto molto chiaro e che vi sia utile, per ogni dubbio non esitate a chiedere tramite i commenti o i nostri canali social.


Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :