如何使用Cygwin导航到C:\中的目录?
我正在尝试安装,这样我就可以搞乱它了。安装指南说我必须安装。要执行的最后一步是使用如何使用Cygwin导航到C:\中的目录?,cygwin,Cygwin,我正在尝试安装,这样我就可以搞乱它了。安装指南说我必须安装。要执行的最后一步是使用makeinstall命令。Windows没有,所以我查了一下,看到的所有东西都说要安装Cygwin。所以我做了。但是…sip在C:\Python31\sip中 我可以从Cygwin命令运行这个吗?如果是的话,我会怎么做 或者我可以从普通的windows命令提示符运行此命令吗?如果是这样的话,我该怎么做呢?使用: cd /cygdrive/c 您已经接受了答案,但我想我应该提到以下内容在Cygwin中也适用: c
makeinstall
命令。Windows没有,所以我查了一下,看到的所有东西都说要安装Cygwin。所以我做了。但是…sip在C:\Python31\sip
中
我可以从Cygwin命令运行这个吗?如果是的话,我会怎么做
或者我可以从普通的windows命令提示符运行此命令吗?如果是这样的话,我该怎么做呢?使用:
cd /cygdrive/c
您已经接受了答案,但我想我应该提到以下内容在Cygwin中也适用:
cd "C:\Foo"
我认为
cd/cygdrive/c
方法更好,但有时知道你也可以这样做是很有用的。我将添加一些对cygwin有很大帮助的东西。每当建立新系统时,我总是这样做
ln -s /cygdrive/c /c
这将创建一个to/cygdrive/c
,其中包含一个名为/c
的新文件(在主目录中)
然后你可以在你的壳里做这件事
cd /c/Foo
cd /c/
非常方便。cygwin现在支持cd c:,有关说明,您可能还喜欢:
shopt -s autocd
这允许您只需键入目录即可cd目录
[user@host ~]$ /cygdrive/d
cd /cygdrive/d
[user@host /cygdrive/d]$
要使其持久化,您应该将其添加到~/.bashrc
您可以尝试以下方法
/cygdrive/c/directoryname
由于您可能希望经常这样做,请在.bashrc文件中添加别名,如:
alias cdc='cd /cygdrive/c'
alias cdp='cd /cygdrive/p'
然后,您只需在命令行中键入:
cdc
在.bashrc中定义一个变量:
export C=/cygdrive/c
然后你可以用
cd $C/
并且选项卡自动正确完成(请在末尾包含/)您只需使用
cd C:/Users/../..
在主文件夹中创建名为“OverrideBashCDForWindowsPath”的文件。将以下行粘贴到该文件中并保存:
#!/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")"
}
接下来,当您在主文件夹中时,在终端中键入以下命令:
echo ". overrideBashCdForWindowsPaths" >> .bashrc
关闭终端并打开一个新的终端。您现在只需键入即可轻松切换到该Windows文件夹
cd C:\Python31\sip
脚本读取最后一个命令,提取路径并将其传递给Cygwin的路径转换工具。通过将函数命名为“cd”,我们可以“覆盖”Bash的内置“cd”,并在最后一行将实际调用委托给它。这里值得一提的是,Cygwin的
cygpath
,仍然无法正确处理间隔的窗口路径,特别是在Cygwin下运行的Bash脚本中。诀窍是理解Cygwin
如何解释Bash脚本中的引号
以下操作不起作用:
#/bin/bash
TBDIR=“/cygdrive/c/Program\Files\\(x86\)/MyDir/”
如果[-d“${TBDIR}”];然后
echo“在:${TBDIR}找到MyDir目录”
cd“$TBDIR”
其他的
echo“未找到MyDir程序目录!”
echo“错误的目录路径:${TBDIR}”
出口1
fi
但这确实有效:
#/bin/bash
#Cygwin ism:没有引用!
TBDIR=/cygdrive/c/Program\Files\\(x86\)/MyDir/
如果[-d“${TBDIR}”];然后
...
据我所知,目前还没有已知的解决方法使用
cygpath
,可以正确处理bash脚本上下文中的空格,但可以在脚本中使用引号。我喜欢的方法是:cd C:
要获得类似linux的感觉,请执行以下操作:
ln -s /cygdrive/c/folder ~/folder
然后像这样使用:~/folder/。
$cdc:\
(看到此行时按enter键)
您现在在C驱动器中。您也可以使用
cd C://
,并确保/cygdrive/C
中和之后没有空间。请注意,这会阻止您将文件/目录命名为C
,并能够正常引用它们。我最近安装了MSYS2,这是默认行为,由于/cygdrive
实际上不起作用…对cd e:
有效,提示将是/cygdrive/e
谢谢@koenigunther,它起作用了!但更改目录的速度有点慢。有没有一种方法可以像使用quote一样让它更快?e、 g.cd“C:\Python31\sip”
之所以使用
,是因为行尾的反斜杠转义了换行符。。。