Saya mencoba menggunakan perintah
ls --time=atime
itu berfungsi di satu direktori tetapi tidak bekerja di direktori lain. Saya membuka file tertentu dalam vim, evince dan aplikasi lain tetapi setelah waktu akses file perintah tidak berubah.
Ketika saya mengetik touch file.txt
waktu akses berubah, tetapi ketika saya mengetik vim file.txt
waktu akses tidak berubah.
Apa yang salah di sini?
filesystems
files
ls
atime
xralf
sumber
sumber
vim file.txt
? Apakah Anda berhenti vim oleh:q
atau:wq
? Jika Anda tidak menulis,vim
jangan modifikasi waktu akses file - ini adalah desain..jpg
ekstensi itu tidak berubah. Ketika saya membukanya di penampil gambar itu tidak berubah juga. Saya perlu waktu akses diubah setiap kali file dibaca oleh beberapa aplikasi.Jawaban:
Dengan opsi pemasangan standar, waktu akses ditangani dengan cara khusus di linux:
The
relatime
mount option dibuat pilihan default sejak linux kernel 2.6.30. Itulah alasan untukls --time=atime
tidak mencantumkan apa yang Anda harapkan.Solusi: Untuk menggunakan perilaku ketat (warisan) untuk atime gunakan
strictatime
opsi mount (misalnya di/etc/fstab
).Catatan: Untuk sepenuhnya menonaktifkan pembaruan atime, seseorang dapat menggunakan
noatime
.sumber
strictatime
?relatime
menjaga kompatibilitas untuk program-program tersebut. Faktanya, sangat sedikit program yang masih mengandalkan ini, dan sering kali aman digunakannoatime
.strictatime
fitur yang saya coba hari ini, tetapi jika itu akan membuat sistem lambat, saya hanya ingin mengaturstrictatime
di direktori tertentu, jika mungkin.strictatime
yang akan menggunakan direktori ini sebagai mount point.Anda dapat mematikan rekaman waktu akses untuk beberapa sistem file (lihat
noatime
di/etc/fstab
). Untuk menguji ini, Anda bisa mencobatouch -a file; ls -l --time=atime file
, lalu ulangitouch -a file; ls -l --time=atime file
untuk melihat apakah itu berubah.The
ls
perilaku dijelaskan olehman ls
:ls -l --time=atime
menunjukkan mengakses waktu di tanggal / waktu kolom. Untuk mengurutkan berdasarkan kunci ini, Anda perlu menggunakan--sort=time
juga.Jika Anda dengan "waktu tidak berubah" berarti itu menunjukkan hasil yang sama, itu baik karena atime dinonaktifkan untuk sistem file (lihat
/etc/fstab
) atau karena waktu akses benar-benar sama dengan waktu modifikasi (sangat umum).Perhatikan bahwa daftar file tidak mengubah waktu aksesnya - File tidak diakses oleh
ls
, hanya inode cache .sumber
ls -l --time=atime
waktu tidak berubah (saya berasumsi bahwa kolom dengan waktu adalah atime) dan urutan penyortiran tidak berubah, file dengan atime terakhir harus di awal atau di akhir daftar (jika mereka terakhir diakses ).touch
danls
? Saya mengedit jawaban untuk membuatnya lebih jelas.Mungkin juga berguna saat menguji seperti ini untuk menambahkan
--full-time
benderals
sehingga Anda dapat melihat detik dan sub-detik sehingga Anda dapat melihat efeknya tanpa dibatasi oleh batas menit.sumber