「graphene-80」で始まるすべてのディレクトリを削除するには、どのコマンドを使用する必要がありますか
「rm」コマンドにオプションとして何を追加できますか?
find コマンドの使用:
find /tmp -type d -name 'graphene-80*' -delete
使用される引数:
-type
は、ディレクトリのみをフィルタリングし、ファイルの検索を回避します-name
は、引用符の間に定義されたパターンに一致するファイルを検索します-delete
は、findコマンドの結果を削除します編集:この投稿に示すように-delete
を使用してクリーナー: テンプレートに一致するファイルを検索して削除
パターンgraphene-80*
/tmp
の直下に一致するディレクトリを削除するには、次を使用します。
rm -rf /tmp/graphene-80*/
ここで、末尾の/
は、名前がgraphene-80*
パターンに一致するディレクトリのみが削除され、ファイルなどは削除されないようにします。
/tmp
の下の他の場所で一致するディレクトリを見つけて、どこにいても削除するには、次のコマンドを使用します。
find /tmp -depth -type d -name 'graphene-80*' -Prune -exec rm -rf {} +
削除されたディレクトリの名前をさらに表示するには、-print
の前に-exec
を挿入します。
-depth
オプションは、階層の深さ優先のトラバーサルを引き起こします(そのため、find
は、削除したばかりのディレクトリに入ることを試みません)。 -type d -name 'graphene-80*'
は、探している名前のディレクトリをテストします。 -Prune
は、見つかったディレクトリを検索パスから削除し(これらのディレクトリ内を調べる必要はありません)、最後に-exec
が実際の削除を行います。
graphene-80*
に一致する名前を持つ空のディレクトリのみを削除するには
find /tmp -type d -name "graphene-80*" -exec rmdir {} +
または
find /tmp -type d -name "graphene-80*" -delete
(rmdir
およびGNU findは、空でないものについてエラーを与えるはずです。)
ディレクトリとその内容を削除するには:
find /tmp -type d -name "graphene-80*" -exec rm -r {} \; -Prune
(-exec rm +
を使用すると、ネストされた一致するディレクトリがある場合、rm
からエラーが発生する可能性があります。-Prune
を使用しない場合、find
から削除されたばかりに降りようとするため、ディレクトリ。)