Yanıtlar:
Kullanabilirsiniz:
ls -Rt
nerede -Raraçlar özyinelemeli ve (alt dizinleri dahil) -t"sort son değişiklik tarihine göre" demektir.
Değiştirilme tarihine göre sıralanmış dosyaların listesini görmek için şunu kullanın:
ls -l -Rt
Bunu başarmak için bir takma ad da oluşturulabilir:
alias lt='ls -lht'
lt
-hDaha okunabilir bir çıktı nerede verir.
ls -lrt[RhA]. -r... Listenin altındaki son düzenlenen şeyler bırakarak sıralama düzeni, tersine çevirir
-ila, ihtiyacınız olan hemen hemen tüm bilgileri verir. $ ls -ilaRt
ll -RtDosyaları en son değiştirilen tarihe göre görmem gerektiğinden, kullanmak benim için mükemmel bir çözüm olduğu için bu yanıtı genişlettim . Bu başkalarına yardımcı olabilir.
llmevcut değil ve bir komut değil. Çoğunlukla bash kabuğundaki bir takma addır, ancak çoğu / bir kısmı /? linux dağıtımları. Bazıları bunu alias ll='ls -l'/etc/bash.bashrc veya /etc/.bashrc içinde tanımlar. Bu nedenle çalışmayabilir ve OPs sisteminde mevcut olmayabilir. Kullanım ls -l -Rt, en azından olarak lsPOSIX'in tanımlanan standart bir komuttur. Veya kastettiğinizi belirtin alias ll='ls -l'; ll -Rt.
Tüm dosyaların değişiklik tarihine göre birlikte sıralandığı , içinde bulundukları dizini gösteren, ancak dizine göre gruplandırılmayan bir ana liste istiyorsanız, şunu kullanabilirsiniz:
find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
Sonuç çok benziyor ls -l:
-rw-r - r-- 1 kök kök 3892 08/11/2009 11:03:36 /usr/share/man/man1/xmllint.1.gz -rw-r - r-- 1 kök kök 22946 08/13/2009 11:59:20 /usr/share/man/man1/curl.1.gz -rw-r - r-- 1 kök kök 728 08/17/2009 12:06:33 /usr/share/man/man1/thunderbird.1.gz -rw-r - r-- 1 kök kök 873 08/18/2009 10:52:47 /usr/share/man/man1/libgnutls-config.1.gz -rw-r - r-- 1 kök kök 2552 08/19/2009 02:00:34 /usr/share/man/man3/Purple.3pm.gz -rw-r - r-- 1 kök kök 9546 08/19/2009 02:02:00 /usr/share/man/man1/pidgin.1.gz -rw-r - r-- 1 kök kök 2201 08/19/2009 02:02:46 /usr/share/man/man3/Pidgin.3pm.gz -rw-r - r-- 1 kök kök 926 08/19/2009 02:03:05 /usr/share/man/man1/purple-remote.1.gz -rw-r - r-- 1 kök kök 18052 08/19/2009 04:11:47 /usr/share/man/man1/mono.1.gz -rw-r - r-- 1 kök kök 1845 08/19/2009 04:11:47 /usr/share/man/man5/mono-config.5.gz
Mac OS X kullananlar için BSD find'da -printf seçeneği mevcut değildir (bu hatayı alırsınız :)find: -printf: unknown primary or operator . Neyse ki GNU find'ı Homebrew üzerinden kurabilirsiniz ( Fink ve Macports için de bir seçenek olmalı ):
brew install findutils
Yükledikten sonra GNU bul, sizin için mevcut olacaktır gfind. Yani, yapmanız gereken tek şey yukarıdaki satırı şu şekilde değiştirmek:
gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
findYazar kadar aşina olmayan insanlar için (benim gibi) , bu argümanlar, -printfiçinde bulunabilecek biçim yönergeleridir man find( printfo sayfada beşinci örneğini arayın ).
find . -type f -print0 | xargs -0 stat -f "%m %Sp %l %-8Su %-8Sg %8z %Sm %N" | sort | cut -f 2- -d' 'size MacOS'ta kabaca aynı çıktıyı yalnızca yerleşik yardımcı programları kullanarak verecektir
sort -rSıralamayı tersine çevirmek ve en son değiştirilen dosyaları üstte tutmak için.
MAC OSX 2019
Ne zaman oluşturulduğunu umursamıyorsanız, ancak listenizin sıralanmasını istiyorsanız, bu komutu kullanın.
==> ls -t
Tarih ve kullanıcı bilgilerini sipariş etmek ve görmek istiyorsanız bu komutu kullanın
===> ls -lt
İçin zshkullanıcılar, ayrıca kullanabilirsiniz glob eleme (ayrıca üzerinde belgelenmiştir man zshexpn):
echo *(om)
Nerede oaçılımı , sıralama sipariş yukarı ve maçılımı son değişiklik zaman .
Bu, bir for döngüsü veya başka bir komutta kullanıldığında yararlı olabilir:
for file in *(^om); do
[ -e "$file" ] || continue
# do something with file orderer from least recently modified to last modified
done
Veya başka bir glob niteleyiciyle zincirlenmiş:
last_modified_file=(*(om[1]))