- 締切済み
rmとrmdirの違い
お世話になっています。 この二つの違いについての質問ですが rmとrmdirの違いというのは 「rmdir」はディレクトリは消せるが 「rm」はディレクトリは消せないというものですよね? また、 「rmdir」は空のディレクトリしか消せなく 「rm -r」はディレクトリの中身の有無に関係なく消せるんですよね? この二つのコマンドに分けている意味というものはあるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- RITYABOU
- ベストアンサー率26% (4/15)
rmdir は mkdir と対になっている為だと思っていたのですが、 どうなんでしょうね。 rm の方は、ファイル、ディレクトリ、スペシャルファイル、等々 何でも OK という事で。
- yurarinco
- ベストアンサー率34% (20/58)
補足です。 OSのシステムコールとプログラムとの関係については、 私は実際には読んだことが無いのですが、参考URLの 「プログラムはなぜ動くのか」という本に 説明が書いてありそうな気がします。
- yurarinco
- ベストアンサー率34% (20/58)
これはまったくの私の想像で、当たってるかどうかは 全然自信が無いですが、OSのシステムコールで ファイルを削除する機能とディレクトリを削除する機能が それぞれあるから、それぞれの機能を実装した基本的で 簡単なrmとrmdirというコマンドがあるのでは ないのでしょうか。 逆にrmとrmdirのそれぞれの機能を実現するために OSの機能が設計されたのでは?と突っ込まれても 私には反論できませんが...。(^_^;
- jakarta
- ベストアンサー率38% (607/1597)
やはり「rm」しかなければ中身のあるディレクトリをうっかり消してしまう 恐れがあります。そこで中身が空でないとディレクトリを削除できない 「rmdir」があるのだと思います。 mvでファイルを整理して「rmdir」でサクッと空のディレクトリだけ消す ことができますが、「rmdir」がなかったらいちいち空かどうか確認したり 複雑なコマンドを打つ事になってしまいます。
補足
う~ん。私の考えが馬鹿なのでしょうか・・・。 なぜ作者は rmをつかってディレクトリの場合、中身が入っている場合はエラーを出すという風にしないで分けたのでしょうかね・・・ って、これを言ったらやっぱりきりがないのでしょうか・・・? 他のコマンドでも同様に・・・ また、もしrmdirコマンドがなく、rmコマンドですべてをやりくりしてた場合はやはり確認もせずに消すというコマンドになっていたんでしょうかね・・・