Win10 中的文件链接
来源:互联网 发布:it狂人类似 编辑:程序博客网 时间:2024/05/20 06:31
在 linux 系统里,通常可以用 ln
指令创建文件链接。而在windows中,其实也是有类似的指令,可以实现文件链接。
说明一下,我自己的电脑操作系统是win10,虽然理论上mklink能够在win7上使用,但是以下结论并没有在win7上面实践。
命令行指令为 New-Item
,别名 ni
, 具体可以查看 Microsoft Doc - New-Item 。
我自己实测的时候,发现这里面还是有一些坑,下面简单描述。
快捷方式 or 软链接 or 硬链接
我不懂太多术语,只是描述一下我在实测中感受到的他们的区别。
首先是扩展名:
“快捷方式” 拥有统一的扩展名 .lnk
,其对应的文件类型为 “快捷方式”,就我个人感觉,这玩意应该是windows特有的吧。
“软链接” 我认为没有自己的扩展名,我这么说,是感觉这东西还是源于 “*nix”系统,这些系统并不总是依靠文件扩展名来区分文件类型,没有扩展名的文件同样可以标记为 “Executable”,同样的功能在windows里实现会很蹩脚或无法实现。在我实测中,有时软链接的映像文件带了扩展名,反而无法正常打开(没错,我说的就是 可执行程序 的映像)。软链接的文件类型统一为 “.symlink”。
“硬链接” 我认为是要和源文件保持一致。硬链接的文件类型与源一致。
其次是 映像 和 源(目标文件) 之间的关系:
“快捷方式” 这东西按照windows的规则打开,执行,并且在一定程度上,能够传递参数。
“软链接” 这玩意就是一个影子吧,比 “快捷方式” 要更像是影子,创建了软链接后,可以注意到,映像文件是没有大小的,文件大小和占用空间始终是 0字节 。如果源文件是命令行程序,则命令行标题为映像文件名,而实际开启的进程名为源文件名。包括反向寻找进程文件,也会导向到源文件处。
“硬链接” 这个比较特殊,我认为确实是创建了一个 源文件的副本,而映像和源又能够保持同步,在一边的内容发生改变时,另一边能够同步这些变化。然而,只有 硬链接 能够在源文件被删除掉后,仍然拥有内容,能够被打开。如果源文件是可执行程序,那么,从映像文件启动时,该进程的WorkDirectory会默认设置为映像文件所在文件夹。
创建方法
利用 New-Item
创建
“快捷方式” 这个太方便了,基本就是windows给用户用的。创建的方法也有很多,比如按住alt键再用鼠标拖拽等,这里不细说。
“软链接” 使用 New-Item
指令为:
PS C:\>New-Item -ItemType SymbolicLink -Path C:\image -Target C:\source.txt
这样,就为 C:\source.txt
创建了一个名为 image
的软链接映像。双击这个名为 image
的文件,即可打开。
“硬链接” 使用 New-Item
指令为:
PS C:\>New-Item -ItemType HardLink -Path C:\image.txt -Target C:\source.txt
这样,就为 source.txt
创建了一个名为 image.txt
的硬链接映像。
“Junction” windows中文件与文件夹是完全不同的两种类型,创建文件夹链接不可以使用 HardLink
,但是可以使用 Junction
。
PS C:\>New-Item -ItemType Junction -Path C:\test_image -Target C:\test_source
利用 msys 创建
还有一个偏门的方法,就是利用msys中的指令集来创建,msys中是附带有linux指令集的,也就包含有 ln
这个指令。结果和上面的方法基本一致。
利用cmd创建
PowerShell和CMD使用的是不同指令集。CMD的指令理论上在win7上也能使用。在CMD中可以使用 mklink
指令来创建链接。直接敲入这个指令可以看到使用帮助信息:
C:\>mklink创建符号链接。MKLINK [[/D] | [/H] |[/J]] Link Target /D 创建目录符号链接。默认为文件符号链接。 /H 创建硬链接而非符号链接。 /J 创建目录链接。 Link 指定新的符号链接名称。 Target 指定新链接引用的路径(绝对或相对)。
引用
- Microsoft Doc - New-Item
- Win10 中的文件链接
- linux中的链接文件
- linux中的链接文件
- 系统编程中的文件链接
- debian远程桌面链接WIN10
- win10建立符号链接
- 点击UltraWebGrid单元格中的链接,下载文件
- uboot中的.lds链接文件解析
- g++编译链接文件基础中的基础
- 如何选择链接文件中的实例
- win10中的进程
- win10 UWP读写文件
- win10 打开hlp文件
- win10 uwp 关联文件
- win10隐藏\显示文件
- win10共享文件
- Win10 修改hosts文件
- win10局域网文件共享
- PullToRefresh+HorizontalScrollView+DrawerLayout
- STM32F072使用SD卡进行IAP升级
- 【干货分享】大数据计算服务MaxCompute使用教程
- S3C2440 gpio
- 自定义Toast
- Win10 中的文件链接
- Android中的链式调用
- ThinkPHP【系统常量与模板替换】
- 默默前行的livego--基于go语言的rtmp直播服务器
- Docker源码分析(二):Docker Client创建与命令执行
- 注解
- List集合去重复
- Leangoo常用功能简介
- 华为机试题-删除出现次数最少的字符