GNU/Linux >> Linux Esercitazione >  >> Linux

nel terminale linux, come faccio a mostrare la data dell'ultima modifica della cartella, tenendo conto del suo contenuto?

Qualcosa come:

find /path/ -type f -exec stat \{} --printf="%y\n" \; | 
     sort -n -r | 
     head -n 1

Spiegazione:

  • il comando find stamperà l'ora di modifica per ogni file ignorando ricorsivamente le directory (secondo il commento di IQAndreas non puoi fare affidamento sui timestamp delle cartelle)
  • ordina -n (numericamente) -r (inverso)
  • head -n 1:ottiene la prima voce

Se hai una versione di find (come GNU find ) che supporta -printf allora non c'è bisogno di chiamare stat ripetutamente:

find /some/dir -printf "%T+\n" | sort -nr | head -n 1

o

find /some/dir -printf "%TY-%Tm-%Td %TT\n" | sort -nr | head -n 1

Se non hai bisogno di ricorsione, però:

stat --printf="%y\n" *

Se potessi, voterei per la risposta di Paulo. L'ho provato e ho capito il concetto. Posso confermare che funziona.Il find Il comando può restituire molti parametri. Ad esempio, aggiungi quanto segue a --printf clausola:

%a for attributes in the octal format
%n for the file name including a complete path

Esempio:

find Desktop/ -exec stat \{} --printf="%y %n\n" \; | sort -n -r | head -1
2011-02-14 22:57:39.000000000 +0100 Desktop/new file

Consentitemi di sollevare anche questa domanda:l'autore di questa domanda vuole risolvere il suo problema utilizzando Bash o PHP? Dovrebbe essere specificato.


Linux
  1. Come aprire e chiudere le directory nel terminale Linux

  2. Come cambiare il colore del tuo terminale Linux

  3. Come trovare e ordinare i file in base alla data e all'ora di modifica in Linux

  4. Come cercare nel Web da terminale su Linux

  5. Come scoprire se il disco è SSD o HDD in Linux

Come trovare la dimensione totale di una directory in Linux

Come trovare file con il comando fd in Linux

Come trovare la data e l'ora di installazione del sistema operativo Linux

Come trovare l'elenco dei repository installati in Linux

Tutorial sull'utilizzo dell'ultimo comando nel terminale Linux

Come trovare l'ultimo accesso su Linux