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

Hoe kan ik de output van 'ls' sorteren op laatst gewijzigde datum?

Hoe kan ik de output van ls sorteren op laatst gewijzigde datum?

Antwoorden (10)

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

of (voor omgekeerd, meest recente onderaan):

ls -tr

De ls man pagina beschrijft dit in meer details, en somt andere opties op.

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

Probeer dit: ls -ltr. Het geeft u de recente tot het einde van de lijst

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

Voor een compleet antwoord is hier wat ik gebruik: ls -lrth

Zet dit in uw opstartscript /etc/bashrc en wijs een alias toe zoals dit: alias l='ls -lrth' Herstart uw terminal en u zou in staat moeten zijn om l te typen en een lange lijst van bestanden te zien.

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

Ik gebruik soms dit:

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

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

om recursief te kijken welke bestanden in de laatste 5 minuten zijn gewijzigd.

… of nu, met recente versie van GNU find:

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

… en zelfs voor het niet beperken tot bestanden:

find . -mmin -5 -exec ls -ltrd {} +

(let op de -d schakelaar naar ls voor het niet weergeven van inhoud van directories)

Meer robuuste manier?

Kijk eens naar mijn anser naar zoek en sorteer op datum gewijzigd

22
22
22
2012-04-15 18:41:06 +0000

Toevoegen:

alias lt='ls -Alhtr'

in $homedir/.bashrc

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

Mnemonic

ls -at

. ., gebruik een long list formaat en sorteer op datum (nieuwste eerst):

ls -art

Voor het afdrukken van menselijk leesbare formaten, negeer vermeldingen die beginnen met . niet, gebruik een lange lijst formaat en sorteer op datum (nieuwste eerst) (@EvgeniSergeev noot):

ls -alt

maar ** wees voorzichtig met de laatste** , omdat een eenvoudige fout kan leiden tot een server crash. .. (@Isaac notitie)

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

Zoek alle bestanden op het bestandssysteem die maximaal 3 * 24 uur (3 dagen) geleden tot nu toe zijn gewijzigd:

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

Om 10 meest recente gesorteerde op datum te tonen, gebruik ik zoiets als dit:

ls -t ~/Downloads | head -10

of om oudste

ls -tr ~/Downloads | tail -10
``` te tonen
9
9
9
2014-06-15 21:47:51 +0000

Met alleen zeer eenvoudige Unix commando’s:

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

Dit werkte op Linux; kolom 8 is “n” (numeriek), kolom 6 is “M”, maand.

Ik ben nieuw op sort, dus dit antwoord zou waarschijnlijk verbeterd kunnen worden. Niet te vergeten, het heeft extra opties voor ls en sort nodig om de exacte tijdstempels te gebruiken, maar niet iedereen zal dit nodig hebben.

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

Een mogelijke manier om bijvoorbeeld de laatste 10 gewijzigde bestanden te tonen is het volgende commando:

ls -lrth | tail -n 10

Beschrijving van bovenstaand commando:

ls - list

argumenten:

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

dan wordt het doorgestuurd naar tail commando, dat slechts 10 recente regels laat zien, gedefinieerd door n parameter (aantal regels)…