2009-04-09 13:17:20 +0000 2009-04-09 13:17:20 +0000
1422
1422
Advertisement

Come posso ordinare l'output di 'ls' per l'ultima data modificata?

Advertisement

Come posso ordinare l'output di ls per l'ultima data modificata?

Advertisement
Advertisement

Risposte (10)

1687
1687
1687
2009-04-09 13:20:44 +0000
ls -t

o (per il verso, il più recente in basso):

ls -tr

Il ls man page lo descrive più dettagliatamente, ed elenca altre opzioni.

155
155
155
2010-04-06 14:44:45 +0000

Prova questo: ls -ltr. Ti darà il recente alla fine della lista

48
Advertisement
48
48
2012-04-15 20:23:29 +0000
Advertisement

Per una risposta completa ecco cosa uso: ls -lrth

Mettete questo nel vostro script di avvio /etc/bashrc e assegnate un alias come questo: alias l='ls -lrth' Riavviare il terminale e dovreste essere in grado di digitare l e vedere una lunga lista di file.

31
31
31
2013-07-19 11:01:24 +0000

Uso qualche volta questo:

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr

o

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr

per cercare recursivamente su quali file sono stati modificati negli ultimi 5 minuti.

… o ora, con la recente versione di GNU find:

find . -type f -mmin -5 -exec ls -ltr {} +

… e anche per non limitarsi ai file:

find . -mmin -5 -exec ls -ltrd {} +
``` &001 


(notare il passaggio `-d` a `ls` per non visualizzare il contenuto delle directory) 


## modo più robusto? 


Date un'occhiata a [ il mio anser per _trovare e ordinare per data modificata_ ](https://superuser.com/a/1481352/178656)
22
Advertisement
22
22
2012-04-15 18:41:06 +0000
Advertisement

Aggiungere:

alias lt='ls -Alhtr'

in $homedir/.bashrc

18
18
18
2017-07-26 07:21:37 +0000

Mnemonico

Per non ignorare le voci che iniziano con . e ordinare per data (prima le più recenti):

ls -at

Per non ignorare le voci che iniziano con . e ordinare per data (prima le più recenti):

ls -art

Per non ignorare le voci che iniziano con ., utilizzare un formato di elenco lungo e ordinare per data (prima le più recenti):

ls -alt
``` ```
ls -halt

Per la stampa di formati leggibili dall'uomo, non ignorare le voci che iniziano con ., usare un formato di elenco lungo e ordinare per data (prima la più recente) (@EvgeniSergeev note):

&001 &001

ma fare attenzione all'ultima , perché un semplice errore di digitazione può causare un crash del server. .. (nota @Isaac)

16
Advertisement
16
16
2013-11-11 16:11:57 +0000
Advertisement

Trova tutti i file del file system che sono stati modificati al massimo 3 * 24 ore (3 giorni) fa fino ad ora:

find / -ctime 3
12
12
12
2016-03-06 18:21:16 +0000

Per mostrare i 10 più recenti ordinati per data, uso qualcosa come questo:

ls -t ~/Downloads | head -10

o per mostrare i più vecchi

ls -tr ~/Downloads | tail -10
9
Advertisement
9
9
2014-06-15 21:47:51 +0000
Advertisement
-->

Usando solo comandi Unix molto semplici:

ls -nl | sort -k 8,8n -k 6,6M

Questo ha funzionato su Linux; la colonna 8 è “n” (numerico), la colonna 6 è “M”, mese.

Sono nuovo a sort, quindi questa risposta potrebbe probabilmente essere migliorata. Per non parlare del fatto che ha bisogno di opzioni aggiuntive a ls e sort per usare i timestamp esatti, ma non tutti ne avranno bisogno.

-1
-1
-1
2020-02-28 11:04:14 +0000

Un modo possibile per mostrare ad esempio gli ultimi 10 file modificati è il seguente comando:

ls -lrth | tail -n 10

Descrizione del suddetto comando:

ls - list
``` ```
l - long
r - reverse
t - sort by time
h - human readable

argomenti:

&001

quindi è collegato al comando tail, che mostra solo 10 righe recenti, definite dal parametro n (numero di righe)…

Advertisement

Domande correlate

6
11
5
37
9
Advertisement
Advertisement