熟悉Linux系统的同学都知道“硬链接”、“软连接”的概念及其方便的使用,其实自Windows2000之后的NTFS3.0版以来,Windows下也能支持这两个概念了。
硬链接:
在Windows 2000 及以上版本里可以使用 fsutil hardlink create
这个复杂的命令来创建一个硬链接,用法倒是很简单:
fsutil hardlink create <新文件名> <现有文件名>
也可以使用 GNU utilities for Win32
中的 ln
命令来创建,"GNU utilities for Win32 "是一些 GNU 工具在 Win32平台上的移植版本,非常好用
。另外Cygwin 里的 ln 也可以创建 硬链接(但创建符号链接时 会以‘快捷方式’出现)。
如果你想在自己程序里创建硬链接,只需要一个很简单的Windows API 函数:
BOOL CreateHardLink(
LPCTSTR lpFileName,
LPCTSTR lpExistingFileName,
LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
前两个参数的意思就不用解释了,最后一个参数的用途暂时保留,必须为 NULL。
软连接:
而软连接(symbolic link),NTFS只支持对目录的符号链接,微软把它称作junction,对文件的符号链接,其实Windows平台的解决方案就是——“快捷方式”,不过这与Linux下的 symbolic link不是一个层次上的东西,前者是应用层的功能,后者是底层文件系统的功能。
Windows提供了 MOUNTVOL
命令,可以把一个卷链接到另一个卷的目录下,即只能对某个卷的根目录创建 symbolic link。幸运的是我们可以使用 Sysinternals 提供的带有源代码的免费命令行工具 junction.exe 来全功能的完成对 NTFS symbolic link 的管理
SysInternals 套件
,里面包含了大量的实用程序,其中 junction.exe
就是用来管理符号连接的,(更多的关于SysInternals使用工具的信息请参看:http://technet.microsoft.com/zh-cn/sysinternals/bb545046.aspx
)。
另外,在 Windwos 2000 Resource Kit 里提供了一个命令行工具 linkd.exe 来完成这件事。不过它的查看 symbolic link 信息的功能不如 junction,因为不支持通配符和子目录扫描。
以下是junction.exe的简单使用方法:
要创建一个符号连接:
junction 连接名称 要连接哪一个目录
例如:
C:\>junction test_www d:\www
Junction v1.05 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2007 Mark Russinovich
Systems Internals - http://www.sysinternals.com
Created: C:\test_www
Targetted at: d:\www
用资源管理器打开 c:\test_www 可以看到和 d:\www 一样的内容。修改一边的文件,另一边的也会同步更新(其实本就没有两份,符号连接就像一个映射)。
要删除一个符号连接:
C:\>junction -d c:\test_www
Junction v1.05 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2007 Mark Russinovich
Systems Internals - http://www.sysinternals.com
Deleted c:\test_www.
关于符号链接,需要注意的是
,Explorer 对待 symbolic link 有一个很奇怪的行为。那就是,在 Explorer 里一个 symbolic link 跟被它 link 的目录没有区别,删除这个 symbolic link 将会删除被 link 的目录下的所有文件!
分享到:
相关推荐
此外,NTFS支持硬链接和软链接,硬链接允许不同文件名指向同一个MFT条目,而软链接则创建了一个指向其他文件的引用,类似于快捷方式。 在NTFS中,文件的存储是基于簇的,最小分配单位是簇。由于磁盘空间的分配是...
8. **硬链接和符号链接**:NTFS支持硬链接(多个文件名指向同一数据块)和符号链接(类似于Unix的软链接),提供了灵活的文件组织方式。 9. **磁盘配额**:管理员可以为NTFS分区设置磁盘配额,限制用户使用的磁盘...
4. **链接解析**:处理硬链接和软链接,理解文件的不同访问路径。 5. **目录结构重建**:根据MFT记录中的信息,构建出完整的目录树结构。 6. **查询支持**:提供一定的查询功能,如按文件名、大小或时间戳查找文件。...
2. **磁盘格式**:目标磁盘分区必须采用NTFS格式,因为NTFS文件系统支持软链接功能,而FAT32等其他文件系统可能不支持。 ##### 安装步骤 1. **运行安装程序**:双击安装包`NtfsLinksSetup.msi`启动安装向导。 2. **...
这种链接方式在Linux系统中非常常见,其中硬链接和软链接(符号链接)是常用的两种链接形式。而Windows操作系统同样提供了类似的功能,尽管它的方式和Linux略有不同,但同样有效且实用。 首先,需要明确的是,链接...
Junction.exe是Windows系统的一个实用程序,由微软开发,主要用于创建和管理NTFS文件系统中的目录 junctions,即一种特殊的符号链接类型。它允许用户将一个目录路径映射到另一个不同的位置,这对于组织和优化磁盘...
- **$SYMBOLIC_LINK** 和 **$REPARSE_POINT** 支持符号链接和重解析点,用于软链接和硬链接。 - **$EA_INFORMATION** 和 **$PROPERTY_SET** 存储扩展属性和属性集信息,如NTFS的EFS加密属性。 **重要属性解析:** ...
7. **文件的链接**:硬链接和软链接是文件系统中两个重要概念。硬链接是指向相同inode的不同文件名,而软链接(符号链接)则是指向另一个文件的路径。 8. **文件系统挂载**:在多分区或多操作系统环境下,文件系统...
6. `junction`是一个第三方工具,由Mark Russinovich开发,用于创建和管理NTFS文件系统的软链接和硬链接。虽然`mklink`命令已经足够完成大部分任务,但`junction`工具提供了更高级的功能,如批量创建、查看和删除...
- 硬链接和符号链接:硬链接允许多个文件名指向同一个文件,而符号链接则类似于软链接,允许创建指向其他文件或目录的指针。 - 压缩和加密:NTFS提供内置的文件和文件夹压缩功能,可以节省磁盘空间。同时,EFS...
在提供的文档“NTFS文件解析系统的简单分析.doc”中,可能会详细讲解NTFS的结构、如何读取和写入文件、如何管理MFT、以及如何实现权限控制和加密等功能。而“www.pudn.com.txt”可能包含更多参考资料链接或者对NTFS...
除此之外,NTFS还支持多数据流、Unicode、通用索引、动态坏簇重新映射、POSIX支持、文件数据压缩、日志记录、用户磁盘限额、硬链接与软链接、链接跟踪、加密和碎片整理等功能。 NTFS的高级特性使得其成为管理大型...
NTFS支持文件的硬链接和软链接,硬链接允许多个文件名指向同一数据块,而软链接则创建了一个指向另一个文件的指针,提供了灵活的文件管理方式。此外,NTFS的权限控制和安全特性,如ACL(Access Control List),使得...
此外,NTFS还支持硬链接和软链接,使得一个文件可以在文件系统中有多个入口,或者创建指向其他文件的指针。 5. **元数据**:NTFS提供了丰富的文件属性,如时间戳(创建、修改、访问时间)、文件权限、文件大小等。...
从这些文件中,我们可以学习到如何使用Windows API在NTFS文件系统上创建和管理符号链接,以及如何在C语言环境中构建和编译这样的程序。通过研究源代码,我们可以了解到如何处理NTFS特定的文件系统结构,如重分析点...
6. 文件链接(硬链接和软链接): - 硬链接:两个或更多个文件名可以共享同一个i节点,这意味着它们都是同一文件的不同入口。硬链接不能跨越文件系统。 - 软链接(符号链接):类似于Windows的快捷方式,指向另一...
1. **硬链接和符号链接**:硬链接允许文件有多个NTFS目录中的入口,而符号链接则类似Linux中的软链接,指向另一个文件或目录的位置。 2. **文件属性**:NTFS支持诸如压缩、索引、只读等额外的文件属性,方便管理和...
此外,NTFS还引入了其他高级特性,如文件压缩、文件加密(EFS,Encrypting File System)、文件和目录的权限继承、硬链接和软链接、文件属性扩展(如索引和搜索增强)、文件的权限审核等。这些特性使得NTFS成为了一...
4. 链接文件:分为软链接(符号链接)和硬链接。软链接类似Windows的快捷方式,删除原文件会导致链接失效;硬链接则共享相同的存储空间,删除一个文件不会影响其他硬链接。 5. 管道文件(FIFO缓存队列):用于进程间...
NTFS(New Technology File System)是Windows操作系统中最常用的一种文件系统,它提供了许多高级特性,如安全...开发者可以利用这些函数和结构体来解析和操作NTFS文件系统,进行数据读写、权限控制、文件恢复等操作。