• このエントリーをはてなブックマークに追加

Windows上で開発をするならばCygiwinは必須ツールですが、今日はそんなCygwin独自コマンドを紹介します。

この本を読みました。Cygwin本はいろいろ出ているけれども、今までで一番詳しい解説書だった。オススメ。

 

cygstart

cygstartは、Windowsでのデフォルト起動プログラムで、指定されたファイルを実行できる。たとえば、テキストファイルがサクラエディタで開くのがデフォルトならば、

cygstart hogehoge.txt

と入力すると、サクラエディタで開かれる。

自分の場合は、aliasを切って、さらに便利にしている。

alias c='cygstart'

さらに便利なのが、ディレクトリを指定すると、そのフォルダがエクスプローラで起動される。たとえば、

cygstart .

と入力することで、カレントディレクトリをエクスプローラで表示することができる。

cygcheck

cygcheckはCygwin プログラムの診断を行うユーティリティ。

  PROGRAM              list library (DLL) dependencies of PROGRAM

  -c, –check-setup    show installed version of PACKAGE and verify integrity

                       (or for all installed packages if none specified)

  -d, –dump-only      just list packages, do not verify (with -c)

  -s, –sysinfo        produce diagnostic system information (implies -c)

  -r, –registry       also scan registry for Cygwin settings (with -s)

  -k, –keycheck       perform a keyboard check session (must be run from a

                       plain console only, not from a pty/rxvt/xterm)

  -f, –find-package   find the package to which FILE belongs

  -l, –list-package   list contents of PACKAGE (or all packages if none given)

  -p, –package-query  search for REGEXP in the entire cygwin.com package

                       repository (requires internet connectivity)

  –delete-orphaned-installation-keys

                       Delete installation keys of old, now unused

                       installations from the registry.  Requires the right

                       to change the registry.

  –enable-unique-object-names Cygwin-DLL

  –disable-unique-object-names Cygwin-DLL

  –show-unique-object-names Cygwin-DLL

                       Enable, disable, or show the setting of the

                       "unique object names" setting in the Cygwin DLL

                       given as argument to this option.  The DLL path must

                       be given as valid Windows(!) path.

                       See the users guide for more information.

                       If you don’t know what this means, don’t change it.

  -v, –verbose        produce more verbose output

  -h, –help           annotate output with explanatory comments when given

                       with another command, otherwise print this help

  -V, –version        print the version of cygcheck and exit

多機能だ。自分が使うのは、もっぱらパージョンコマンド(-c)だ。

[tsu-nera]% cygcheck -c cygwin gcc ruby screen zsh
Cygwin Package Information
Package              Version          Status
cygwin               1.7.18-1         OK
gcc                  3.4.4-999        OK
ruby                 1.9.3-p385-2     OK
zsh                  5.0.2-1          OK

こんな感じで、コマンドのバージョンが一気に調べられる。

cygpath

これはあまり使わないけど、今回の記事のために調べてみた。

WindowsとCygwinでは、ファイルパスの記述方法がことなる。

  • Windows形式のファイルパスは "C:\Users\hogehoge"
  • Cygwin形式のファイルパスは"/cygdrive/c/Users/hogehoge"

ファイルパスをWindows形式からCygwin形式に、Cygwin形式からWindows形式に、簡単に変換できるコマンドがcygpathだ。

# Cygwin形式からWindows形式に
[tsu-nera]% cygpath -w /home/TSUNEMICHI/dotfiles
C:\cygwin\home\TSUNEMICHI\dotfiles

# Windoows形式からCygwin形式に
[tsu-nera]% cygpath -u "C:\cygwin\home\TSUNEMICHI\dotfiles"
/home/TSUNEMICHI/dotfiles

getclip

getclipは、Windows上のクリップボードにあるものを標準入力に出すことができるもの。

getclip > hogehoge.txt

などと、リダイレクトすると、ファイルに出力できる。

putclip

putclipはgetclipの逆で、Windows上のクリップボードに、出力をコピーすることができる。通常は、echoまたはcatと、パイプと組み合わせて使う。

echo 'hogehoge' | putclip
cat hogehoge.txt | pugclip

getclip/putclipの文字化け対策

CygwinはUTF-8だが、WindowsはShift-jis。なので、そのまま使うとすると、文字化けしてしまう。

そんなときは、nkfコマンドをうまくつかう。

# utf-8に変換してファイルへ
 getclip | nkf -w > hogehoge.txt

# Shift-jisに変換してクリップボードへ
nkf -s < hogehoge.txt | putclip

nkfはCygwinのデフォルトコマンドではないので、以下の記事を参照してください。

Cygwinにnkfをインストールして文字化け攻略する! | Futurismo

apt-cyg

デフォルト内部コマンドではないけれども、Cygwinを使うにおいては必須コマンドがこれ。Linuxのapt-get や yumのように、簡単にツールを導入することが可能となる。通常ならば、setup.exeを利用してツールをいれるのだが、コレさえあれば、setup.exeは不要となる。

これについては、過去記事をごらんください。

setup.exeはもういらん!Cygwinでコマンドラインからインストール/アップデートする[apt-cyg]を試す | Futurismo