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

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

Utilizzare un sistema  Linux è diventato oggi giorno molto semplice anche grazie all’impegno degli sviluppatori che hanno proposto distribuzioni di tutti i tipi, per tutti i gusti e tutti i gradi di preparazione; l’utilizzo di una distribuzione linux porta gli utenti ad avere una consapevolezza di quello che si svolge senza essere schiavi delle interfacce grafiche e dei meccanismi che si trovano in altri sistemi proprietari. Purtroppo però molto spesso la gente demorde dall’imparare questo tipo di meccanismi perché abituata alle facilitazioni presenti nei sistemi fin li usati non hanno voglia, oltre anche a non sapere dovere cercare quello che serve per imparare a sfruttare le potenzialità dei sistemi open. Per questo oggi vi propongo una bella guida che vi illustri un po’ come utilizzare il comando Find che si trova nei sistemi Linux, comando che tramite il terminale vi permette di effettuare tutte le ricerche che vi interessano all’interno dei vostri hard disk, sfruttando diverse opzioni utili senza dover dipendere dall’interfaccia grafica, a volte limitativa.

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.  
  3. find percorso iname “example_filename.*”
  4.  
  5. find percorso iname “*foo*bar*”
  6.  
  7. find percorso iname “?2.pdf”
  8.  
  9. find percorso size 512k
  10. find percorso size 256M
  11. find percorso size 2G
  12.  
  13. 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.

pa007

Founder di Pa007World. Laureato in Ingegneria Informatica all'Università di Pisa e studente di Master of Science in Embedded Computing Systems presso la Scuola Superiore Sant'anna e l'Università di Pisa. Appassionato da sempre di informatica e tecnologia. Home page: http://www.pa007world.com