「jbossapp」ユーザーを使用してこのコマンドを使用して、3分以上前に生成された「.stat」ファイルを見つけました。
find /opt/jboss/* -mmin +3 -name "*.stat"
最近このコマンドを使用している間、rootユーザーを使用してディレクトリにフォルダを作成している間、特定のフォルダ/opt/jboss/
で「権限が拒否されました」というメッセージが表示され、検索が中断されます。 root権限を持つ特定のフォルダをどのように除外できますか?
答え1
使用
find /opt/jboss/* -type f -mmin +3 -name "*.stat" 2>/dev/null
エラー表示を防ぐために、2>/dev/null
標準エラー出力は特殊ファイルにリダイレクトされます。/dev/null
また、-type f
探して追加しましたFエアーズアイランドのみ。
ディレクトリを除外するには、次のように使用します。
find /opt/jboss/* -path /path/to/exclude -prune -o -type f -mmin +3 -name "*.stat" 2>/dev/null
を使用することもできます-not -path
。
find /opt/jboss/* -not -path /path/to/exclude -type f -mmin +3 -name "*.stat" 2>/dev/null
ルートが所有するユーザーの検索結果を除外したい場合でも、次のように使用できます。
find . \! -user root .....
答え2
ルート所有フォルダを除外するには、検索を使用して削除します。
find /opt/jboss/. \
-type d ! -name . -owner root -prune -o -type f -mmin +3 -name '*.stat' -print
解釈:最上位ディレクトリ/opt/joss/の名前が「.」ではなく、「root」に属するフォルダは追跡されません。それ以外の場合は、3分より長く、拡張子が「.stat」の一般ファイルを選択して、印刷を標準出力にさらに制限します。