什么是相当于ln -s <target folder =“”> <link folder =“”/> unix symbolic link命令的窗口?</target>

时间:2013-06-22 01:46:24

标签: windows unix cmd symlink

我正在尝试按照以下教程为Twilio和App Engine库创建程序环境。

https://developers.google.com/appengine/articles/twilio

我很高兴,直到它说:

  

将Twilio库及其依赖项链接到您的项目中:

$ ln -s venv/lib/python2.7/site-packages/twilio .

$ ln -s venv/lib/python2.7/site-packages/httplib2 .

$ ln -s venv/lib/python2.7/site-packages/six.py .

我已经研究过,似乎我将使用

的内容
mklink /d venv\lib\python2.7\site-packages\twilio .

如果我理解正确,我基本上需要理解“.”代表什么,因为这是符号链接的目标? (不确定。)

我正在使用cmd.exe作为shell,并且真的可以使用比我更了解Unix的人的帮助。

修改

查看我的目录后,venv之后的路径是venv \ lib \ site-packages。在目录的那一点上已经存在Twilio和httplib2的文件夹。当时存在六个名为six.py的文件。

Unix命令的目的是创建从这些现有文件夹到工作目录的符号链接吗?因为它的作用告诉我我无法为Twilio和httplib2创建现有文件。 (venv \ lib \ site-packages目录中已有文件夹,它允许我为六个符号链接做一个符号链接,但它会递归地在整个六个文件夹中创建另外4500个图层。)

2 个答案:

答案 0 :(得分:9)

试试这个:

mklink /D .\ venv\lib\python2.7\site-packages\httplib2

注意:mklink [OPTION] LINK TARGET (与linux的ln -s相比,链接和目标被翻转)

  

Mklink命令语法:

     

MKLINK有3个选项/ D,/ H和/ J.您还需要指定路径   到新的符号链接和原始文件的路径或   。目录

     

/ D - 用于为目录创建符号链接(d为目录)

     

/ H - 用于创建硬链接(h代表硬链接)

     

/ J - 用于创建   目录连接(j为连接)

顺便说一句,总是喜欢mklink / D而不是mklink / J 。 Windows资源管理器将删除联结(后者)的全部内容,而在删除目录链接(前者)时,它将删除该链接。

.是当前目录(运行命令的位置)。在上面的示例中,我将其更改为.\以使其明确。

对于文件: Helpful link

如果您无法使用/D获得优惠,请使用硬链接(选项/H):

mklink /H .\six.py venv\lib\python2.7\site-packages\six.py

答案 1 :(得分:1)

'.'代表* nix-land和Windows中的当前文件夹。所以那些命令正在那里和那里做出符号链接 这些与说法相同:

ln -s venv/lib/python2.7/site-packages/twilio twilio

或者在Windows(Vista,7,2008及更高版本)中:

mklink /d twilio venv\lib\python2.7\site-packages\twilio 

,其中

  • twilio是创建
  • 的目标或链接
  • venv\lib\python2.7\site-packages\twilio是源目录

请记住mklink有相反的原因ln -s具有的目标语法。

ln是来源 - &gt;目标
mklink是目标 - &gt;源