MAC OSターミナルで、非表示のものを含め、すべてのファイルとフォルダーを再帰的に削除するコマンド?


11

rm -rf * すべてのファイルとフォルダを削除しますが、非表示のものは削除しません。

rm -rf .* すべての非表示のファイルとフォルダを削除しますが、非表示でないものは削除しますか?

隠しファイルを含むすべてのファイルとフォルダーを削除するには、どのコマンドを入力する必要がありますか?(。と..を除く); ?

回答:


13
rm -rf * .*

トリックを行います。


1
番号! -を含む.*現在のディレクトリ内のすべての非表示のエントリに展開されます。つまり、を引数として使用すると、現在のディレクトリより上のディレクトリとそのすべてのコンテンツ削除されます。rmはそれを拒否しますが、私はこの安全性に依存することを考えていません... ...*rm -rf
Gordon Davisson

@Gordon Davisson:ディレクトリを作成しました。隠しファイルを含むファイルを追加しました。私はその命令をしました。そのディレクトリ内のすべてのコンテンツを再帰的に削除し、そのディレクトリより上のコンテンツは削除していません。コメントを明確にしていただけますか?
MEM

上記のコメントを明確にしていただきありがとうございます。今私はあなたのポイントを理解しています。代わりの提案はありますか?
MEM

フラグを使っfindてどう-delete
ですか

1
その場合rm、@ GordonDavisson はrm: "." and ".." may not be removedメッセージを出力するはずです。親ディレクトリは自動的に削除されません。
slhck

1

これを試して:

find . -mindepth 1 -delete

-mindepthすべての実装でサポートされているかどうかはわかりませんfind。あなたが持っていない場合は-path、削除しようとしないようにする別の方法を与える必要があります.

find . -path "*/*" -delete

BSDにfindもそのオプションがあります。
slhck


0

shopt -s dotglobまた*、ピリオドで始まるインクルードファイルを作成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.