CygwinはWindowsOS上にインストールすることで、Unixライクにコマンドラインで操作可能にするツールです。
インストールした際、Cygwinのルートディレクトリはインストール時に指定したフォルダになるので、CygwinからではCドライブなどのルートディレクトリより上位のディレクトリは、通常の操作では見えないようになっています。
しかしCygwinのコマンドラインツールからでも、ちゃんとWindowsのCドライブにアクセスする方法が用意されています。
Cドライブにアクセスする方法
サンプルのフォルダ構成を例に説明します。
Windowsからみたフォルダ構成は以下のとおりになっているとします。
コンピュータ
|
|_C:\(Cドライブ)
| |_ PrefLogs\
| |_ Program Files\
| |_ Program Files (x86)\
| |_ Windows\
| |_ ユーザ\(Users)
| | |_ user\(ユーザ専用フォルダ)
| | |_ パブリック\
| |
| |_ cygwin64\(Cygwinのルートディレクトリ)
| |_ bin\
| |_ dev\
| |_ etc\
| |_ home\
| | |_ user\
| | |_ .back_bashrc
| | |_ .bash_history
| | |_ .bash_profile
| | |_ .bashrc
| |_ lib\
| |_ package\
| |_ sbin\
| |_ tmp\
| |_ usr\
| |_ var\
| |_ Cygwin.bat
| |_ Cygwin.ico
| |_ Cygwin-Terminal.ico
|
|_D:\(Dドライブ)
これが、Cygwinからみたディレクトリ構成は以下のとおりです。
/(ルートディレクトリ)
|_ bin/
|_ dev/
|_ etc/
|_ home/
| |_ user/
| |_ .back_bashrc
| |_ .bash_history
| |_ .bash_profile
| |_ .bashrc
|_ lib/
|_ package/
|_ sbin
|_ tmp/
|_ usr/
|_ var/
つまり、本来ならCygwinの/(ルートディレクトリ)の上にあるはずの「Program Files」フォルダや「ユーザ(Users)」フォルダが見えず、あたかもアクセスできないように見えます。
実際に「$ cd /../」などとやってもアクセスできません。
しかし以下のコマンドを実行するとWindowsのCドライブにアクセスすることが可能です。
# Cドライブにアクセス
$ cd /cygdrive/c/
# Dドライブにアクセス
$ cd /cygdrive/d/
つまりCygwinでの「/cygdrive/c/」ディレクトリがWindwosのCドライブに該当します。
もっと細かいことを言うと、
- Cygwin「/cygdrive/c/」 = Windwos「Cドライブ」
- Cygwin「/cygdrive/d/」 = Windwos「Dドライブ」
- Cygwin「/cygdrive/c/cygwin64/」 = Cygwin「/(ルートディレクトリ)」
ということになります。
個人的なオススメ設定として、よくアクセスするWindowsのフォルダに対してシンボリックリンクを作っておくと便利です。
# Cドライブ
ln -s /cygdrive/c/ ~/cdr
# デスクトップ
ln -s /cygdrive/c/Users/user/Desktop ~/desktop
# マイドキュメント
ln -s /cygdrive/c/Users/user/Documents ~/mydoc
このようにしておくことで、Cygwinのホームディレクトリから直接CDコマンドでデスクトップやマイドキュメントにアクセスできます。
以上です。