私はコマンドを使ってみました。
ls --time=atime
あるディレクトリでは動作しますが、別のディレクトリでは動作しません。 vim、evince、および他のアプリケーションで特定のファイルを開きましたが、コマンドの後にファイルアクセス時間は変わりません。
アクセス時間は入力時に変更されますが、touch file.txt
入力時にはvim file.txt
変更されません。
ここに問題がありますか?
ベストアンサー1
デフォルトのマウントオプションを使用すると、Linuxではアクセス時間が特別な方法で処理されます。
relatime
- このオプションでマウントされたファイルシステムは、アクセス時間(更新前)が変更時間よりも早い場合にアクセス時間を更新します。これにより、atime 更新による書き込みを大幅に削減できます。
これrelatime
マウントオプションがデフォルトに設定されています。~からLinuxカーネル2.6.30。これがまさにls --time=atime
あなたが期待するものがリストされていない理由です。
解決策:atimeに厳密な(レガシー)動作を使用するには、次のようにします。strictatime
インストールオプション(例/etc/fstab
:)
メモ:Atime アップデートを完全に無効にするには、次のものを使用できます。noatime
。