web-dev-qa-db-ja.com

Centosでディレクトリのコンテンツを削除する方法

CentOSのフォルダーのコンテンツをすべて削除する必要がありますが、フォルダー自体は削除しません。

例:「MYFOLDER」という名前のフォルダーがあり、FOLD_1、FOLD_2、FOLD_3、FOLD_4 ...などのサブフォルダーといくつかのファイルが含まれています。これらのフォルダーとファイルをすべて削除する必要がありますが、コンテナーフォルダーMYFOLDERは削除しません。前のプロセスの結果を指示するには、このディレクトリが必要です。

rm -rfコマンドですが、これによりコンテナフォルダも削除されます。

9
verofairy

代わりにフォルダの内容を削除してください。

rm -r MYFOLDER/*

以下を使用できます。

rm -r MYFOLDER/{.[^.],.??*}

これにより、非表示のファイルとフォルダも削除されます。 MYFOLDERディレクトリにファイルが多すぎる場合は、代わりに次を実行する必要があります。

ls MYFOLDER/{.[^.],.??*}|xargs rm -r
5

私の意見では、最も簡単な方法は、それ自体を含むディレクトリ全体を削除してから、フォルダを再作成することです。これが適切な解決策ではない状況(無人スクリプトやより複雑なパイプラインなど)がありますが、フォルダーを削除したくない理由を指定していません。

rm -rf foldername
mkdir foldername

おっとっと。指定しました(投稿を読み直しました)。それでも、削除、再作成は機能します。特に、次のようにコマンドをチェーンする場合

rm -rf foldername && mkdir foldername

または

rm -rf foldername; mkdir foldername
3
JDS

私はこの代替手段を強くお勧めします(名前にスペースが含まれるファイルも削除されます):

find MYFOLDER/ -type f -print0 | xargs -0 rm -f
0
Andres SK

CentOS 6.xでrm -r -f filenameを試してみてください

0
Shiv Singh

いかがですか

cd MYFOLDER
find . | rm -rf

これにより、隠しファイル(ドットで始まるファイル)も削除されます。

0