duコマンドを使用してファイルを生成したユーザー名を取得する方法

duコマンドを使用してファイルを生成したユーザー名を取得する方法

使用されている上位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

関連情報