Jika Anda mengeluarkan ls -all
perintah, 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?
Jika Anda mengeluarkan ls -all
perintah, 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?
Jawaban:
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
Waktu yang ditunjukkan adalah waktu modifikasi. Harap perhatikan bahwa ls -all
itu sama dengan ls -l -a
, yang berbeda dari ls --all
. Tidak ada alasan untuk menggunakan ganda l
dalam contoh Anda. Jika Anda ingin melihat waktu modifikasi untuk setiap file, Anda dapat menggunakan ls -al --full-time
.
ls
untuk penggunaan normal --time-style=long-iso
bisa lebih bermanfaat. --full-time
menunjukkan detik termasuk sembilan cipher (!) setelah titik desimal yang biasanya tidak diperlukan.
--full-time
tersirat -l
, jadi Anda bisa menggunakannya ls -a --full-time
.
Jika tanggal / waktu yang ingin ditampilkan adalah dalam enam bulan terakhir,
ls
tampilkan tanggal dan waktu. Jika lebih lama dari enam bulan - atau jika di masa mendatang - ls
menampilkan tanggal dan tahun.
Sebagaimana dinyatakan dalam jawaban lain,
ls -ll
setara dengan ls -l
, danls -all
setara dengan ls -al
, yang setara dengan ls -a -l
, ls -l -a
, dan ls -la
.Dengan -l
opsi, ls
menampilkan 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.
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 ls
memiliki --time-style
opsi, untuk mengontrolnya secara eksplisit.
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.
Aug 6 19:50 .config
, Aug 6 19:48 VNCHOWTO
.
-all
. Perhatikan bahwa L terakhir berlebihan, karenaall
tidak berdiri untuk kata "semua" tetapi untuk-a
(tampilkan semua file) dan-l
(format daftar panjang). Secara keseluruhan,ls -al
sama dengan apa yang Anda gunakan.