web-dev-qa-db-ja.com

特定のユーザーが作成したファイルを検索する

特定のユーザーが作成したすべてのファイルを検出して画面に表示するにはどうすればよいですか?

現在のユーザーに、すべてのファイルを表示するユーザー名を入力するように求めるスクリプトを開始しました。エラーチェックを含めたいので、ifステートメントの使用を検討しました。

echo -e "Option 11: Display all the Files a Particular User Has Created\n\n"
echo -e "Enter Username below\n"
read username
15
Nathan Rampado

ファイルのcreatorは追跡されず、ファイルの所有者のみが追跡されるため、通常のLinuxファイルシステムではこれを行うことはできません。通常、作成者と所有者は同じですが、同じである必要はありません。

ファイルの所有者を見つけたい場合は、Bratchleyが示したように、

find / -type f -user user_name

それらのファイルを見つけて名前を表示します。

ファイルを表示するには、その方法で見つけた任意のファイルタイプのコンテンツを表示できるプログラムが必要です。あなたはそのようなshow_file単一のfile_nameを引数として使用するユーティリティでは、次のことができます。

find / -type f -user user_name -exec show_file {} \;
22
Anthon

find を使用:

find / -type f -user “<SHORTUSERNAME>" -print 2>/dev/null

したがって、スクリプトでは:

echo “Enter Username:”;  
while read -e;do find / -type f -user $REPLY -print 2>/dev/null;done
0
njboot