2、linux的硬链接不太好表述,最好看一下专业的名词解释。它的特点就是,链接文件和原始文件只要有一个存在,文件就会存在,不会消失。(你删除源文件,依然可以在连接文件里打开)但是软链接可以跨系统,这点硬链接不行。
软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。
链接文件甚至可以链接不存在的文件,这就产生一般称之为”断链”的现象,链接文件甚至可以循环链接自己。类似于编程语言中的递归。
软链接文件只是其源文件的一个标记,当删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但却不能查看软链接文件的内容了。
用例:
用ln -s 命令可以生成一个软连接,如下:
在对符号文件进行读或写 *** 作的时候,系统会自动把该 *** 作转换为对源文件的 *** 作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。
删除硬/软链接用rm softlink_file
或者unlink softlink_file
linux命令 - ln - 创建和删除软、硬链接在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。
链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。符号连接相当于Windows下的快捷方式。
一、硬链接
硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode。可以用:ln命令来建立硬链接。
语法:
ln [options] existingfile newfile(sexistingfile 待建立链接文件的文件,newfile是新创建的链接文件)
ln [options] existingfile-list directory
-f 建立时,将同档案名删除
-i 删除前进行询问
ln -s abc cde 建立abc 的软连接
ln abc cde 建立abc的硬连接,
用法:
第一种:为”existingfile”创建硬链接,文件名为”newfile”。
第二种:在”directory”目录中,为”existingfile-list”中包含的所有文件创建一个同名的硬链接。
常用可选[options] –f 无论”newfile”存在与否,都创建链接。-n 如果”newfile”已存在,就不创建链接。
下面举一些例子:
[root@rekfancom 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
[root@rekfancom test]# ln file2 file2hand
[root@rekfancom 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
[root@rekfancom test]#
注意在创建链接前,file1 显示的链接数目为1,创建链接后file1和file1hard的链接数目都变为2;file1和file1hard在inode号是一样的file1和file1hard显示的文件大小也是一样。可见进行了ln命令的 *** 作结果:file1和file1hard是同一个文件的两个名字,它们具有同样的索引节点号和文件属性,建立文件file1的硬链接,就是为file1的文件索引节点在当前目录上建立一个新指针。你可以删除其中任何一个,如rm file2 ,每次只会删除一个指针,链接数同时减一,当链接数减为0时,内核才会把文件内容从磁盘上删除。
还可以在不同目录,但同一文件系统中建立文件的硬链接。设file1、file2在目录/home/root/dir1中,下面的命令,在/home/root中建立file2的硬链接。
ln file2 /home/root/file2hard
下面的程序,是将dir1目录中所有文件,在目录dir2中建立硬链接
#mkdir dir2
#ln /home/root/dir1/ /home/root/dir2
如果使用了 ln –f existingfile newfile,如果newfile已经存在,则无论原来newfile是什么文件,只用当前用户对它有写权限,newfile就成为exisitngfile的硬链接文件。
尽管硬链接节省空间,也是Linux系统整合文件系统的传统方式,但是存在一下不足之处:
(1)不可以在不同文件系统的文件间建立链接
(2)只有超级用户才可以为目录创建硬链接。
二、软链接(符号链接)
软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。
建立软链接,只要在ln后面加上选项 –s,下面举个例子
[root@rekfancom 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
[root@rekfancom test]# ln -s file1 file1soft
[root@rekfancom 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
从上面链接后的结果可以看出来软链接与硬链接,区别不仅仅是在概念上,在实现上也是不同的。区别:硬链接原文件&链接文件公用一个inode号,说明他们是同一个文件,而软链接原文件&链接文件拥有不同的inode号,表明他们是两个不同的文件;在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系;链接数目是不一样的,软链接的链接数目不会增加;文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的,这用强调,因为是等同的嘛,而这里软链接显示的大小与原文件就不同了,file1大小是48B,而file1soft是5B,这里面的5实际上就是“file1”的大小。
总之,建立软链接就是建立了一个新文件。当访问链接文件时,系统就会发现他是个链接文件,它读取链接文件找到真正要访问的文件。
在不同系统之间建立软链接、对目录建立链接,这里就不举例了,读者可以自己去尝试,我也是在不断实践中学习的。
当然软链接也有硬链接没有的缺点,因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了~~,而硬链接就没有这个缺陷,你想怎么移就怎么移(呵呵);还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。
补充一下:可以通过symlink来查看链接文件,可以用 man symlink来学习。
三、删除链接
有创建就有删除
rm -rf symbolic_name 注意不是rm -rf symbolic_name/
[root@rekfancom test]# ls -il
总计 0
1491138 -rw-r–r– 1 root root 0 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
[root@rekfancom test]# rm -rf file1soft
[root@rekfancom test]# ls -il
总计 0
1491138 -rw-r–r– 1 root root 0 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
[root@rekfancom test]#
————————————
linux 软连接和硬链接的区别:
————————————
4点不同 :
(1)软连接可以 跨文件系统 ,硬连接不可以 。
实践的方法就是用共享文件把windows下的 aatxt文本文档连接到linux下/root目录 下 bb,cc ln -s aatxt
/root/bb 连接成功 。ln aatxt /root/bb 失败 。
(2)关于 I节点的问题 。硬连接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加 ,只要结点的连接数不是 0,文件就一直存在 ,不管你删除的是
源文件还是 连接的文件 。只要有一个存在 ,文件就 存在 (其实也不分什么 源文件连接文件的 ,因为他们指向都是同一个 I节点)。 当你修改源文件或者连接文件
任何一个的时候 ,其他的 文件都会做同步的修改 。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件 对源文件无影响,但
是 删除 源文件,连接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名
(3)软连接可以对一个不存在的文件名进行连接 。
(4)软连接可以对目录进行连接。
备注:I节点 :它是UNIX内部用于描述文件特性的数据结构我们通常称I节点为文件索引结点(信息结点)i节点 含有关于文件的大部分的重要信 息,包括文件数据块在
磁盘上的地址每一个I节点有它自己的标志号,我们称为文件顺序号I节点包含的信息 1文件类型 2文件属主关系 3文件的访问权限 4文件的时间截
Note:
硬链接看做是文件的副本
软连接看做是文件的快捷方式#建立软链接
mv /data/ftp /data2/
ln -s /data2/ftp /data/ftp
#删除软连接
#当删除链接文件时,如果不小心会把原始文件删掉
rm /data/ftp
#只是少了一个“ / ” 删除的 就是链接文件, 也就是在文件的最后不要加上"/"
结论:
在删除文件时要小心
在删除软链接文件时,小心使用 Tab 建,一定不要在目录后面加斜扛"/"
去除win10快捷方式小箭头方法
新建一个txt文本文档,然后把以下命令复制到其中:
reg add “HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Icons” /v 29 /d “%systemroot%system32imageresdll,197″ /t reg_sz /ftaskkill /f /im explorerexe
attrib -s -r -h “%userprofile%AppDataLocaliconcachedb”
del “%userprofile%AppDataLocaliconcachedb” /f /q
start explorer
pause
保存之后,把这个文本文档重命名为后缀扩展名为bat的批处理文件,然后运行它即可
问题一:什么是软连接 硬连接和他所要连接的文件共有同一inode和数据块,它虽然不占用空间,但是删除硬链接会把他所要连接的文件也删除inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘 )被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。 *** 作系统根据指令,能通过inode值最快的找到相对应的文件。(用一本书形容,存储设备或分区就相当于这本书,Block相当于书中的每一页,inode 就相当于这本书前面的目录)(事实上就是删除原文件)。软连接跟Windows下的链接相类似,删除它不会影响原文件的。 硬链接(文件)
inode相同的文件是硬链接文件;
硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode。可以用:ln命令来建立硬链接。例]
[[email protected] ~]$ cd coffee
[[email protected] coffee]$ ls -il软链接(符号链接):
软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。
如果给ln命令加上- s选项,则建立软链接。如果[链接名]已经存在但不是目录,将不做链接。[链接名]可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许它与“目标”不在同一个文件系统中。如果[链接名]是一个已经存在的目录,系统将在该目录下建立一个或多个与“目标”同名的文件,此新建的文件实际上是指向原“目标”的符号链接文件。
例子:
$ ls -il
13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38 file1
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 fil丁2
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2hard
问题二:混凝土管软连接是什么意思 混凝土出料软管
问题三:硬链接和软链接的区别 硬链接就是同一个文件使用了多个别名(他们有共同的 inode)。
硬链接可由命令 link 或 ln 创建,如:
link oldfile newfile ln oldfile newfile由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。
硬链接不能对目录进行创建,只可对文件创建。
软链接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊。
软链接可对文件或目录创建。
ln -s oldfile softlinkln -s olddir softlinkdir加-s选项表示创建的是软链接。
删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。
要更深入地了解,请参见IBM网站:
ibm/links/
问题四:软链接,硬链接,符号链接的区别,分别代表什么意思?有什么区别,并用linux命令表示下 符号链接=软链接
具体 请看:blogs/3
问题五:管道 软连接 硬连接是什么意思 软连接就是用橡胶或帆布或软塑料连接,如风机管道连接一埂都用帆布做个筒,一端扎在风机上,一端扎在管道上,主要是起管道减振作用。
硬连接使用法兰或焊接的方式连接
问题六:软连接和硬链接分别是什么意思,怎么个接法啊? 你指linux吗?硬连接一个文件有多个文件名,
软连接就是产生一个新文件,这个文件指向另一个文件的位置,
硬连接必须在同一文件系统中,而软连接可以跨文件系统
hard link :ln file1 file2
soft link:ln -s file1 file2
问题七:钢结构的软连接是什么 你说的是铰接么
问题八:电机与液压泵之间的连接是软连接,什么叫软连接 电机与具体负载连接主要有刚性连接和软连接这两种方式。
刚性连接就是电机轴承与负载轴承相对,用螺栓直接连接。
软连接就是采用一对塑料接头(软连接,也叫靠背轮)各自连接负载及电机轴承,通过靠背轮的咬合来驱使负载运行。相对刚性连接来说,振动更小、保护设备、易于更换等优点。但易损坏(如中心未对正、基础不均匀沉降等等),所以要经常更换。电机配件商店一般都有卖的,而且很便宜。
纯手打,如有帮助望采纳!
问题九:卫生间的软连接是什么! 就是水和手盆中间的软水管 。
问题十:汽车软连接是什么?多少钱? 汽车软连接是汽车领域中重要的连接构件。利用其自身特有的气密性,且在成型时采用双层液压,以水为介质,制出的波纹管更有利于汽车尾气的排放,将发动机尾气造成的环境污染降到最低点。用来吸收排气系统的震动,防止过分的热变形,从而提供舒适的乘车感。不锈钢SUS304用作挠性节的主要材料,它可承受高温和盐分的腐蚀。波纹管内部可配置网套和伸缩节,它能起到消除发动机噪声的作用。因而,车用挠性节(汽车排气管波纹管)成为现代工业配套管中最理想的补偿元件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)