Trova per nome
Il comando più semplice che possiamo usare per trovare un file è con un nome specifico in una directory. Il vantaggio con questo comando è che bash troverà il file anche se presente in una delle directory ricorsive all'interno del percorso della directory passato. Vediamo un esempio:
trova il codice -name ifelse4.shQuesto comando troverà il file ifelse4.sh ricorsivamente all'interno della directory Code. Vediamo l'output di questo comando:
Trova file per nome
L'opzione del nome che abbiamo menzionato sopra fa distinzione tra maiuscole e minuscole. Se vuoi trovare il file indipendentemente dal caso nel nome, usa il seguente comando: trova il codice -iname ifelse4.sh
Trovare un file con un'espressione regolare
Possiamo usare semplici espressioni regolari per trovare un file in una directory che corrisponda a quell'espressione regolare. Dimostriamolo con un semplice comando per trovare tutti i file con qualsiasi nome e con estensione di .TXT:
trova il codice -regex ".*\.sh"Ecco cosa otteniamo indietro con questo comando:
Trovare file per regex
Cerchiamo di capire cosa significa questo comando qui:
- -regex: questo significa solo che passeremo un'espressione regolare dopo.
- Nell'espressione regolare, primo punto (.) significa che qualsiasi numero di caratteri nel nome del file deve essere una corrispondenza.
- Successivamente, con il *, abbiniamo qualsiasi numero di ripetizioni di qualsiasi carattere (a causa del punto).
- Infine, abbiniamo tutti i file con .sh estensione.
La cosa buona di un'espressione regolare può essere che può essere resa flessibile come puoi definire. Modifichiamo l'esempio sopra per trovare file con .sh e .anche l'estensione txt:
trova il codice -regex ".*\.sh|\.TXT"Trovare file modificati negli ultimi n minuti
Anche trovare un file che è stato modificato negli ultimi n minuti è facile. Facciamo subito un esempio:
trova il codice -mmin -90Vediamo l'output di questo comando:
Trovare file modificato negli ultimi 90 minuti
Trovare file modificati negli ultimi n giorni
Anche trovare un file che è stato modificato negli ultimi n giorni è facile. Facciamo subito un esempio:
trova il codice -mtime 0Ecco cosa otteniamo indietro con questo comando:
Trova file per giorni
Trovare file in base ai permessi
È anche possibile trovare un file con autorizzazioni specifiche. Possiamo trovare file associati a un utente o a un gruppo di utenti:
trova . -utente shubhamEcco cosa otteniamo indietro con questo comando:
Trovare file appartenenti a un utente
Possiamo anche applicare la stessa logica per trovare file appartenenti a un gruppo di utenti: trova . -radice di gruppo
Trovare file per dimensione
Per trovare file più grandi di una dimensione specificata, è possibile trovare con il seguente comando:
trova Codice -dimensione +500Ecco cosa otteniamo indietro con questo comando:
Trova file per dimensione
Oltre ai byte, la dimensione di un file può essere indicata come:
- b: blocchi da 512 byte: questa è l'unità predefinita se non ne viene specificata nessuna
- c: byte
- k: kilobyte
- M: megabyte
- G: gigabyte
Trovare file per tipo
È possibile trovare file con un tipo. Abbiamo i seguenti tipi per il comando di ricerca:
- d: directory
- f: file normale
- l: collegamento simbolico
- b: blocco tamponato
- c: carattere non bufferizzato
- p: pipa con nome
- s: presa
Usiamo un comando per trovare un file normale:
trova . -tipo fEcco cosa otteniamo indietro con questo comando:
Trova i file per tipo
Trovare file con più condizioni
Come ultimo esempio, è possibile trovare file aggiungendo più condizioni come abbiamo visto sopra. Ora proviamo più condizioni in un singolo comando di ricerca:
trova . -dimensione +1c -e -nome "*.sh"Ecco cosa otteniamo indietro con questo comando:
Trova file con più condizioni
Conclusione
In questa lezione, abbiamo visto come possiamo usare il comando find per trovare qualsiasi file con un nome o per permessi o per tipo. Possiamo anche aggiungere più condizioni per trovare file che soddisfano tutte le condizioni. Gioca ancora di più con i comandi per finanziare il potere rela.