GNU/Linux >> Linux Esercitazione >  >> Linux

Come usare TROVA in Linux

In un recente articolo di Opensource.com, Lewis Cowles ha introdotto il find comando.

find è uno dei programmi da riga di comando più potenti e flessibili nella cassetta degli attrezzi quotidiana, quindi vale la pena dedicarci un po' più di tempo.

Come minimo, find prende una strada per trovare le cose. Ad esempio:

find /

troverà (e stamperà) ogni file sul sistema. E poiché tutto è un file, otterrai molto output da ordinare. Questo probabilmente non ti aiuta a trovare quello che stai cercando. Puoi cambiare l'argomento del percorso per restringere un po' le cose, ma non è comunque più utile che usare ls comando. Quindi devi pensare a cosa stai cercando di individuare.

Forse vuoi trovare tutti i file JPEG nella tua home directory. Il -name argomento ti consente di limitare i risultati ai file che corrispondono al modello specificato.

find ~ -name '*jpg'

Ma aspetta! E se alcuni di essi hanno un'estensione maiuscola? -name è come -name , ma non fa distinzione tra maiuscole e minuscole.

find ~ -iname '*jpg'

Grande! Ma lo schema dei nomi 8.3 è così del 1985. Alcune delle immagini potrebbero avere un'estensione .jpeg. Fortunatamente, possiamo combinare i modelli con un "o", rappresentato da -o .

find ~ ( -iname 'jpeg' -o -iname 'jpg' )

Ci stiamo avvicinando. Ma cosa succede se hai delle directory che finiscono in jpg? (Perché hai chiamato una directory bucketofjpg invece di pictures è al di là di me.) Possiamo modificare il nostro comando con il -type argomento per cercare solo i file.

find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type f

O forse ti piacerebbe trovare quelle directory con nomi strani in modo da poterle rinominare in seguito:

find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type d

Si scopre che ultimamente hai scattato molte foto, quindi restringiamo il campo ai file che sono cambiati nell'ultima settimana.

find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type f -mtime -7

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Puoi eseguire filtri temporali in base all'ora di modifica dello stato del file (ctime ), ora di modifica (mtime ) o l'ora di accesso (atime ). Questi sono in giorni, quindi se desideri un controllo più dettagliato, puoi esprimerlo in pochi minuti (cmin , mmin e amin , rispettivamente). A meno che tu non sappia esattamente l'ora che desideri, probabilmente anteporre al numero + (più di) o (minore di).

Ma forse non ti interessano le tue foto. Forse stai esaurendo lo spazio su disco, quindi vuoi trovare tutti i file giganteschi (chiamiamolo "maggiore di 1 gigabyte") nel log directory:

find /var/log -size +1G

O forse vuoi trovare tutti i file di proprietà di bcotton in /data :

find /data -owner bcotton

Puoi anche cercare i file in base alle autorizzazioni. Forse vuoi trovare tutti i file leggibili in tutto il mondo nella tua home directory per assicurarti di non condividere eccessivamente.

find ~ -perm -o=r

Questo post graffia solo la superficie di ciò che find può fare. La combinazione di test con la logica booleana può darti un'incredibile flessibilità per trovare esattamente i file che stai cercando. E con argomenti come -exec o -delete , puoi fare in modo che find agire su ciò che... trova. Avere qualsiasi find preferito espressioni? Condividili nei commenti!


Linux
  1. Come usare BusyBox su Linux

  2. Come uso cron in Linux

  3. Come usare Unzip in Linux

  4. Come usare il comando Su in Linux

  5. Come utilizzare il comando trova di Linux per trovare i file

Come usare traceroute su Kali Linux

Come utilizzare lo schermo Linux

Come usare du Command in Linux

Come trovare l'indirizzo IP in Linux

Come trovare il nome host in Linux

Come trovare l'indirizzo IP in Linux