CentOSのフォルダーのコンテンツをすべて削除する必要がありますが、フォルダー自体は削除しません。
例:「MYFOLDER」という名前のフォルダーがあり、FOLD_1、FOLD_2、FOLD_3、FOLD_4 ...などのサブフォルダーといくつかのファイルが含まれています。これらのフォルダーとファイルをすべて削除する必要がありますが、コンテナーフォルダーMYFOLDERは削除しません。前のプロセスの結果を指示するには、このディレクトリが必要です。
rm -rf
コマンドですが、これによりコンテナフォルダも削除されます。
代わりにフォルダの内容を削除してください。
rm -r MYFOLDER/*
以下を使用できます。
rm -r MYFOLDER/{.[^.],.??*}
これにより、非表示のファイルとフォルダも削除されます。 MYFOLDERディレクトリにファイルが多すぎる場合は、代わりに次を実行する必要があります。
ls MYFOLDER/{.[^.],.??*}|xargs rm -r
私の意見では、最も簡単な方法は、それ自体を含むディレクトリ全体を削除してから、フォルダを再作成することです。これが適切な解決策ではない状況(無人スクリプトやより複雑なパイプラインなど)がありますが、フォルダーを削除したくない理由を指定していません。
rm -rf foldername
mkdir foldername
おっとっと。指定しました(投稿を読み直しました)。それでも、削除、再作成は機能します。特に、次のようにコマンドをチェーンする場合
rm -rf foldername && mkdir foldername
または
rm -rf foldername; mkdir foldername
私はこの代替手段を強くお勧めします(名前にスペースが含まれるファイルも削除されます):
find MYFOLDER/ -type f -print0 | xargs -0 rm -f
CentOS 6.xでrm -r -f filename
を試してみてください
いかがですか
cd MYFOLDER
find . | rm -rf
これにより、隠しファイル(ドットで始まるファイル)も削除されます。