Geçerli dizindeki dosyaları listelerken yılı göster


58

Red Hat sunucusunda çalışıyorum. Komutlar ls -lya da llbana tarih ve saati biçiminde veriyor +"%b %-d %H:%M".

Dosyaları, her dosyanın oluşturulduğu yılın tarih içinde görüneceği şekilde listelemek istiyorum.

Bu nasıl mümkün olabilir?


hayır "ls-lT" denemeyi sanmıyorum, bulunamadı
WAEL

1
ls -lTiçindir mac osx
Kris Roofe

1
Genel olarak, Unix, dosyaların oluşturulma zamanlarını takip etmez ve öyle olsa bile, lsgenellikle görüntülemek için bir yolu yoktur. Yani, genel olarak, bu imkansız.
G-Man

Yanıtlar:


86

Kullanabilir man lsve burada --time-styleparametre bulabilirsiniz . Veya kullanabilirsiniz:

ls --full-time.


1
@bob: Turco'ya tamamen katılıyorum. Bunu yapmazsan, kimse soruna cevap verme konusunda canını sıkmayacak.
Kara Şövalye

5
Zaman tarzı için Örnekls -l --time-style=+%F
sobi3ch

1
Zaten veya başka bir şey llolarak belirlemiş olanlar için de çalışır. ls -lall --full-time
Meetai.com

8

ls -lay gün ve görüntüler yıl - beri , BSD adam sayfasına göre: Dosyanın değiştirme zamanı geçmiş ya da gelecekte daha 6 aydan ise, yıl son değişiklik saat ve dakika alanlarının yerine görüntülenir .

Bu nedenle, o yılın her zaman gösterileceğinden emin olmak için, şunları kullanın:

ls --time-style=long-iso (GNU / Linux)

ls -lT BSD'de (MacOS) ekran tam zamanlı bilgisini gösterecektir


6

Seneyi istediğinden beri ls -lac, benim gibi ls -laher zaman kullanıp kullanmadığını hatırlamak kolay . cNe olduğunu eğer cari yıl veya saat ve dakika değilse yılda görüntüleyecek olan ctime verir.


Bunu severim. Çıktıda çok daha az gürültü ve gelecekte hatırlanması gereken sadece bir harf.
Eric

1
Bu davranışını değiştirmek gibi görünüyor lsiçin değişti tarihten varsayılan yerine değiştirilme tarihini .
Mateen Ulhaq

2
ls -lSon altı aydaki tarihler için tarih ve saati, diğer tarihler için tarih ve yılı gösterir. ctime son altı ayda, mtime (değişiklik tarihi) kadar ls -lacolabildiğince olabilir, bu yüzden de zamanları (yılların yerine) olabildiğince ls -lagösterebilirsiniz. Ayrıca, Mateen Ulhaq'ın işaret ls -lacettiği ls -lagibi , aynı tarihleri göstermiyor. Bu cevap yanlış.
G-Man

2
Bu “cevap” nasıl yedi oy aldı?
G-Man

5

Jan Marek’nin cevabına ek olarak .... Sadece şu an kaçabileceğinizi farkettim

ls --full veya ls --fu

ls --full-timeonun tarif ettiği gibi aynı şeyi yapacak . Teşekkürler Stéphane Chazelas. Şimdi ls --fuher yere yazıyorum . :)


1
Veya ls --fu. GNU tarzı uzun seçenekler, belirsizlik --folmadıkça kısaltılabilir (bir - dosya tipi ve - biçim gibi de işe yaramaz). Gelecekteki bir sürümün --full-permsbu yüzden ona güvenmenin tehlikeli olabileceğine dikkat edin.
Stéphane Chazelas 24:18

1
Bilmek harika! Her şey daha az yazmaya bağlı. :)
G_Style

2

Kullanıyorsanız busybox(gömülü dağıtımlar, örneğin OpenWRT, LEDE), aradığınız anahtar -e, 1.26.2 ve --full-time1.27.0 ve üstü sürümler içindir ( değiştirilen taahhüdüne bakın ).


1
-eSolaris lsve ast-open'lerle de çalışır , bu yüzden aslında GNU'lardan daha standarda yakındır --full-time. Meşgul kutusunun yeni sürümlerinde kaldırdığı bir utanç.
Stéphane Chazelas

@ StéphaneChazelas bunu bilmiyordu! Düzenleme için teşekkürler
Code Bling

-1

favori olabilir:

$ ls -altT / yol / dan / bazı / dir


Daha önce belirtildiği gibi , -Tseçenek GNU ile çalışmaz ls(POSIX’de de belirtilmez). Ayrıca, cevap olarak kod verirken, her bir parçanın ne yaptığını açıklamak daha iyidir.
Anthony G - Monica
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.