Log in
22-Jul-2017 Aggiornato alle 12:43 +0200

Linux, conosciamo la shell: quinta puntata

Linux, conosciamo la shell: quinta puntata Screenshot terminale dell'autore

Salve cari amici è da un bel po che non scrivo una puntata di questo mini tutorial per chi è alle prime armi con la shell. Oggi vorrei parlarvi di uno dei tre comandi più utili per ricercare file in tutte le directory anche quelle montate. Si parla di FIND la cui sintassi è:

$find

Cosa fa find? Beh, è molto semplice cerca il vostro file nelle directory in maniera gerarchica. Avremo, quindi un comando di questo tipo:

$find [dove cercare] [criterio di ricerca] [cosa cercare] [cosa fare]

Mi rendo perfettamente conto che in questo modo non si capisce nulla quindi, considerando di avere un valido alleato dalla nostra parte cioe il manuale che possiamo consultare con la seguente sintassi: $ man find, possiamo continuare la puntata con esempi pratici.

Creiamo un file con un nome di fantasia. Ho creato un file chiamandolo il_burattino_pinocchio.txt e mettiamolo nella directory /home.

A questo punto apriamo il nostro terminale e digitiamo $ find /home -name il_burattino_pinocchio.txt a questo punto il sistema vi darà un warning che vi farà sapere che in una directory non avete il diritto di entrare e subito dopo, attendendo vi troverà il file, indicando il path.

In questo esempio abbiamo forntito la directory dove cercare, ma consideriamo il caso in cui non conosciamo la directory in cui questo è stato salvato non c'è problema basta digitare la sintassi $ sudo find / - name il_burattino_pinocchio.txt e digitate la vostra password.

Il sistema non vi darà nessun warning e cercherà nell'intero filesystem restituendovi dopo una piccola attesa il path del file.

Cosa abbiamo detto al nostro comando? Molto semplice gli abbiamo fornito la directory in cui cercare (la nostra home o tutta la root), il criterio di ricerca (- name, -type etc) e cosa cercare (il_burattino_pinocchio.txt); il comando find, tuttavia, può essere accompagnato da composizioni di comandi di cui non parleremo perché questo testo è diretto ai principianti.

Procediamo con un altro esempio: supponiamo di voler cercare nella cartella corrente e digitiamo:

$ find . -name il_burattino_pinocchio il comando vi restituirà il nome del file.

Ora per concludere e per darvi appuntamento alla prossima puntata fornirò un esempio completo digitiamo:

$ sudo find / -name il_burattino_pinocchio.txt - type f -print | xargs /bin/rm -f  inserite la password e date invio.

In questo caso abbiamo istruito il nostro comando chiedendo di cercare nella root un file di nome il_burattino_pinocchio.txt e provvedere alla sua cancellazione in questo caso se ci sono spazi o caratteri speciali nel nome non funzionerà. Lascio al lettore trovare la sintassi per ovviare all'inconveniente.

 

Vincenzo Perfetto

Direttore Editoriale

Sito web: www.puntomagazine.it Email Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.