特定のユーザーが作成したすべてのファイルをどのように見つけて画面に表示しますか?
現在、ユーザーにすべてのファイルを表示するユーザー名を尋ねるスクリプトを起動しました。エラーチェックを含めたいことを考慮して、ifステートメントの使用を検討しました。
echo -e "Option 11: Display all the Files a Particular User Has Created\n\n"
echo -e "Enter Username below\n"
read username
答え1
creator
通常のLinuxファイルシステムでは、ファイルを追跡せずにファイルの所有者のみを追跡するため、これはできません。作成者と所有者は通常同じですが、必ずしも同じではありません。
ファイルの所有者を見つけるには、Braatchleyの指示に従い、次のものを使用できます。
find / -type f -user user_name
これらのファイルを見つけて名前を表示します。
ファイルを表示するには、検索できるすべてのファイル形式の内容を表示できるプログラムが必要です。show_file
単一のfile_nameを引数として使用するこのようなユーティリティがある場合は、次のことができます。
find / -type f -user user_name -exec show_file {} \;
答え2
使用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