現在のディレクトリを含むすべてのファイルを現在のディレクトリから削除するにはどうすればよいですか?
-
23-08-2019 - |
質問
現在のディレクトリを含むすべてのファイルとサブディレクトリを現在のディレクトリから削除するにはどうすればよいですか?
解決
GNU ツールを使用した bash では、次のようにします (ほとんどの場合安全であるはずです)。
rm -rf -- "$(pwd -P)" && cd ..
bash ではなく、GNU ツールがなければ、次のように使用します。
TMP=`pwd -P` && cd "`dirname $TMP`" && rm -rf "./`basename $TMP`" && unset TMP
これがより安全である理由:
- 引数リストを次で終了します
--
ディレクトリがダッシュで始まる場合 (非 bash:./
ファイル名の前) pwd -P
だけでなくpwd
実際のディレクトリではなく、それを指すシンボリックリンクにいる場合。"
ディレクトリにスペースが含まれる場合は、引数を s で囲みます。
ランダムな情報 (bash バージョン):
- の
cd ..
最後の部分は省略できますが、省略すると存在しないディレクトリに移動することになります...
編集:kmkaplan が指摘したように、 --
ものは必要ありません。 pwd
常に次で始まる完全なパス名を返します。 /
UNIX 上
他のヒント
olddir=`pwd` && cd .. && rm -rf "$olddir"
cd ..
は、あなたは、現在のディレクトリを削除することはできませんので、それ以外の場合は失敗します、必要とされます。
rm -fr "`pwd`"
私は、これはDOS / WindowsのCMDの下で可能になると思いますが、私はかなりのパイプにコマンド間でデータを方法を見つけることができません。他の誰かがそのために修正を知っているかもしれない?
FOR /F %i IN ('cd') DO SET MyDir=%i | CD .. | RD /S %MyDir%
オペレーティングシステム? * NIXベースのもので、あなたが探している「RM -rfディレクトリ/」
注: '再帰的' の '-r' フラグ危険なことができます。
!あなたはその後、「RM -rf yourFolder」を使用し、ターゲットフォルダの親フォルダを戻ることができます。 または、あなたは現在のフォルダからすべてのファイルとサブフォルダを削除するには、「RM -rf *」を使用することができます。
所属していません StackOverflow