ディレクトリを削除する
bash,zshのrmコマンドでディレクトリを削除するにはrオプションを指定します。大文字小文字は問わないのでRと指定しても同じです。
以下のように入力するとデスクトップ上にあるtestディレクトリとその中身のファイル、ディレクトリが削除されます。
rm -r ~/Desktop/test
上記のコマンドで何も問題なく削除されればよいのですが、実際にはうまくいかない事があります。事情により削除されないファイル、ディレクトリがあったりするからです。(ファイル・ディレクトリの権限・パーミッション等)
そんな場合はfオプションを指定すると強制的に削除する事ができます。以下のようにするとデスクトップ上にあるtestディレクトリとその中身を強制的に削除できます。(削除できる権限がない場合は無理です)
rm -fr ~/Desktop/test
ディレクトリを削除するコマンドとしては他にもrmdirコマンドがあります。使い方はrmコマンドとほぼ同じですが、多少削除ミスを防げるようになってます。使い方はrmdirの後に削除したいディレクトリ名を指定するだけです。
rmdir ~/Desktop/test
PowerShellの場合、ディレクトリ削除はRemove-Itemコマンドを使います。rmはRemove-Itemのエイリアスとして定義されていますが、若干動作が異なる部分もあります。PowerShellの方が間違ってディレクトリを削除してしまうミスを防げるようになっています。削除するディレクトリ内にファイルがあると確認のメッセージが表示されます。特に何もオプションを指定しない場合、yキーを押して削除するように要求しても駄目な場合があります。
Remove-Item ~/Desktop/test
隠しファイルや権限・パーミッションの関係で削除できないことがあります。このような場合はForceオプションを指定します。また、サブディレクトリ以下も削除する場合はRecurseオプションを指定します。
Remove-Item -Force ~/Desktop/test/.DS_Store