2016-09-21 11 views
0

私は自分のプロファイルファイル(.bashrc、.bash_logout、.profileなど)だけを削除してから、長い間ユーザのホームディレクトリを見つけるためのbashスクリプトを書こうとしています。 ...)、まだで左。削除されたユーザのホームディレクトリをLinuxで探す

私は find . -type d -empty -print

を試してみましたが、それは唯一のアクティブユーザーと本当に空のディレクトリを検索します。ユーザーがいないディレクトリが必要ですが、隠しファイルは気にしません。フォルダに実際のユーザーファイルがあるかどうかだけは気にします。

ありがとうございました。

+2

ホームディレクトリのフォルダのリストと '/ etc/passwd'のユーザーアカウントを比較する必要があります。それはずっと信頼できるはずです。 – arkascha

答えて

2

findこのオプションには便利なオプションがあります:-nouser。これは、/etc/passwdで指定されたユーザーがない(数字の)ユーザーIDを持つファイルと一致します。

find /home -mindepth 1 -maxdepth 1 -type d -nouser 

編集::だからたとえば、次のコマンドは、現在のユーザーが所有していない/home下のすべてのディレクトリを印刷しますあなただけの何の非隠しファイルを持っていないディレクトリを印刷したい場合は、あなたを

find /home -mindepth 1 -maxdepth 1 -type d -nouser -print0 | 
    while IFS= read -r -d '' dir; do 
     (($(ls "$dir" | wc -l) == 0)) && echo $dir 
    done 
+0

ありがとうございました。空ファイル(.filesファイルを除く)と非空ファイル(通常のファイルとフォルダ)を分離する方法 – arcee123

+0

@ arcee123最新の回答を参照してください。 – redneb

+0

なぜあなたはしたいですか?単純に「-nouser」のような音は、あなたが望むものを達成するでしょう。 – tripleee

関連する問題