GNU/Linux >> Linux Esercitazione >  >> Linux

Spiegazione del comando 'find -mtime'

La specifica POSIX per find dice:

-mtime n Il primario deve valutare come vero se il tempo di modifica del file sottratto dal tempo di inizializzazione, diviso per 86400 (con qualsiasi resto scartato), è n .

È interessante notare che la descrizione di find non specifica ulteriormente il "tempo di inizializzazione". Probabilmente è il momento in cui find è inizializzato (run).

Nelle descrizioni, ovunque n viene utilizzato come argomento primario, deve essere interpretato come un numero intero decimale eventualmente preceduto da un segno più ( '+' ) o meno ( '-' ), come segue:

+n Più di n .
n Esattamente n .
-n Minore di n .

Puoi scrivere -mtime 6 o -mtime -6 o -mtime +6 :

  • Utilizzando 6 senza segno significa "uguale a 6 giorni — così modificato tra 'ora - 6 * 86400' e 'ora - 7 * 86400'" (perché i giorni frazionari vengono scartati).
  • Utilizzando -6 significa "meno di 6 giorni — così modificato il o dopo 'ora - 6 * 86400'".
  • Utilizzando +6 significa "più di 6 giorni fa — così modificato il o prima di 'ora - 7 * 86400'" (dove il 7 è un po' inaspettato, forse).

In un dato momento (2014-09-01 00:53:44 -4:00, dove sto deducendo che AST è Atlantic Standard Time, e quindi l'offset del fuso orario da UTC è -4:00 in ISO 8601 ma + 4:00 in ISO 9945 (POSIX), ma poco importa):

1409547224 = 2014-09-01 00:53:44 -04:00
1409457540 = 2014-08-30 23:59:00 -04:00

quindi:

1409547224 - 1409457540 = 89684
89684 / 86400 = 1

Anche se i valori dei "secondi dall'epoca" sono sbagliati, i valori relativi sono corretti (per alcuni fusi orari da qualche parte nel mondo, sono corretti).

Il n il valore calcolato per il file di log 2014-08-30, pertanto, è esattamente 1 (il calcolo viene eseguito con l'aritmetica dei numeri interi) e il +1 lo rifiuta perché è strettamente un > 1 confronto (e non >= 1 ).


+1 significa 2 giorni fa. È arrotondato.


Linux
  1. Trovare file nella riga di comando (come fare per)

  2. Trova il tempo di esecuzione di un comando o di un processo in Linux

  3. Un'introduzione al comando diff

  4. Come controllare i permessi con il comando trova

  5. Come trovare file in CentOS 8 sulla riga di comando

Come trovare file sulla riga di comando di Ubuntu

Come trovare file con il comando fd in Linux

Risolto l'errore, impossibile trovare il comando hwmatch su Grub

Trova la riga di comando?

15 esempi super utili del comando Trova in Linux

Il comando Trova Directory di Linux:spiegato