« パーティション操作顛末記 | トップページ | 他者としての神 »

2015年5月18日 (月)

骨董品rmdir

かつての、“Linux/UNIX小学生”ぐらいのころは、ディレクトリを削除するにはrmdirコマンド、と教わる。remove directoryだから、妥当なコマンド名だ。

ところが、このコマンドでディレクトリを削除するためには、そのディレクトリが空でなければならない。中身があると、このコマンドはエラーメッセージを出して、終了する。

中身のあるディレクトリを削除するには、ふつうのファイル削除コマンドrmを使う。ディレクトリの中まで再帰的に下りて行って中身を消すために-rオプション、いちいち確認メッセージを出させないために-fオプションを使う:

rm -fr foo

でも、われ思うに、中身があってもディレクトリを消す、という機能は、そもそも、rmdirコマンドのオプションとしてあるべきだ。rmを上のように使うのは、知らない人は思いつかないウラワザだ。

だいたいにおいて、ディレクトリを消したいとき、そこに中身があるのがふつうである。rmdirでディレクトリを消すためにまず中身を空にするのは、よほど単純なディレクトリ以外は難事業になる。

というわけで、われわれがLinux/UNIX小学生時代に習ったrmdirコマンドは、今や、なくても誰も困らない骨董品である。rmもrmdirも古くからあるコマンドだが、rmの方はある時期に、進化の機会があったのだろう。※

※: manページによると、rmdirの作者はWritten by David MacKenzieであるのに対し、rmはWritten by Paul Rubin, David MacKenzie, Richard M. Stallman, and Jim Meyeringとたいへん多い。GNU, Free Software Foundationの御大RMS氏の名前もある。rmには、たくさん手が加えられていることが分かる。

なお、GNOMEのGUIでは、アクションメニューに「ゴミ箱に移動する」があるが、rmで消したものはGUIの資産であるところのゴミ箱には入ってくれない。ゴミ箱を肥大させたくない人は、コマンドの方が良い。

また、もちろん、今回の私の作業例のように、自分がオーナーでないディレクトリは、GUIのメニューからゴミ箱へ行っていただくことはできないから、sudoを伴うコマンドラインでやるしかない。


|

« パーティション操作顛末記 | トップページ | 他者としての神 »

コメント

そういう仕様なのは何か理由があるんでしょうね。rmdirのほうが後から追加されたとか。

単に間違って作ったディレクトリを消すために追加した単機能コマンドじゃないですか。

ディレクトリの削除って影響力が大きい割に気楽にやる人多いから、わざと面倒にしている可能性もあるかもww

投稿: aa | 2015年5月18日 (月) 19時24分

ご無沙汰しております。
rmdir、自分もあまり使わないです・・・
私はrm -r をよく使います。今度fもオプションに入れてみよう!

ウラワザといえば、
cat foo.mp3, bar.mp3で曲を連結。
フォルダ機能さえ無い、1200円のmp3プレーヤを使っていた頃の苦肉の策でした(笑)。

投稿: 長谷川 | 2015年5月19日 (火) 23時30分

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 骨董品rmdir:

« パーティション操作顛末記 | トップページ | 他者としての神 »