web-dev-qa-db-ja.com

bash-pwd内のファイルではなく、すべてのディレクトリ(および内容)を削除します

Pwdからすべてのディレクトリを削除しますが、pwd内のファイルはそのままにしておきます。私のパスワードの内容が:

mydir1
mydir2
myfile1
myfile2

それから私はちょうど残されたいと思います

myfile1
myfile2

rm -r -iを使用する必要があると思います

私は正しいですか?

19
atomh33ls

何も指定しなかったので、「オペランドがありません」とは言えません。 *は、ファイルについてもプロンプトを出します。

私は試してみます:

find -mindepth 1 -maxdepth 1 -type d -exec rm -r {} \;

mindepth 1は除外します.結果から、maxdepth 1は、とにかく削除される(したがって警告を作成する)ディレクトリの下で実行しようとすることを除外します。ただし、実際には、いくつかの「無害な」警告に同意する場合は、両方を省略できます。

10
fede.evol

私はこれをどこかで見つけました:

rm -r */

最も簡単な方法のようです。あなたの例では、各ケースを確認する必要がありますが、5つのファイルがある場合は問題ありませんが、ファイル構造が大きい場合、インタラクティブモードは適切ではありません...提案として、重要な情報である場合は、バックアップ...

21
Martin

使用する

rm -rf ./*/

これにより、インタラクティブモードが回避され、ローカルディレクトリ内のディレクトリのみが削除されます。

8
WeSee

このようなものはうまくいくはずです:

find /path -type d -exec rm -rf '{}' \;

-type dはディレクトリのみを検索します

3