Neden “ls -all” bazı dosyalar için zaman gösteriyor ancak diğerleri için sadece bir yıl?


32

ls -allKomutu verirseniz bazı dosyalar veya dizinler yıl, bazıları zaman alabilir mi? Neden bazıları zaman gösterirken bazıları neden yılı gösterir? Zaman, dosyanın oluşturulduğu zamanı temsil ediyor mu?

görüntü tanımını buraya girin


15
Sen kullanıyorsunuz -all. Son L'nin gereksiz olduğuna dikkat edin, çünkü all"tümü" kelimesini değil, -a(tüm dosyaları göster) ve -l(uzun liste formatı) kelimesini desteklememektedir . Hep birlikte, ls -alkullandıklarınızla aynı.
fedorqui

Yanıtlar:


35

Varsayılan olarak, dosya zaman damgaları, kısa zaman önce kullanılmayan zaman damgaları için 'Mar 30 2002' gibi bir tarih ve son zaman damgaları için 'Mar 30 23:45' gibi bir yıl ve tarih olmayan tarih kullanılarak listelenir. Bu format, mevcut yerel ayarlara bağlı olarak aşağıda detaylandırıldığı gibi değişebilir.

Altı aydan azsa ve gelecekte tarihlenmemişse, zaman damgası son olarak kabul edilir. Bugün tarihli bir zaman damgası son formda listelenmemişse, zaman damgası ileridedir; bu, muhtemelen dosya zaman damgasına dayanan programları bozacak programları kırabilecek saat çarpıklığı sorunlarınız olduğu anlamına gelir.

Kaynak: http://www.gnu.org/software/coreutils/manual/coreutils.html#Formatting-file-timestamps

Göstermek için:

$ for i in {1..7}; do touch -d "$i months ago" file$i; done
$ ls -l
total 0
-rw-r--r-- 1 terdon terdon 0 Sep 21 02:38 file1
-rw-r--r-- 1 terdon terdon 0 Aug 21 02:38 file2
-rw-r--r-- 1 terdon terdon 0 Jul 21 02:38 file3
-rw-r--r-- 1 terdon terdon 0 Jun 21 02:38 file4
-rw-r--r-- 1 terdon terdon 0 May 21 02:38 file5
-rw-r--r-- 1 terdon terdon 0 Apr 21  2015 file6
-rw-r--r-- 1 terdon terdon 0 Mar 21  2015 file7

4
Gelecekte o zamanlar zamandan ziyade yılı da gösterecektir. Saatin senkronize olmadığı ana bilgisayarlar arasında dosya alışverişi yaparsanız bu olabilir.
kasperd

24

Temsil edilen zaman, değişiklik zamanıdır. Lütfen , farklı ls -allolanla aynı şeyin olduğunu unutmayın . Örnekte double kullanmak için hiçbir neden yoktur . Her dosya için değişiklik zamanını görmek istiyorsanız, kullanabilirsiniz .ls -l -als --alllls -al --full-time


4
GNU’da lsnormal kullanım --time-style=long-isoiçin daha yararlı olabilir. --full-timenormalde gerekmeyen ondalık noktasından sonra dokuz şifre (!) içeren saniye sayısını gösterir.
pabouk

1
--full-timeima eder -l, böylece sadece kullanabilirsiniz ls -a --full-time.
kasperd

6

Görüntülemeye çalıştığı tarih / saat son altı lsaydaysa, tarih ve saati görüntüler. Altı aydan uzun sürerse - veya gelecekte ise - lstarih ve yılı gösterir.

Diğer cevaplarda belirtildiği gibi,

  • ls -lleşittir ls -lve
  • ls -alleşdeğerdir ls -aleşdeğer olan, ls -a -l, ls -l -ave ls -la.

İle -lseçeneği, ls( "her şey bir dosyadır" çünkü dizinleri dahil), dosyaların değişiklik tarihi / saati görüntüler sürece

  • -c Ayrıca, değişme süresini gösteren bu durumda
  • -u ayrıca erişim süresini gösteren bu durumda da belirtilir.

Daha fazla bilgi için ls (1) 'e bakınız .


3

Bu çıktı, maksimum bilgi içeriği için ayarlanmıştır: zaman, şimdiki zamana "yeterince yakın" olduğunda (tam olarak emin değilim, ancak altı ay içinde tahmin ediyorum), yıl seçilir ve günün saati gösterilir. Aksi takdirde, yıl gösterilir. Bu çoğunlukla varsayılandır çünkü muhtemelen yıllar önce bir şeyin değiştirildiği zamanın zamanını çok fazla umursamıyorsunuzdur. GNU coreutils'in bunu açıkça kontrol lsetme --time-styleseçeneği vardır .


0

Bir şey farkettin mi? Bu sadece 20 Ekim’de saat olan ve bugün olduğu gibi görünür; bu, dosyayı en son ne zaman değiştirdiğinizi göstereceği anlamına gelir, ancak, bugün olmayan diğer günlerde, yalnızca saati olmayan tarihi gösterir.

Thomas tarafından cevaplandığı gibi bu olmadığı ortaya çıktı. Sonuçta doğru bir sonuca varmadığımdan emin değilim, kesinti yöntemini kullanmaya çalıştım.


1
Aug 6 19:50 .config, Aug 6 19:48 VNCHOWTO.
G-Man 'Yenilenmiş Monica'yı'

Mükemmel, sadece tarihleri ​​belirleyen ve noktaları birleştiren bir kesinti yaptım, ki bu her zaman mükemmel bir sonuç olamaz.
Rafael Campos Nunes
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.