使用されている上位10個のファイルを表示するfindコマンドがあります。
$ find /root -type d -name "dummy" -prune -o -type f -exec du -a --time {} + | sort -n -r | head -n 10
1212 2018-11-01 08:35 File.txt
このファイルを更新したユーザーの最後の更新名とサイズ(MB / GB)を取得する方法はありますか?
答え1
私は何を知らない最後の更新名しかし、あなたが望むものはやや不可能なので、おそらく重要ではありません。
Linuxファイルシステムは、最後のUIDの変更に関する情報を保存せず、時間のみを保存します。したがって、この情報はファイルシステムではまったく利用できません。
最善のアプローチは、おそらくautitd
システムのすべての書き込みアクセスを記録することです。このアプローチを使用すると、システムは高速ではありませんが、RAMディスク(tmpfs)に書き込むことができます。
答え2
find
最大10個のファイルを返すには、次のようにしますstat
。
find . \
-exec stat --printf '%s\t%y\t%U\t%n\0' {} + \
| sort -rnz | head -zn10 | xargs -0 -n1