精华内容
下载资源
问答
  • Windows硬链接 软链接 符号链接 快捷方式 2 years ago scz 阅读: 13,081 Windows支持4种”链接”机制,分别是shortcut、hard link、junction point、symbolic link。本文针对这4种机制进行简要介绍,可作为速...

    Windows硬链接 软链接 符号链接 快捷方式

    Windows支持4种”链接”机制,分别是shortcut、hard link、junction point、symbolic link。本文针对这4种机制进行简要介绍,可作为速查手册存在。

    先吐个槽,天朝很多与本问题相关的技术文章,在术语层面相当混乱,作者的一知半解以及不使用规范术语,给本就容易混淆的概念带来更大的误导。

    展开全文
  • Windows支持4种”链接”机制,分别是shortcut(快捷方式)、hard link(硬链接)、junction point(软链接)、symbolic link(符号链接)。接下来我们一起来看看他们的区别: 1)shortcut/快捷方式 以.lnk文件方式...

    Windows支持4种”链接”机制,分别是shortcut(快捷方式)、hard link(硬链接)、junction point(软链接)、symbolic link(符号链接)。接下来我们一起来看看他们的区别:

    1)shortcut/快捷方式

    以.lnk文件方式存在,适用于Explorer等应用程序。

    非NTFS内置机制,从Win95开始得到支持。FAT32支持。

    同时适用于文件、目录,只能使用绝对路径。

    可以跨盘符,可以跨主机,可以使用UNC路径、网络驱动器。

    本身有文件,可以复制,移动等操作。

    文件大小仅有几百字节, 跟原文件大小无关,文件类型是.lnk。

    删除shortcut,不影响target。

    2)(file)hard link

    NTFS内置机制,从Windows NT4开始得到支持。FAT32不支持。

    只适用于文件,只能使用绝对路径。

    hard link与targetfile必须位于同一volume,可以简单理解成不能跨盘符。

    在Explorer中删除hard link,不影响targetfile。

    删除target file,不影响hardlink。事实上由于hard link的语义,此时剩下的

    hardlink就是原始数据的唯一访问点。

    本身无文件,为文件创建多入口。

    指令:mklink /D to from

    3)(directory)junction point/softlink/reparsepoint

    NTFS内置机制,从Windows2000/XP开始得到支持。

    只适用于目录。Vista的"C:\Documents and Settings\"是指向"C:\Users\"的junctionpoint,这样一些使用了硬编码"C:\Documents and Settings\"的老程序可以在Vista上正常工作。

    只能使用绝对路径。即使创建junction point时使用了相对路径,保存到NTFS中时将隐式转换成绝对路径。

    junction point必须与target directory位于同一local computer,可以简单理解成不能跨主机。不能使用UNC路径;假设Z是通过网络映射生成的盘符,同样不适用于Z。

    在local computer范围内,可以跨盘符。

    删除target directory,junction point仍将存在,但失效了,变得不可用。这个很好理解,因为此时junction point指向不存在的目录。

    对交接点内文件和子目录的“建立、删除、修改”等操作都被映射到对应的目录中的文件和子目录上,对交接点的“复制、粘贴、剪切、配置 ACL”,只会影响此交接点,在同一卷内移动交接点,只会影响此交接点,但在不同卷间移动交接点,会将此交接点转换为正常目录,并且交接点对应目录下的所有内容都会被移动。

    交接点(Junction),也称为“再分析点”,是 NTFS 3.0 及以上文件系统(Windows 2000 及以上系统)的特性,它是链接本地目录(可跨卷)的访问点,通过交接点的操作都会被系统映射到实际的目录上。通过建立交接点,可以在保证一个目录实例(目录的一致性)的前提下,允许用户或程序从本地文件系统中的多个位置访问此目录。

    指令:mklink /J to from

    4)symbolic link

    symbolic link不是softlink。

    NTFS内置机制,从Vista开始得到支持。

    符号链接(Symlink,Softlink)是对文件或目录的引用,实际上符号链接本身是一个“记录着所引用文件或目录的绝对或相对路径”的特殊文件,通过符号链接的操作都会被重定向到目标文件或目录。对符号链接和快捷方式的“读、写、遍历”等操作都会被重定向到目标文件或目录,但对它们的“复制、删除、移动、配置 ACL”等操作只针对自身。

    同时适用于文件、目录。这是一种超级shortcut,文件大小为0字节和不占用空间。

    可以使用相对、绝对路径。假设创建symbolic link时使用了相对路径,保存到NTFS中的就是相对路径,不会隐式转换成绝对路径。

    可以跨盘符,可以跨主机,可以使用UNC路径、网络驱动器。

    在Explorer中删除symboliclink,不影响target。

    删除target,symboliclink仍将存在,但失效了,变得不可用。

    文件类型是.SYMLINK

    它们可以像普通文件一样操作,但所有对符号链接的操作都实际作用于目标对象。符号链接对用户而言是透明的,符号链接看上去和普通的文件和文件夹没有区别,操作方法也一模一样。

    对符号链接和快捷方式的“读、写、遍历”等操作都会被重定向到目标文件或目录,但对它们的“复制、删除、移动、配置 ACL”等操作只针对自身,符号链接不但可以应用于本地系统,还可以应用 UNC 路径。

    创建符号链接不仅可以当作快捷方式使用,最重要的是重定向链接符可以被程序读取然后重定向真正的位置,这是快捷方式无法做到的。

    指令:mklink /D to from

    展开全文
  • -------------------------------------------------------------------------- 1) shortcut/快捷方式 以.lnk文件方式存在,...使用del删除软链接,会删除链接目标文件,使用rmdir来删除,或者用资源管理器删除。
    --------------------------------------------------------------------------
    1) shortcut/快捷方式
    
    以.lnk文件方式存在,适用于Explorer等应用程序。
    
    非NTFS内置机制,从Win95开始得到支持。FAT32支持。
    
    同时适用于文件、目录。
    
    只能使用绝对路径。
    
    可以跨盘符,可以跨主机,可以使用UNC路径、网络驱动器。
    
    删除shortcut,不影响target。
    --------------------------------------------------------------------------
    2) (file) hard link
    
    假设本文读者具有*nix基础,此处不做hard link的语义解释。
    
    NTFS内置机制,从Windows NT 4开始得到支持。FAT32不支持。
    
    只适用于文件。
    
    只能使用绝对路径。
    
    hard link与target file必须位于同一volume,可以简单理解成不能跨盘符。
    
    在Explorer中删除hard link,不影响target file。
    
    删除target file,不影响hard link。事实上由于hard link的语义,此时剩下的
    hard link就是原始数据的唯一访问点。
    
    相关Win32 API:
    
    CreateHardLink()
    CreateHardLinkTransacted()
    
    创建:
    
    mklink /H "hard link name" "target file"
    fsutil.exe hardlink create "hard link name" "target file"
    
    查看:
    
    fsutil.exe hardlink list "hard link name"
    fsutil.exe hardlink list "target file"
    
    二者效果一样,hard link的语义本就如此。
    --------------------------------------------------------------------------
    3) (directory) junction point/soft link/reparse point
    
    junction point也叫soft link,这是微软官方文档里说的:
    
    Hard Links and Junctions
    https://msdn.microsoft.com/en-us/library/windows/desktop/aa365006
    
    junction point的底层机制是NTFS的reparse point:
    
    Reparse Points
    https://msdn.microsoft.com/en-us/library/windows/desktop/aa365503
    
    Junction v1.06
    http://www.sysinternals.com
    http://technet.microsoft.com/en-us/sysinternals/default.aspx
    https://technet.microsoft.com/en-us/sysinternals/bb896768
    
    How to create and manipulate NTFS junction points
    https://support.microsoft.com/en-us/kb/205524
    
    NTFS内置机制,从Windows 2000/XP开始得到支持。
    
    只适用于目录。Vista的"C:\Documents and Settings\"是指向"C:\Users\"的
    junction point,这样一些使用了硬编码"C:\Documents and Settings\"的老程序可
    以在Vista上正常工作。
    
    只能使用绝对路径。即使创建junction point时使用了相对路径,保存到NTFS中时将
    隐式转换成绝对路径。
    
    junction point必须与target directory位于同一local computer,可以简单理解成
    不能跨主机。不能使用UNC路径;假设Z是通过网络映射生成的盘符,同样不适用于Z。
    在local computer范围内,可以跨盘符。
    
    在Explorer中删除junction point,有两种情况。对于Windows 2000/XP/2003,会同
    步删除target directory,这真是一个奇葩的行为。注意,我们强调,在Explorer中
    删除,高版本的Total Commander没有这个奇葩行为。对于Vista及之后版本,不影响
    target directory,这才是人类所能理解的行为。
    
    删除target directory,junction point仍将存在,但失效了,变得不可用。这个很
    好理解,因为此时junction point指向不存在的目录。
    
    diskmgmt.msc
        右键选中某volume
            更改驱动器号和路径
                添加
                    装入以下空白NTFS文件夹中
    
    这个功能用的就是junction point机制,还可以用mountvol.exe完成操作。
    
    创建:
    
    mklink /J "junction point name" "target directory"      // 生成的Reparse Data相比junction.exe要多
    linkd.exe "junction point name" "target directory"      // Windows Resource Kits
    
    查看:
    
    dir /A:L /S "path"
    fsutil.exe reparsepoint query "junction point name"     // 有Reparse Data的16进制转储
    linkd.exe "junction point name"                         // 不能查看junction.exe生成的"junction point"
    
    删除:
    
    fsutil.exe reparsepoint delete "junction point name"    // 不建议使用
    linkd.exe "junction point name" /D                      // 可以删除junction.exe生成的"junction point"
    
    它这个行为不是我们期望的效果,比如"target directory"下有普通文件,上述命令
    会删除"junction point"下的普通文件,但不会删除"junction point",同时
    "target directory"下的普通文件仍然存在。这个效果我不能理解。在Explorer中操
    作无法达到这种效果。
    
    sysinternals的junction.exe:
    
    junction.exe "junction point name" "target directory"   // 创建
    junction.exe "junction point name"                      // 查看
    junction.exe -q -s "path"                               // 递归查看
    junction.exe -d "junction point name"                   // 删除
    
    我猜junction.exe提供-d参数,就是因为Windows 2000/XP/2003的Explorer奇葩行为,
    这个-d不影响target directory。
    
    示例:
    
    "dir /A:L /S c:\
    2009/07/14  13:08    "JUNCTION"     Documents and Settings [C:\Users]
    
    "junction.exe "C:\Documents and Settings"
    
    C:\Documents and Settings: JUNCTION
       Print Name     : C:\Users
       Substitute Name: C:\Users
    
    "junction.exe -q -s c:\
    
    \\?\c:\\Documents and Settings: JUNCTION
       Print Name     : C:\Users
       Substitute Name: C:\Users
    --------------------------------------------------------------------------
    4) symbolic link
    
    Symbolic Links
    https://msdn.microsoft.com/en-us/library/windows/desktop/aa365680
    
    symbolic link不是soft link,不要跟着SB瞎起哄。
    
    NTFS内置机制,从Vista开始得到支持。
    
    同时适用于文件、目录。这是一种超级shortcut。
    
    可以使用相对、绝对路径。假设创建symbolic link时使用了相对路径,保存到NTFS
    中的就是相对路径,不会隐式转换成绝对路径。
    
    可以跨盘符,可以跨主机,可以使用UNC路径、网络驱动器。
    
    在Explorer中删除symbolic link,不影响target。
    
    删除target,symbolic link仍将存在,但失效了,变得不可用。
    
    相关Win32 API:
    
    CreateSymbolicLink()
    CreateSymbolicLinkTransacted()
    
    创建:
    
    mklink "file symbolic link name" "target file"
    mklink /D "directory symbolic link name" "target directory"
    
    注意不指定/D时创建file symbolic link,指定/D创建directory symbolic link。
    --------------------------------------------------------------------------
    

    转载自http://blog.nsfocus.net/shortcuthard-linkjunction-pointsymbolic-link/
    侵删,二转请依照原文条件转载

    【注意】绝对不能使用del删除软链接,会删除链接目标文件,使用rmdir来删除,或者用资源管理器删除。

    展开全文
  • YASU 不能在新版本DT下使用,提示找不到deamon.exe,只需创建硬链接如下即可解决: fsutil hardlink create "C:\Program Files\DAEMON Tools Lite\daemon.exe" "C:\Program Files\DAEMON Tools Lite\DTLite.exe" ...

    YASU 不能在新版本DT下使用,提示找不到deamon.exe,只需创建硬链接如下即可解决:

     

    fsutil hardlink create "C:\Program Files\DAEMON Tools Lite\daemon.exe" "C:\Program Files\DAEMON Tools Lite\DTLite.exe"

     

     

    关于硬链接,http://technet.microsoft.com/en-us/library/cc788097(WS.10).aspx

    转载于:https://www.cnblogs.com/Sunwayking/articles/1643013.html

    展开全文
  • windows生成硬链接

    2017-08-16 11:08:57
    因工作电脑需要同时使用pl/sql和toad工具 需要同时配置32位和64位oracle client 如此增加了维护tnsnames.ora的复杂程度 使用windows硬链接可以减少工作量,每次只修改源文件即可 配制...
  • windows文件硬链接

    2013-07-12 03:20:19
    可以copy链接,尤其适用于dropbox,比如你想把其他地方的文件放到dropbox上,可以利用此软件,做一个链接
  • 在Linux 系统中,链接是一种文件共享的方式,它分为软链接和硬链接,对应的命令是ln什么是软连接软链接又叫符号链接, 它类似于 windows系统中的快捷方式,常用于将目录层次较深的文件链接到比较容易访问的目录中创建...
  • Windows 中安装应用程序,通常安装向导会提示是否创建桌面快捷...Linux 链接文件类似于 Windows 中的快捷方式,Linux 链接文件分为硬链接和软链接,不过在具体介绍 Linux 中的硬链接和软链接之前,先来看看 Linu...
  • windows硬链接创建

    2020-08-04 21:11:17
    mklink/d 创建目录 原目录 删除链接: rmdir 创建目录 必须用rmdir,否则会删除原目录 mklink命令: /d:建立目录的符号链接符号链接(symbolic link) .../h:建立文件的硬链接(hard link) ...
  • 链接类似于windows 上的快捷方式但又不一样,Linux上的链接分为两种,就是标题你所看的——软链接和硬链接,首先我们创建一个文件用于我们下面的测试。用命令 touch 创建 test.txt文件。用 echo 命令向test.txt填入...
  • windows系统创建软硬链接 创建链接 D:\>mklink 创建符号链接。 MKLINK [[/D] | [/H] | [/J]] Link Target /D 创建目录符号链接。默认为文件 符号链接。 /H 创建硬链接,而不是符号链接。 /J ...
  • Windows下创建软硬链接

    2019-04-13 08:47:14
    硬链接:只要文件本身或者任意一个硬链接存在,则文件始终存在。 软链接:只要源文件存在,则符号链接有效;源文件不存在,符号链接无效。软链接,用符号S表示,可以代表Soft(软),也可以代表Symbol(符号)。 软...
  • 输入代码:mklink /d F:\ D:\pdf mklink /d 是命令语句,空格,接着是放置硬链接的位置,空格,再是目标文件夹。  
  • mklink是windows系统下创建符号链接和硬链接的命令工具,它是一个很好的解决文件系统问题的工具。使用它需要管理员权限。 首先,先来介绍下mklink这个命令,可以看下下面的截图: 例子: mklink D:/outfolder/...
  • 关于Windows中的硬链接

    2018-01-20 22:16:00
    linux中使用硬链接 ln a.txt b.txt 查看硬链接 ls -il 关于硬链接磁盘空间的占用情况 http://www.mamicode.com/info-detail-1914045.html 记得使用du -h;ll -h   mklink /h 0...
  • Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。inode文件系统要想真正了解软硬链接区别必须要简单了解下inode文件系统。我就简单介绍下:...
  • 首先简单理解一下硬链接和符号链接(软链接)的区别(此文中的符号链接和软链接指同一概念): 硬连接指向的是节点(inode),而软连接指向的是路径(path) 。 最初的文件名与所有的硬链接地位是对等的,比如为文件 a...
  • Windows中的硬链接和软链接: 硬链接Windows NT4开始,NTFS文件系统引入了HardLink这个概念,它让一个文件可以拥有多个访问路径。 如上图,左边为链接,右边为真正的文件。删除链接并不会删除源数据文件。 示例...
  • 学校嘛,有些时候还是得逆逆上网客户端啥的,并且学校的不少工作,这Windows的需求还是挺强的,之前Win10的体验并不是太好,不过时隔这么久,打算从7升级到10了,恰好系统也该换了。 首先是命令行的关注,在家里使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,383
精华内容 553
关键字:

windows硬链接