重要な場合、この問題は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
現在のファイルは、ファイルの最後のデータ変更時間よりも最近最後にアクセスされました。引用する文書。