回答:
代わりにフォルダの内容を削除してください。
rm -r MYFOLDER/*
shopt -s dotglob
最初に設定した場合に実行されます。
rm -R /path/to/myfolder/*
すべてのファイルとサブフォルダーの削除を承認する過剰な要求を回避するための正しい構文です。首都に注意してくださいR
。
以下を使用できます。
rm -r MYFOLDER/{.[^.],.??*}
これにより、非表示のファイルとフォルダも削除されます。MYFOLDERディレクトリにファイルが多すぎる場合は、代わりに次を実行する必要があります。
ls MYFOLDER/{.[^.],.??*}|xargs rm -r
meta/
:私は代替xargsのを試してみたかったので、しかし、私はこれらのエラーメッセージを取得し、ディレクトリ ls: cannot access meta/.[^.]: No such file or directory ls: cannot access meta/.??*: No such file or directory rm: missing operand
bash
シェルを使用していることを確認してください。シェルは、ファイルパターンの「ブレース拡張」と「正規表現」をサポートする必要があります。
私の意見では、最も簡単な方法は、それ自体を含むディレクトリ全体を削除してから、フォルダを再作成することです。これが適切な解決策ではない状況(無人スクリプトやより複雑なパイプラインなど)がありますが、フォルダーを削除したくない理由を指定していません。
rm -rf foldername
mkdir foldername
おっとっと。指定しました(投稿を読み直しました)。それでも、削除および再作成は機能します。特に、次のようにコマンドをチェーンする場合
rm -rf foldername && mkdir foldername
または
rm -rf foldername; mkdir foldername
いかがですか
cd MYFOLDER
find . | rm -rf
これにより、隠しファイル(ドットで始まるファイル)も削除されます。