软链接又叫符号链接,这个文件包含了另一个文件的路径名,可以是任意文件或目录,类似于windows系统中的快捷方式,但又有区别,下边就通过一个案例讲一下软连接:
source file 源文件夹
destination file 目标文件夹
Windows 创建软连接
在Win系统中,文件与文件夹创建软连接的方式是不一样的
为文件创建软连接:
mklink "X:\destination file\a.txt" "Y:\source file\a.txt"
给文件夹创建软连接
mklink /d "X:\destination file" "Y:\source file"
比如我有一个文件夹
E:\工作汇报用PPT素材\3D小人运动透明背景PNG图片
我想在F盘也生成这个文件
F:\工作汇报用PPT素材\
就可以用如下命令
mklink /d F:\工作汇报用PPT素材\ E:\工作汇报用PPT素材\3D小人运动透明背景PNG图片
此时我们可以看到E盘生成了这个文件,文件类型为普通文件,如果创建快捷方式,其文件类型为快捷方式,对于界面用户是没有区别的,区别在于对于编程用户,文件是额可以进行打开、修改、删除、保存的,但快捷方式不行,如下,我们在cmd下进入E:\工作汇报用PPT素材
发现软连接的文件可以进去,但是快捷方式是不能进去的,这个在写命令的时候很重要
LINUX创建软连接
LINUX奉行“一切皆文件”的原则,所以在创建软连接上,文件和文件夹没什么区别,命令统一为
ln -s X:/destination file/example Y:/source file/example
比如我想把/home/wpd/test/example这个文件(文件夹)链接到 /home/wpd ,执行如下命令
ln -s /home/wpd/test/example /home/wpd
则生成example文件(文件夹),其实际类型同原文件,我们可以链接一个文件夹测试一下
这里要注意,因为linux一切皆文件,所以不能创建文件名相同的两个文件和文件夹,这个和windows还是不同的
软连接不占用磁盘空间,并且双方任何一处修改,对端都会同步,而硬链接唯一不同的就是要占用磁盘空间,硬链接的命令为
Windows系统
为文件创建硬连接:
mklink /H "X:\destination file\a.txt" "Y:\source file\a.txt"
给文件夹创建硬连接
mklink /J "X:\destination file" "Y:\source file"
LINUX系统
ln X:/destination file/example Y:/source file/example