ls -all
Komutu 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?
ls -all
Komutu 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?
Yanıtlar:
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
Temsil edilen zaman, değişiklik zamanıdır. Lütfen , farklı ls -all
olanla 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 -a
ls --all
l
ls -al --full-time
ls
normal kullanım --time-style=long-iso
için daha yararlı olabilir. --full-time
normalde gerekmeyen ondalık noktasından sonra dokuz şifre (!) içeren saniye sayısını gösterir.
--full-time
ima eder -l
, böylece sadece kullanabilirsiniz ls -a --full-time
.
Görüntülemeye çalıştığı tarih / saat son altı
ls
aydaysa, tarih ve saati görüntüler. Altı aydan uzun sürerse - veya gelecekte ise - ls
tarih ve yılı gösterir.
Diğer cevaplarda belirtildiği gibi,
ls -ll
eşittir ls -l
vels -all
eşdeğerdir ls -al
eşdeğer olan, ls -a -l
, ls -l -a
ve ls -la
.İle -l
seç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 .
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 ls
etme --time-style
seçeneği vardır .
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.
Aug 6 19:50 .config
, Aug 6 19:48 VNCHOWTO
.
-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 -al
kullandıklarınızla aynı.