A. 如何在linux下创建硬链接软链接
在了Linux下创建硬连接和软连接(也就是符号连接)都是用ln命令,当使用ln命令时加上-s选项就表示创建的连接文件是一个软连接,如果使用ln命令时不带-s选项就表示创建的是一个硬连接。而ln命令的格式则是:ln 原文件 连接文件
比如如下命令是创建硬连接的,/home/testfile就是创建的硬连接文件,它连接到/root/testfile这个文件:
ln /root/testfile /home/testfile
下面的则是创建软连接的,这次/home/testfile是一个软连接文件:
ln -s /root/testfile /home/testfile
B. Linux 软连接和硬链接之间的区别
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
这里有两点要注意:
第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二,ln的链接又分软链接和硬链接两种,软链接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接 ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
ln指令用在链接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。
C. Linux下软链接和硬链接的区别是什么
要深入理解软链接和硬链接,那么得先理解文件系统;
所以我只能粗略解释下软链接和硬链接;
硬链接:大小和block以及inode号都相同; 那么说明他们根本就是同一个文件; 打个比方: 从上海坐飞机去北京, 飞机可以直飞北京, 也可以先去纽约转一圈到北京, 这个就不同的飞行路线就是路径, 但是目的都是相同的---北京(文件位置);;;
软链接: 大小和block以及inode号都不同, 那么说明他们根本就不是同一个文件, 那么软链接存放的是什么呢? 存放的就是如何从上海到北京的路线(比如是从上海到纽约然后目标是北京的路线); 所以它得先到上海然后才能坐飞机到北京;
从上面的飞机例子中可以得出一个特性: 硬链接必须是上海到北京; 即: 必须是同一个文件系统;
软件可以是其他地方到上海然后坐飞机到北京; 可以他可以在不同的文件系统;
stat filename 这个命令记住; 看看Inode号, 就能知道硬链接和软链接是什么了; Inode对于文件系统非常重要; Inode是一个文件的元数据, 如果相同的; 那么根本就是同一个文件;;;
所以硬链接不是文件的复制2份; 说实话我不知道快捷方式的原理, 因为我没有去解读过NTFS文件系统; 所以软链接是不是快捷方式我不好说, 但是软链接其实就是存放着另一个文件的路径的文件;;
D. 详解Linux系统中软连接和硬链接的区别与联系
(1)软链接可以跨越文件系统
,硬链接不可以
。实践的方法就是用共享文件把windows下的
aa.txt文本文档链接到linux下/root目录下
bb,cc
.
ln
-s
aa.txt
/root/bb
链接成功
。ln
aa.txt
/root/bb
失败
。
(2)关于
i节点的问题
。硬链接不管有多少个,都指向的是同一个i节点,会把
结点连接数增加
,只要结点的链接数不是
0,文件就一直存在,不管你删除的是源文件还是链接的文件
。只要有一个存在
,文件就存在
(其实也不分什么源文件和链接文件的
,因为他们指向都是同一个i节点的)。
当你修改源文件或者链接文件任何一个的时候
,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除链接文件对源文件无影响,但是删除源文件,链接文件就会找不到要指向的文件
。软链接有自己的inode,并在磁盘上有一小片空间存放路径名,但软链接文件没有属于自己的文件块.
软链接比较像windows下的快捷方式。
(3)软链接可以对一个不存在的文件名进行链接。
(4)软链接可以对目录进行链接。
备注:i节点
:它是unix内部用于描述文件特性的数据结构.我们通常称i节点为文件索引结点(信息结点).i节点
含有关于文件的大部分的重要信息,包括文件数据块在磁盘上的地址.每一个i节点有它自己的标志号,我们称为文件顺序号.i节点包含的信息
1.文件类型
2.文件属主关系
3.文件的访问权限
4.文件的时间截.
E. Linux软硬连接有啥区别
软连接是符号链接相当于Windows的快捷方式,注意存储应用的位置信息。硬连接通过索引节点连接,可以多个文件名指向同一索引节点,允许一个文件有多个有效路径,可以防止误删。
F. linux如何设置软连接
linux下的软链接类似于windows下的快捷方式。
实例:
ln-shttpd.confconfighttp
其中 httpd.conf 就是源文件,confighttp是链接文件名,其作用是当编辑confighttp
,实际上是链接编辑httpd.conf。
如果要删除软链接:
rm-rfconfighttp
这样只会删除confighttp链接文件,而不会删除源文件httpd.conf。
相对于软连接,还有硬链接,
建立硬链接命令:
lnhttpd.confconfighttp
硬链接文件相当于一个文件存储在两个位置,可以有效防止误删。
G. Linux中的硬链接和软连接
跨越不同的文件系统的含义其实是指跨越不同的分区,比如有两个分区,分别挂载在根目录/和用户目录/home,那被连接的文件就可以在根目录下的(比如说)/opt目录,而软连接(符号连接)文件则可以在/home的分区;如果是硬连接就不能在/home,只能(比如说)在/usr/local/bin之类的目录下(具体情况取决于对硬盘分区时的挂载点)。
H. linux中软链接和硬链接的区别与小结
硬链接的inode节点号和源文件完全相同,可以理解为一个文件有两个文件名。
软链接的inode节点号和源文件不同,软链接的数据块中记录的是源文件的路径。
举个形象些的例子,硬链接就像一个人有两个身份证,除了身份证的信息(文件名)不一样,他的数据(这个人)是一样的。
而软链接就像一个门卫,你联系这个门卫,他会带你到主人房子的地址,即使房子不在了,门卫还在,他依然会把你带到那个地址
I. linux软链接设置
linux中设置软链接如下:
只要在ln后面加上选项 –s,软链接就建立了
[[email protected] test]# ls -il
总计 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
[[email protected] test]# ln -s file1 file1soft
[[email protected] test]# ls -il
总计 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft -> file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
使用软链接的好处:
(1)软连接可以 跨文件系统 。
实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 。
(2)软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件对源文件无影响,但是删除 源文件,连接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名。
(3)软连接可以对一个不存在的文件名进行连接 。
(4)软连接可以对目录进行连接。
J. linux软连接和硬链接的区别
硬链接(hard link):A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。
软链接(soft link):A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。