Windowsのコマンドプロンプトに耐えられないUnix(Mac OS X含む)、Linuxユーザーへ捧ぐ
Linux歴が長いか、MacOS XをUnix風に使うようになったユーザーがやむを得ない事情でWindows PCを使うことになったときに、必ず嘆くのはコマンドライン(CUI)の貧弱さである。
そんな人のために、解決策のまとめを行った。
1. なるべく標準でなんとかしたい場合
そもそもWindowsを使わざるを得ないような事態に陥ったということは、環境を外的要因で制限されたということで、自由にソフトウェアが追加できないことも考えられる。そういう場合は、Microsoft謹製のPowershellを検討するとよいだろう。XPなどではダウンロードしなければいけないが、2008 Serverのメディアには標準で入っているので、標準ツールだから! とゴリ押しできなくもない。
このPowershellが嬉しいのは、たいていのよく使うコマンドについては、Unix/Linux風のaliasが切ってあることである。例えば、Get-ChildItemコマンド(gcと略せるはず……gciだったかも)は、dirでもlsでも動作する。ただし、色んなオプションまでは対応してないし、そもそもの起動が遅いのが苛立たしいかも知れない。
あと二つ利点がある。ちゃんとしたシェルスクリプトが書けること(ちなみに、Powershellではコマンドの結果は、原則として常にオブジェクトで返るのが面白いし、.NET Frameworkにアクセスすることもできる(書き方はかなり冗長—1.0当時—だが))。
もう一つは、profileを作成することで、zshrcとまではいかないが、それなりに環境を定義できることだろう……と書こうとしたが、WMIに簡単にアクセスできるほうが嬉しいかもしれない、と思った。get-wmiobjectは魔法。ただしリモートのマシンに繋いで情報取得しようとすると項目によって取れたり取れなかったり……(これも1.0あるいはそれ以前の頃の話)。
そうそう、パスワードの入力を求めるシェルスクリプトなんかではcredential系の機能がありがたいと思う。詳細は略すが。どちらかというとWindowsシステム管理者か、Windowsどっぷりのお仕事をしている人向け。ちなみにrshっぽいことも今ならできる(はず)。
2. 標準なんか知らないからUNIXのコマンド使わせろ、あとこのダメなコマンドプロンプトとかいうターミナルをなんとかしてくれ。
そんな貴方には、Cygwinを入れるというプランもオススメできるのだが、もうちょっと穏当な代替案としてはgowとckw及びNyacusを使うといいように思う(ckw, Nyacusについては、リンク先も併せて参照のこと)。
gowの紹介はこちらを参照して欲しいが、内容としては、lc, wc, wget, scp, vimなど、これはあった方がいいよね、というコマンド類のパッケージだ。そして、コマンドプロンプトがダメな部分はckwとNyacusで補えるらしい。
残念ながら筆者は2.は試していないが(1.の境遇に近いので)、使える場合は検討してみてほしい。
いずれにしても、Windows環境での健闘を祈る。
Windowsのコマンドプロンプトに耐えられないUnix(Mac OS X含む)、Linuxユーザーへ捧ぐ | sleepless.jp http://bit.ly/azr3Qo
This comment was originally posted on Twitter