他のファイルが作成または変更された後にアクセスされたすべてのファイルを検索する-newerXYオプションは何ですか?

他のファイルが作成または変更された後にアクセスされたすべてのファイルを検索する-newerXYオプションは何ですか?

重要な場合、この問題はXubuntu 22.04に関連しています。しかし、これは一般的なUnixの問題かもしれません。

シェルスクリプトでは、まず次のような参照ファイルを作成します。

echo $(date) > ~/reference.file

その後、ワークフローの特定の段階までいくつかのアプリケーションを起動したいと思います。知りたい、これまで、アプリケーションはどのファイルにアクセスしましたか?

findその後、最初に述べたシェルスクリプト(または他のスクリプト)を使い続けて、アクセスされたファイルまたは変更されたすべてのファイルを表示したいと思います。もちろん、/sysまたはに表示されるすべてのケースは無視したいと思います/proc。その数字はおそらく驚くべきことです。私は次のことを試しました

  find ${WO} -type d \( -path /sys -o -path /proc \) \
  -prune -o -name '*' \
  -newerac ~/reference.file \
  -type f \
  -printf "%TY-%Tm-%TdT%TT %p\n" 2>/dev/null | \
  sort -r | \
  ssed -R 's/^([^.]+)\.\d+ (.*)$/\1 \2/'

コマンドを実行してテストしました。

cat /tmp/test
echo $(date) > /tmp/test2

findその後、上記のコマンドがあります。並列プロセスの他のファイルのうち、2番目のコマンド/tmp/test2で変更されたファイルのみが見つかりましたが、/tmp/testそのコマンドでのみリストされたファイルは見つかりませんでしたcat。私が理解しているように、リストはアクセスなのでキャプチャする必要があります-newerac ~/reference.file

findコマンドで何を変更する必要がありますか?

コメントの質問に対する回答:

$ mount | grep "$(df ~/reference.file | awk 'NR==2{print $1}')"
/dev/sda6 on /home type ext4 (rw,noatime)
$

もちろんSSDにある/etc/fstabから

defaults,noatime/homeの行に

errors=remount-ro,noatime行に/

find私はwithオプションが-atime -0,01過去15分間のファイルとタイムスタンプをリストしていることに驚きました。これは時間情報のソースですか? RAMだけに残り、再起動後はもう使用できませんか?

ベストアンサー1

検索マニュアルページで、検索(1):

-anewer reference

    現在のファイルは、ファイルの最後のデータ変更時間よりも最近最後にアクセスされました。引用する文書。

おすすめ記事