学生時代はGUI(Graphical User Interface)だけしか使っていなかったが、仕事を始めてCUI(Charcter User Interface)を多用するようなった。サーバーの管理などCUIを使わなければならない状況に置かれたこともあるが、CUIにはGUIにない便利さがあるニコニコ
最初は文字ばかりで、コマンドを覚えなければならないのでとっつきにくいが、慣れると手放せない。利点として以下の点が挙げられる。

・GUIに比べて高速
数ファイルの検索・編集ならばGUIのテキストエディタでも可能だが、数千ファイルの検索・編集ならば圧倒的にCUIだ。簡単なコマンドで高速に作業が出来る。シェルやスクリプトを書けばさらに生産性が上がるビックリマーク

・柔軟な入出力
GUIの場合ファイルやアプリケーションが違うと連携が難しいが、CUIはパイプ・リダイレクトを駆使して異なった情報を連結することが出来る。ディレクトリのファイルをgrepして一覧作成などCUIだとあっという間だ。

・繰り返しに強い
GUIだと同じ操作をする場合、毎回入力するか、マクロを作る必要がある。しかし、CUIだったらシェルやスクリプトを書けば毎回正確に同じ操作が出来る。人間が毎回入力するとミスが生じる。GUIのマクロは記述に時間がかかる。

しかし、悲しいかな、WindowsのCUIはイケてない叫びしかもメインで使うのはUnix系のCUIだ。このような状況で見つけたのがCygwinだ。Cygwinはwindows状でUnixライクな環境をエミュレートできる。これでWindowsでもUnixでも同じ作業環境を構築できる。

GUIは直感的で見るだけで操作できるが、逆に見たことしか実行出来ない。CUIは人間が自分で見なくてもコマンドさえ入力すればコンピュータが自動的に実行してくれる。
詳解 シェルスクリプト/アーノルド ロビンス
¥2,940
Amazon.co.jp
Linux コマンド ポケットリファレンス (ポケットリファレンス)/沓名 亮典
¥2,394
Amazon.co.jp