我们相信:世界是美好的,你是我也是。 来玩一下解压小游戏吧!

软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。本文对于主流操作系统下,软链接的实现做个总结。

苏南大叔:命令行如何建立符号链接(软链接) ?mklink / ln - 命令行软链接
命令行如何建立符号链接(软链接) ?mklink / ln(图3-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。测试环境:win10@22h2mac@13.7.6。在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。

windows mklink

windows环境下,也是可以生成软连接的(虽然很不常见)。可以用于在不影响软件功能的前提下,转移软件实体从系统盘到其它盘符。
例如:

mklink /d "c:\Servyou" "D:\tools2\Servyou"

这个操作和快捷链接很像,但是访问地址不变。

苏南大叔:命令行如何建立符号链接(软链接) ?mklink / ln - windows-mklink
命令行如何建立符号链接(软链接) ?mklink / ln(图3-2)

  • 第一个参数是被创建的快捷方式,第二个参数是实际的文件存储地址。
  • 第一个参数代表的位置,不能真实存在。否则就会报错。
  • 无论第二个参数存在与否,都不会影响第一个参数代表的快捷方式的建立。
  • 如果创建的是个目录的话,使用/d参数。

要是做文件的软连接的话,目前来看,和普通的快捷方式连接是一样的效果。参考命令:

mklink C:\link.txt d:\target.txt

mac ln

在类linux的世界里面,都是使用ln -s来实现软连接的。但是,参数和windows下面顺序是完全相反的。比如:在/Users/sunan/data/目录下,有个www目录,想把它提上去一层。命令如下:

ln -s /Users/sunan/data/www/ /Users/sunan/

它等价于:

cd /Users/sunan/
ln -s /Users/sunan/data/www/

苏南大叔:命令行如何建立符号链接(软链接) ?mklink / ln - mac-ln命令
命令行如何建立符号链接(软链接) ?mklink / ln(图3-3)

参考文章:

表格对比

系统命令第一个参数第二个参数
linuxln -s(已经存在)的原目标目录(文件)新的目标位置的【父位置】 (留空,当前目录即父位置)
windowsmklink /d新的目标目录位置原目录位置(不存在也可以)

题外话:windows cmder ln

windows下,使用cmder的豪华版的时候,也可以使用ln -s命令。但是,却一直没有执行成功。暂定后续讨论。效果看上去是个命令执行的时候,复制的效果。所以,就暂时不推荐在windows下使用ln -s了。

参考文章:

结语

苏南大叔的更多文章,请点击:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   win10