戻る

Cygwinで便利!

Cygwin 1.3.22 を元にした情報です。
参考にどうぞ☆
戻る

ちょっと便利な使い方

^C (Ctrl-C) の対処

Cygwin.bat で起動したコンソールで ^C (Ctrl-C) を使うと Cygwin.bat の終了時に
ダイアログが出てきたりして面倒なので、わかる人はその対処を行うと良いでしょう。
C:\cygwin\bin\bash.exe への Windows 上のショートカットを作り
リンク先に 'C:\cygwin\bin\bash.exe --login -i' を設定したものを作ると、
^C (Ctrl-C) のおかげでいやな目に合わなくてすみます。
# C:\cygwin にあたる部分のパスは適宜読み替えてください。
さらに、C:\cygwin\cygwin.ico をアイコンリソースとして使うようにすれば、完璧。

ついでに、ショートカットのプロパティからの設定で、
画面バッファの高さを最大値 (9999) にしておくと
スクロールバックしやすくて私は好きです

文字コード、改行コードについて

Cygwinを使うと最初にやや混乱を招くのが、日本語コードの扱いです。
Linux / UNIX では EUC-JP + LF (ラインフィード) で、
Windows では ShiftJIS + CRLF (キャリッジリターン,ラインフィード) ですが、
Cygwin ではその中間の ShiftJIS + LF (ラインフィード) です。

そういうわけなので、日本語は SJIS を使ってください。
また、Cygwin で作った文書などに CR が入っていないことで、
Windows 上で扱うときに問題が起こる場合は、
nkf で、CR をつけるようにするのが良いでしょう。
"c" オプションをつければ、CR がつきますので、
以下のような使い方をおすすめします。
$ nkf -sc lf_file > lfcr_file


ちなみに、ファイルの文字コードを調べたいときは $ less ファイル名
で起動しておいて、":f" のコマンドで見れます。

ファイル改行コードを調べたいときは $ od -c ファイル名
とか $ cat -v ファイル名
とかでどうぞ。


そしてそして、Cygwin の cat には大きな罠があります!!
Cygwin 上で cat だけは出力が CRLF です。
ファイルを作成するときに cat を使うときは要注意です!!

C:\cygwin 以外へのアクセス

Cygwin は '/' でのツリー構造を提供します。
その中に、Windows 上での C: ドライブや D: ドライブはみえません。
ですが、きちんとアクセスするための手法が準備されています。

/cygdrive/ドライブレター

という形式でアクセスしてください。

C: なら /cygdrive/c
D: なら /cygdrive/d です。


この方法についての詳細は以下のコマンドで確認できます。
$ mount

インストール済みパッケージの確認方法

Cygwin にパッケージをインストールする手段としては
setup.exe からのインストールと rpm でのインストールと
source からのインストールがあります。
これら 3 つのインストール方法のうち、
source からのインストール以外はパッケージの確認手法があります。

setup.exe からのインストールパッケージの確認は
$ cygcheck -c

rpm からのインストールパッケージの確認は
$ rpm -qa

proc ファイルシステム

いつ頃からか忘れましたが、Cygwin にも proc ファイルシステムが実装されてます。
以下のコマンドを実行して、procps が表示されたら、
proc ファイルシステムが使えるはずです。
$ cygcheck -c | grep procps
# アーカイブを自分で展開してインストールした場合は表示されません

proc ファイルシステム自体の説明は他のサイトに譲ります。
とりあえずは、おもむろに
$ cd /proc
を実行して /proc 配下のいろんなものを cat でみると、
おおむねの意味が分かるんじゃないかな〜とかって思います☆

Cygwin をどう使うの?

Linux / UNIX を使ったことがなければ、
「インストールはしたけどいったい何をすればいいの?」
っていう状態になりますが、
別にわざわざ使う必要はありません。
使いたいときに、便利なときにだけ使えば良いんです。

Windows は GUI の OS ですので、
ほぼすべてのアプリケーションは GUI で操作します。
さらに、Windows の場合はインターフェースもかなり統一されていて、
GUI 環境では最も使いやすいと個人的には思います。
その環境をわざわざ捨ててまで、Linux / UNIX コンソールを使う必要は、
まったくありません!
ただ、GUI にもデメリットがあって、
GUI だと一括した置換などは不便なんです。
クリック、選択、クリック、OK・・・・なんてことをすべての候補に対して、
行うなんてことは現実的ではありません。
そういう作業を便利にやれるのが、コンソール環境で、
コンソール環境で現在で最強といえるのが、Linux / UNIX 環境なんです。
そういうわけで、テキストをいじる機能を強化するアプリケーションと考えて、
手元に置いておくと何かと便利だと思います。
# ちなみに、私の場合はこういう環境がないと、やってられません。

grep,sed,awk (及び MB 対応版)をつかう。

これらは組み合わせることで絶大な威力を発揮します。
どれか一つがかけてもだめだと思います。
それから、教養として正規表現を知っている必要があります。
正規表現を知らない UNIX 使いがいたらちょっと悲しい事態です。
正規表現の説明
正規表現はこのサイトでじっくり勉強してください。

使い方の実例としては、
$ grep-mb "ファイル" 01.log | \
> awk -F ',' '{printf("%s,%s,%s\n",$4,$6,$8)}' | \
> sort -u | sed-mb 's/  *"/"/g' > log.txt
こんな感じで、超便利です。
雰囲気しか伝わらないでしょうけど・・・
これらのコマンドはかなり便利なので難しいなんて思わずに試してみてください。
それが、Linux / UNIX / Cygwin を使う最初になります。
また、そのスーパーセットと言える Perl はもっと素敵です。
が、インストールされてないと UNIX とかで使えないことがあるので、
# 最近の新しいマシンではあんまりないでしょうけど・・・
sed,awk は覚えていると絶対便利です☆
Valid XHTML 1.0 Strict Valid CSS!
戻る