FreeBSDのrmに新オプション-Iが追加 13
ストーリー by Oliver
(y/Y) 部門より
(y/Y) 部門より
BSD 曰く、 "FreeBSDの rm コマンドに新しいオプション -I が導入された。これは、DragonFlyBSDで導入されたものがオリジナルになっているようだ。従来のオプション -i は、間違ってファイルを消去しないように一々その承認を求めて来るため、非常に煩雑で使えなかった。しかし、ついつい rm -fr * などと入力して、トラブルを起こすことも多いようだ。今回の -I は、リカーシブにディレクトリを消去する時と、3個以上のファイルの消去が指定された時に1度だけ承認を求めるように動作するようだ。さて、このオプションは広くエイリアスとして登録され使用されるだろうか。興味がわいてくる。"
ゴミ箱 (スコア:2, すばらしい洞察)
ゴミ箱はサイズ固定で、あふれそうになったら古いものから自動削除。
10分以内に入れられたものが自動削除されそうな場合には警告。
ゴミ箱は空にしない(これ最強)
完全に削除されなければならない、ってことはそんなに多くないと思うんですけどね。
Re:ゴミ箱 (スコア:1)
稀に「ゴミ箱を空にする」の動作でFinderが飛んだりするので、数が多い時はTerminal.app開いてrm -rfで直接消去する事もあります。
#ゴミ箱は最終テンポラリなので普段空じゃないと嫌(笑
凛々しく、あほらしく。
これはこれで悪くないが (スコア:1, 興味深い)
自分でスクリプト組んで使ってますが、結構便利ですぜ。
Re:これはこれで悪くないが (スコア:3, 参考になる)
実行前に C-i すれば *~*foo の展開結果も得られます.
Treason, like beauty, is in the eye of the beholder.
Re:これはこれで悪くないが (スコア:2)
たとえば *.html 以外のすべてのファイルに qkc を実行したい場合は
$ find -type f ! -name "*.html" | xargs qkc
Re:これはこれで悪くないが (スコア:1)
ls | grep -v xx
ではだめですか?
自分では多分使わないんだけど (スコア:1)
これにより、「rm -iに関するマーフィーの法則」、
てな減らず口を信じているかどうかはともかくとしても、個人的にはrmにはaliasつけない主義です。その手のaliasに慣れちゃうと、いざ他の環境に行った時失敗するのが怖いからとか、いくつか理由はあるのですが。
とはいえ仮にこれを使うとして、.cshrcを他のホストと共用してる場合、「"-I"が使えるときだけaliasを設定したい」という要求は結構あるんじゃないかと思います。 そんな時、どう書くのが良いのでしょう。
とかいう感じでしょうか(Usage出力利用)。 あるいは、cvsupのタイミングによっては切り分けられないだろうけど、 sysctl kern.osreldateで近似しとく方が普通なのでしょうか。結構この手の問題で毎度頭を悩ますんですよね。
Re:自分では多分使わないんだけど (スコア:1)
なんですよねぇ。昔、某ワープロソフトの開発に関わっていた時、「削除の前に確認を求めるHCIはよろしくない」と上司に言ったのですが、受け入れられませんでした。ないよりマシだと思ったんでしょうけど、ないのとあんまり変わらないんですよね。ま、技術的にundoできるように作るのが難しかったという事情もあるんですが。
しかし、そろそろどのOSでもファイル削除コマンドはundoできるのが標準の仕様にならんもんですかね。
個人的には使いません (スコア:1)
何かのコマンドを キー入力する時にはゆっくり注意して行います。rm コマンドを実行 したり * を指定する時は、その前に ls でそれを打ちこんで 何が選択されるか調べ、それをコピーすることで打ち間違えを しないように注意しています。
皆さん、rm -fr abc * などと 入力して大変なことになったとよくおっしゃいますが、重大な コマンドを実行する時には、改行を打つ前に5秒ぐらい考えたら そういうことも少なくなると思います。
今回の -I ですが、 初心者の非システム管理者には使えるかもしれないとは思います。
Re:個人的には使いません (スコア:2, すばらしい洞察)
ls を置き換えた方が良くないでしょうか?
% ls abc *
% ^ls^rm -rf
Re:個人的には使いません (スコア:1)
ぼくは root で作業しているときなんかは、ワイルドカードをつかわないときにも、スペルミスがないかの確認のために -i オプションをつけることはありますね。スペルが間違っていれば確認メッセージがでないから、間違いに気づきます(笑)。
use Test::More 'no_plan';
Re:個人的には使いません (スコア:1)
初心者には難しいと思います。-Iの意味を理解できないでしょうし、-iと間違えやすい。そしてそもそも初心者は確認なんてしない。確認するようになったら中級者。
#3年後にはBSDのトリビアになっちゃんうじゃないかなー。
いきなり国民投票 (スコア:0)