先说软连接,一个认为这个比较好理解,一个也是因为柿子专挑软的捏啊,哈哈,创建一个软
连接的命令:【ln -s 源文件名 软连接文件名】,使用ls命令查看文件信息可以验证一下,对文
件和目录都可以创建软连接,在网上看到很多人说快捷方式这个比喻,个人认为比较形象,创建一
个软连接就是给指定的文件创建了一个快捷方式,里面只记录一个源文件的路径,使用的时候其实
就是间接的使用源文件,不考虑具体的实现,从使用的层面上就这么简单。如果源文件删除了,这
个软连接也就没有什么用了,因为他记录的路径下面已经没有文件或文件夹了,效果就和windows下
面的exe都没有了,你双击快捷方式的效果一样,正因为软连接只是记录一个路径,所以他可以跨文
件系统使用。
再说硬连接,创建一个硬连接的命令: 【ln -d 源文件名 硬连接文件名】。在Linux里面访
问的每个文件都有一个inode结点的东西,在这个东西里面有一个连接计数,软连接的时候不涉及这
个东西,如果对一个文件创建一个硬连接,则这个文件对应的inode的连接计数就加1,这个时候其
实这个inode对应的文件有两个名称可以进行访问,这两个名称现在是一样的,你可以使用任意一个
继续创建硬连接,所以创建的硬连接和源文件是一样的,共享同一个inode,如果删除了一个则连接
计数就减1,删不删除文件是根据连接的计数值来确定的,如果为0了,就删了,否则,删除只是连
接计数减1。硬连接不能跨文件系统创建,并且只能对文件创建,不能对目录创建硬连接。
-------------------------------------------------------------------------
linux技术手册中对“ln”命令的解释:
ln [options] sourcename [destname]
ln [options] sourcenames destdirectory
Create pseudonyms(links) for files, allowing them to be accessed
by different names. Links may be "hard" or "soft". A hard link
creates two names for the same file, and a soft, or symbolic, link
creates a second file which acts as a shortcut to the first.
The first form links sourcename to destname, where destname is usually
either a new filename or (by default) a file in the current directory
with the same name as sourcename. If destname is anexisting file, it
is overwritten; if destname is an existing directory,a link named
sourcename is created in that directory. The second form creats links
in destdirectory,each link having the same name as the file specified.
Options
-d,-F,--directory
Allow hard links to directories. Available to privileged users.
-s,--symbolic
Create a symbolic link. This lets you link across filesystems,
and also see the name of the link when you run ls -l(otherwise,
there's no way to know the name that a file is linked to).
阅读(1098) | 评论(0) | 转发(0) |