端末ウィンドウから:
コマンドを使用すると、rm
ファイルのみを削除できます。
コマンドを使用すると、rmdir
空のフォルダーのみが削除されます。
ファイルなどを含むフォルダ内にファイルとフォルダがネストされたディレクトリがある場合、すべてのファイルとフォルダを削除する方法はありますか?
違いがある場合は、Microsoft DOS や Linux ではなく、端末から Mac Bash シェルを使用しています。
rm -rf some_dir
-r "recursive" -f "force" (確認メッセージを抑制)
気をつけて!
rm -rf *
現在のディレクトリ内のすべて (フォルダーとファイル) を削除します。
しかし、注意してください!正しいディレクトリにいることが確実な場合にのみ、このコマンドを実行してください。
はいあります。この-r
オプションはrm
、再帰的であることを示し、その引数をルートとするファイル階層全体を削除します。つまり、ディレクトリが指定されている場合、その内容をすべて削除してから、実質的にrmdir
.
知っておくべき他の 2 つのオプションは-i
、 と-f
です。 iインタラクティブ-i
を表します。すべてのファイルを削除する前にプロンプトが表示されます 。力を表します。それは先に進み、尋ねることなくすべてを削除します。 より安全ですが、より高速です。正しいものを削除していることが確実な場合にのみ使用してください。これらは指定してもしなくてもかまいません。それは独立した設定です。rm
-f
-i
-f
-r
そしていつものように、スイッチを組み合わせることができます: rm -r -i
is justrm -ri
とrm -r -f
isrm -rf
です。
bash
また、学習していることは、OS X、Linux、FreeBSD などのすべての Unix OS に適用されることに注意してください。実際、 の構文は、すべてのUnix OSのほとんどすべてのシェルrm
で同じです。OS X は、実際には BSD Unix システムです。
一部のディレクトリとファイルを除いて、ディレクトリ内のすべてのファイルを削除する方法を探していました。私はfindを使ってそれを行う方法を考案しました:
find -E . -regex './(dir1|dir2|dir3)' -and -type d -prune -o -print -exec rm -rf {} \;
基本的に、正規表現を使用して結果から除外するディレクトリを選択し、残りのファイルを削除します。