Mengapa "ls-all" menunjukkan waktu untuk beberapa file tetapi hanya tahun untuk yang lain?


32

Jika Anda mengeluarkan ls -allperintah, beberapa file atau direktori memiliki tahun dan ada yang punya waktu? Mengapa beberapa orang menunjukkan tahun sedangkan yang lain menunjukkan waktu? Apakah waktu mewakili waktu file itu dibuat?

masukkan deskripsi gambar di sini


15
Anda menggunakan -all. Perhatikan bahwa L terakhir berlebihan, karena alltidak berdiri untuk kata "semua" tetapi untuk -a(tampilkan semua file) dan -l(format daftar panjang). Secara keseluruhan, ls -alsama dengan apa yang Anda gunakan.
fedorqui

Jawaban:


35

Secara default, cap waktu file dicantumkan dalam bentuk disingkat, menggunakan tanggal seperti 'Mar 30 2002' untuk cap waktu tidak baru, dan tanggal-tanpa-tahun dan waktu seperti 'Mar 30 23:45' untuk cap waktu terkini. Format ini dapat berubah tergantung pada lokal saat ini seperti yang dijelaskan di bawah ini.

Stempel waktu dianggap baru jika kurang dari enam bulan, dan tidak bertanggal di masa depan. Jika stempel waktu bertanggal hari ini tidak tercantum dalam formulir saat ini, stempel waktu ada di masa mendatang, yang berarti Anda mungkin memiliki masalah kemiringan jam yang dapat merusak program seperti make yang bergantung pada stempel waktu file.

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

Menggambarkan:

$ 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
Perlu dicatat bahwa waktu di masa depan juga akan menunjukkan tahun daripada waktu. Ini dapat terjadi jika Anda bertukar file antara host di mana jam tidak disinkronkan.
kasperd

24

Waktu yang ditunjukkan adalah waktu modifikasi. Harap perhatikan bahwa ls -allitu sama dengan ls -l -a, yang berbeda dari ls --all. Tidak ada alasan untuk menggunakan ganda ldalam contoh Anda. Jika Anda ingin melihat waktu modifikasi untuk setiap file, Anda dapat menggunakan ls -al --full-time.


4
Dalam GNU lsuntuk penggunaan normal --time-style=long-isobisa lebih bermanfaat. --full-timemenunjukkan detik termasuk sembilan cipher (!) setelah titik desimal yang biasanya tidak diperlukan.
pabouk

1
--full-timetersirat -l, jadi Anda bisa menggunakannya ls -a --full-time.
kasperd

6

Jika tanggal / waktu yang ingin ditampilkan adalah dalam enam bulan terakhir, lstampilkan tanggal dan waktu. Jika lebih lama dari enam bulan - atau jika di masa mendatang - lsmenampilkan tanggal dan tahun.

Sebagaimana dinyatakan dalam jawaban lain,

  • ls -llsetara dengan ls -l, dan
  • ls -allsetara dengan ls -al, yang setara dengan ls -a -l, ls -l -a, dan ls -la.

Dengan -lopsi, lsmenampilkan tanggal modifikasi / waktu file (termasuk direktori, karena "semuanya adalah file"), kecuali

  • -c juga ditentukan, yang menampilkan perubahan waktu, atau
  • -u juga ditentukan, dalam hal ini menampilkan waktu akses.

Lihat ls (1) untuk informasi lebih lanjut.


3

Output ini disetel untuk konten informasi maksimal: ketika waktu "cukup dekat" dengan waktu saat ini (tidak sepenuhnya yakin, tapi saya menduga dalam waktu enam bulan) tahun dihapuskan dan waktu hari ditampilkan sebagai gantinya. Kalau tidak, tahun akan ditampilkan. Ini adalah default sebagian besar karena Anda mungkin tidak terlalu peduli tentang waktu yang tepat sesuatu telah dimodifikasi, jika waktu itu bertahun-tahun yang lalu. GNU coreutils lsmemiliki --time-styleopsi, untuk mengontrolnya secara eksplisit.


0

Apakah kamu menyadari sesuatu? Itu hanya muncul jam pada tanggal 20 Oktober, yaitu hari ini, itu berarti itu akan menunjukkan terakhir kali Anda memodifikasi file, tetapi, di hari-hari lain yang bukan hari ini, itu hanya akan menampilkan tanggal tanpa waktu.

Ternyata bukan ini, seperti dijawab oleh Thomas. Saya hanya mencoba menggunakan metode deduksi, tidak yakin memiliki kesimpulan yang benar.


1
Aug 6 19:50 .config, Aug 6 19:48 VNCHOWTO.
G-Man Mengatakan 'Reinstate Monica'

Sempurna, saya baru saja melakukan deduksi melihat tanggal dan menghubungkan poin, yang tidak selalu merupakan kesimpulan yang sempurna.
Rafael Campos Nunes
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.