'Ls'nin çıktısını son değiştirilme tarihine göre nasıl sıralayabilirim?


Yanıtlar:


1638
ls -t

veya (geriye doğru, en son en altta):

ls -tr

lsAdam sayfa daha detaylı olarak bu açıklar ve diğer seçenekleri listeler.


312
ls -haltiçindir human readable, show hidden, print details, sort by date.
Evgeni Sergeev

6
Durumda herkes merak ediyor, hem -tve -rargümanlar belirtilmiştir ilgili bölümde lsPOSIX standardında , yani Unix'ler arasında uyumlu olmalıdır.
Mark Amery

5
ls -lltsıralama ile birlikte tarih-zaman damgasını göstermek için
Harshul Pandav

4
Evet mümkündür
Ashraf.Shk786

6
@EvgeniSergeev DONT MEMORIZE ls -haltbasit bir yanlış yazım sunucunuzun çökmesine neden olabilir! linux.die.net/man/8/halt
Isaac

148

Bu deneyin: ls -ltr. Size listenin sonuna kadar son verecek


Bunu, Git havuzumdaki dosyaların listesini son düzenleme tarihlerine göre almak için kullandım. ls -alt $(git ls-files -m)Teşekkürler!
NobleUplift

45

Burada tam bir cevap için kullandığım şey: ls -lrth

Bunu başlangıç ​​betiğinize koyun /etc/bashrcve buna benzer bir takma ad verin: alias l='ls -lrth'Terminalinizi yeniden başlatın l; uzun bir dosya listesi yazıp görebilmelisiniz.


14
source /etc/bashrcÇalışırken repertuarınıza eklemek isterseniz de arayabilirsiniz .
cwallenpoole

1
Ayrıca ~/.bash_aliasessadece kullanıcı için ekleyebilir (daha önce mevcut değilse, dosya oluşturabilirsiniz
Dinei

29

Bazen bunu kullanıyorum:

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

veya

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

Son 5 dakika içinde hangi dosyaların değiştirildiğini tekrar tekrar bakmak .

... ya da şimdi, GNU’nun son sürümüyle şunları bulabilirsiniz :

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

... ve hatta dosyaları sınırlamadığınız için :

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

(not -danahtarı lsdizinleri içeriği görüntülemek için değil)

Daha sağlam yol mu?

Değişiklik yapılan tarihe göre bulmak ve sıralamak için yanıtlamama bir göz atın


Tekrarlayan bir şekilde, alt dizinlerdeki tüm dosyaları listelediğini söylüyorsunuz, bunun için zaten bir geçişi yok mu?
jiggunjer 14:15

@jiggunjer ls -Rltr, dizine göre sıralayacaktır, daha sonra find -type f -mmin -5 -exec ls -ltr {} +tarihe göre, dizin ağacından bağımsız olarak yalnızca son 5 dakikada değiştirilen dosyaları yazdırır, tarihe göre sıralanır!
F. Hauri,

Dosya listesinin bir kabuk çağırma işlemi olarak geçirilemeyecek kadar uzun olması durumunda bunun işe yaramayacağını unutmayın ls( unix.stackexchange.com/a/118200/27186 ) - o zaman sıralı bir dosya grubu göreceksiniz. bir sürü dosya vb. sıralanır ancak tüm liste sıralanmaz. Bul ile uzun listeleri sıralamak için superuser.com/questions/294161/… adresine bakın .
utanmaz

@unhammer Haklısın, bunun güvenli bir şekilde çalışması için, Unix / Linux’a olan son
üyemi

20

Eklemek:

alias lt='ls -Alhtr'

içinde $homedir/.bashrc


15

hafıza

İle başlayan .ve tarihe göre sıralı girişleri yoksaymayın (önce en yenisi):

ls -at

İle başlayan girdileri göz ardı etmeyin için .ve tarihe göre sıralamak ters (eskiden yeniye):

ls -art

İle başlayan girişleri yoksaymayın ., uzun bir liste formatı kullanın ve tarihe göre sıralayın (önce en yenisi):

ls -alt

İnsan tarafından okunabilen boyutları yazdırmak için, ondan başlayarak girişleri yoksaymayın ., uzun bir liste biçimi kullanın ve tarihe göre sıralayın (ilk önce en yenisi) (@EvgeniSergeev notu):

ls -halt

fakat sonuncusuna dikkat edin , çünkü basit bir yanlış yazma türü bir sunucu çökmesine neden olabilir ... (@Iac notu)


14

Dosya sistemindeki en fazla 3 * 24 saat (3 gün) öncesine kadar değiştirilmiş bütün dosyaları bul:

find / -ctime 3

10

Tarihe göre sıralanmış olarak en son 10 tanesini göstermek için şöyle bir şey kullandım:

ls -t ~/Downloads | head -10

veya en eskiyi göstermek için

ls -tr ~/Downloads | tail -10

o giv ls -t head -2ve ls -tr | tail -2aynı sonucu verir seçeneği (-t / -tr) sabit ve hem hiçbir şey modyfing gibidir oynamamıza, kuyruk / kafa veya yardımcısı ayet modifiye tutulmalıdır
DDS

7

Sadece çok temel Unix komutlarını kullanarak:

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

Bu Linux üzerinde çalıştı; sütun 8 "n" (sayısal), sütun 6 "M", aydır.

Ben yeniyim sort, bu yüzden bu cevap muhtemelen geliştirilebilir. Kesin olarak, kesin zaman damgalarını kullanmak lsve sortkullanmak için ek seçeneklere ihtiyacı var , ancak herkes buna ihtiyaç duymayacak.


5
Cevabınızın herhangi bir oy kullanmadığından şüpheleniyorum çünkü bu,
ls'nin çıktısını
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.