web-dev-qa-db-ja.com

CygwinでC:\のディレクトリに移動するにはどうすればいいですか?

私は PyQt4 をインストールしようとしています。インストールガイドによると、 SIP をインストールする必要があります。 Sipをインストールする 最後のステップ は、make installコマンドを使用することです。 Windowsはそれを持っていないので、私はそれを調べて、私が見たすべてがCygwinをインストールするように言った。だから私はしました。しかし... sipはC:\Python31\sipにあります。

これをCygwinコマンドから実行できますか?もしそうなら、どうすればいいの?

または、通常のWindowsのコマンドプロンプトから実行できますか?もしそうなら、どうすればいいの?

340
Andrew

つかいます:

cd /cygdrive/c
655
Otávio Décio

私はcygwinで私を大いに助けてくれる何かを追加します。新しいシステムをセットアップするときはいつでも、私はいつもこれをします

ln -s /cygdrive/c /c

これにより、(ホームディレクトリ内に)/cygdrive/cという新しいファイルで/cへの シンボリックリンク が作成されます。

その後、あなたのシェルでこれを行うことができます

cd /c/Foo
cd /c/

とても便利な。

186
karoberts

cd c:はcygwinでサポートされました

131
netawater

あなたはすでに答えを受け入れました、しかし私はちょうど私が以下がCygwinでもうまくいくと言及したいと思いました:

cd "C:\Foo"

私はcd /cygdrive/cメソッドがより良いと思いますが、時にはこれができることを知っておくと便利です。

45
Mark Byers

おそらくこれを頻繁に行いたいので、エイリアスを.bashrcファイルに追加してください。

alias cdc='cd /cygdrive/c'
alias cdp='cd /cygdrive/p'

それからあなたはただコマンドラインでタイプすることができます:

cdc
6
Ellis

そのまま使えます

cd C:/Users/../..
3
Praveen Kishor

関連するメモでは、あなたも好きかもしれません:

shopt -s autocd

これはあなたがただディレクトリにタイプすることによってあなたがディレクトリをcdすることを可能にします

[[email protected] ~]$ /cygdrive/d
cd /cygdrive/d
[[email protected] /cygdrive/d]$ 

永続的にするには、~/.bashrcに追加する必要があります。

2

.bashrcに変数を定義します。

export C=/cygdrive/c

それからあなたは使うことができます

cd $C/

タブは正しく自動補完されます(最後に/を付けてください)。

2
Paco Zarate

あなたはこれを試すことができます

/cygdrive/c/directoryname
1
tionne jones

HOMEフォルダに "overrideBashCdForWindowsPaths"という名前のファイルを作成します。そのファイルに次の行を貼り付けて保存します。

#!/bin/bash

function cd() {
    CD_PATH="$(history | tail -1 | sed -e "s,.*${FUNCNAME[0]}\s*,,g")"

    if [ -z "${CD_PATH}" -o "${CD_PATH}" = "~" ]; then
        CD_PATH="${HOME}"
    fi

    builtin cd "$(cygpath "$CD_PATH")"
}

次に、HOMEフォルダにいる間に、端末に次のコマンドを入力します。

echo ". overrideBashCdForWindowsPaths" >> .bashrc

端末を閉じて新しい端末を開きます。入力するだけで、簡単にそのWindowsフォルダに移動できます。

cd C:\Python31\sip

スクリプトは最後のコマンドを読み込み、パスを抽出してCygwinのパス変換ツールに渡します。関数 "cd"に名前を付けることによって、Bashの組み込み関数 "cd"を 'オーバーライド'し、最後の行で実際の呼び出しを委任します。

0
KoenigGunther

ここで言及する価値があるのは、Cygwinのcygpathは、特にCygwinの下で実行されているBashスクリプトでは、まだ間隔のあいたWindowsパスを正しく処理しないことです。トリックは、CygwinがBashスクリプト内の引用符をどのように解釈するかを理解することです。

以下は正しく動作しません

#!/bin/bash
TBDIR="/cygdrive/c/Program\ Files\ \(x86\)/MyDir/"

if [ -d "${TBDIR}" ]; then 
    echo "Found MyDir directory at: ${TBDIR}"
    cd "$TBDIR"
else 
    echo "MyDir program directory not found!"
    echo "Wrong DIR path: ${TBDIR}"
    exit 1
fi

しかし、これはうまくいきます:

#!/bin/bash
# Cygwin-ism: No quotes!
TBDIR=/cygdrive/c/Program\ Files\ \(x86\)/MyDir/

if [ -d "${TBDIR}" ]; then 
...

私の知る限りでは、bashスクリプトのコンテキストでスペースを適切に処理できるcygpathを使用した既知の回避策は現在ありませんが、スクリプト内で引用符を使用できます。

0
not2qubit

$cd C:\

>(この行が表示されたらEnterキーを押します)

あなたは今Cドライブにいます。

0
wwei23

私が好きなものは:cd C:

Linuxを感じさせるには、次のようにします。

ln -s /cygdrive/c/folder ~/folder

~/folder/..のようにこれを使います。

0
John Tribe