Saya ingin mengetahui tanggal pembuatan file tertentu, bukan tanggal modifikasi atau tanggal akses.
Saya telah mencoba dengan ls -ltrh
dan stat filename
.
Jawaban yang Diterima:
stat -c '%w' file
pada sistem file yang menyimpan waktu pembuatan.
Perhatikan bahwa di Linux ini memerlukan coreutils
8.31, glibc
2.28 dan kernel versi 4.11 atau yang lebih baru.
Standar POSIX hanya mendefinisikan tiga stempel waktu yang berbeda untuk disimpan untuk setiap file:waktu akses data terakhir, waktu modifikasi data terakhir, dan waktu status file terakhir diubah.
Sistem file Linux modern, seperti ext4, Btrfs, XFS (v5 dan yang lebih baru) dan JFS, menyimpan waktu pembuatan file (alias waktu lahir), tetapi menggunakan nama yang berbeda untuk bidang yang dimaksud (crtime
di ext4/XFS, otime
di Btrfs dan JFS). Linux menyediakan antarmuka panggilan sistem statx(2) untuk mengambil waktu lahir file untuk sistem file yang mendukungnya sejak kernel versi 4.11. (Jadi, bahkan ketika dukungan waktu pembuatan telah ditambahkan ke sistem file, beberapa kernel yang disebarkan tidak langsung mendukungnya, bahkan setelah menambahkan dukungan nominal untuk versi sistem file tersebut, misalnya, XFS v5.)
Seperti yang ditunjukkan oleh Craig Sanders dan Mohsen Pahlvanzadeh, stat
mendukung %w
dan %W
penentu format untuk menampilkan waktu lahir file (dalam format yang dapat dibaca manusia dan dalam detik sejak Epoch masing-masing) sebelum coreutils
versi 8.31. Namun, coreutils
stat
menggunakan statx()
panggilan sistem jika tersedia untuk mengambil waktu lahir hanya sejak versi 8.31.
Sebelum coreutils
versi 8.31 stat
mengakses waktu lahir melalui get_stat_birthtime()
disediakan oleh gnulib (dalam lib/stat-time.h
), yang mendapatkan waktu lahir dari st_birthtime
dan st_birthtimensec
bidang stat
struktur yang dikembalikan oleh stat()
panggilan sistem. Sementara misalnya sistem BSD (dan dalam ekstensi OS X) menyediakan st_birthtime
melalui stat
, Linux tidak. Inilah sebabnya mengapa stat -c '%w' file
keluaran -
(menunjukkan waktu pembuatan yang tidak diketahui) di Linux sebelum coreutils
8.31 bahkan untuk sistem file yang menyimpan waktu pembuatan secara internal.
Seperti yang ditunjukkan Stephane Chazelas, beberapa sistem file, seperti ntfs-3g, mengekspos waktu pembuatan file melalui atribut file yang diperluas.