p.p1 { margin: 0; font: 12px "Helvetica Neue"; color: rgba(220, 161, 13, 1) }
p.p2 { margin: 0; font: 12px ".PingFang SC" }
p.p3 { margin: 0; font: 12px ".PingFang SC"; color: rgba(0, 0, 255, 1) }
p.p4 { margin: 0; font: 12px "Helvetica Neue"; min-height: 14px }
p.p5 { margin: 0; font: 12px "Helvetica Neue"; min-height: 15px }
p.p6 { margin: 0; font: 12px "Helvetica Neue"; color: rgba(220, 161, 13, 1); min-height: 14px }
p.p7 { margin: 0; font: 12px "Helvetica Neue" }
p.p8 { margin: 0; font: 12px ".PingFang SC Semibold"; color: rgba(0, 0, 0, 1) }
p.p9 { margin: 0; font: 12px "Helvetica Neue"; color: rgba(0, 0, 255, 1) }
p.p10 { margin: 0; font: 12px "Helvetica Neue"; color: rgba(251, 2, 7, 1) }
p.p11 { margin: 0; font: 12px "Helvetica Neue"; color: rgba(41, 199, 50, 1) }
p.p12 { margin: 0; font: 12px "Helvetica Neue"; color: rgba(41, 199, 50, 1); min-height: 14px }
p.p13 { margin: 0 0 2px; font: 14px ".PingFang SC" }
p.p14 { margin: 0 0 2px; font: 14px "Helvetica Neue" }
span.s1 { font: 12px ".PingFang SC"; color: rgba(0, 0, 0, 1) }
span.s2 { font: 12px "Helvetica Neue"; text-decoration: underline }
span.s3 { font: 12px "Helvetica Neue" }
span.s4 { font: 12px ".PingFang SC" }

参考链接:https://blog.csdn.net/qq_39498080/article/details/80048247

创建软连接,命令为:ln [选项] 源文件 目标文件  即把源文件连接到目标文件上

软链接和硬链接的区别:

  1. 软链接就是:“ln –s 源文件 目标文件”,只会在选定的位置上生成一个文件的镜像,不会占用磁盘空间,类似与windows的快捷方式。
  2. 硬链接ln 源文件 目标文件,没有参数-s, 会在选定的位置上生成一个和源文件大小相同的文件。

无论是软链接还是硬链接,文件都保持同步变化。

硬链接特征 软链接特征

1) 硬链接文件跟源文件拥有相同的i(inode)节点和存储block块,它们可以看作是同一个文件。
2) 可通过i节点进行识别(i节点相同)。
3) 链接文件和源文件必须在相同的分区,不能跨分区。
4) 不能针对目录创建硬链接。 (这个虽然Linux ln命令帮助说明里说可以用"ln -d"创建目录的硬链接,但是本人实测不可行,本人在网上搜索出来了一段详细解释说明, 具体说明请看文章最下边的"特别说明"。)
5) 修改任意一个文件,另外一个文件的内容都会改变。
6) 当源文件被删除时,硬链接文件还可以正常使用。

1) 软链接文件作用跟windows系统的快捷方式作用相同。
2) 软链接拥有自己的i节点和存储block块, 但是此数据块中保存的信息是源文件的i节点和文件名信息,并不会保存实际的文件数据内容。
3) 用"ll"命令查看时,软链接文件前面都是"lrwxrwxrwx", 其中第一位的字母"l"即表示此文件为软链接文件,软链接文件的真实权限取决于源文件的权限。
4) 修改任意一个文件,另外一个文件的内容都会改变。
5) 当源文件被删除时,软链接文件将不能使用。

 

扩展资料

软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。

链接文件甚至可以链接不存在的文件,这就产生一般称之为”断链”的现象,链接文件甚至可以循环链接自己。类似于编程语言中的递归。

软链接文件只是其源文件的一个标记,当删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但却不能查看软链接文件的内容了

用ln -s 命令可以生成一个软连接,如下:ln -s source_file softlink_file

在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。

删除硬/软链接用rm softlink_file 或者unlink softlink_file

举例:
  /var/www/html/qaweb/Uploads不存在,使用sudo ln -s /mnt/vpu_streams/testlogs /var/www/html/qaweb/Uploads命令后,会 Uploads -> /mnt/vpu_streams/testlogs
  如果/var/www/html/qaweb/Uploads目录存在,使用上述命令后,会Uploads/testlogs -> /mnt/vpu_streams/testlogs

实际操作:

前提:蓝色是命令,红色是报错信息,绿色是正常输出

命令 结果 说明

显示准备的数据

ll fw_result fw_result_ln

ls: fw_result_ln: No such file or directory

fw_result:

total 0

drwxr-xr-x    5 piaoyu.qiu  staff   160  4 16 13:57 .

drwxr-xr-x@ 108 piaoyu.qiu  staff  3456  4 16 13:57 ..

-rw-r--r--    1 piaoyu.qiu  staff     0  4 16 13:57 log.html

-rw-r--r--    1 piaoyu.qiu  staff     0  4 16 13:57 output.xml

-rw-r--r--    1 piaoyu.qiu  staff     0  4 16 13:57 report.html

目标目录fw_result_ln不存在

ln -s fw_result fw_result_ln 建立连接

ll fw_result fw_result_ln     查看是否有连接建立

lrwxr-xr-x  1 piaoyu.qiu  staff  9  4 16 13:59 fw_result_ln -> fw_result

fw_result:

total 0

drwxr-xr-x    5 piaoyu.qiu  staff   160  4 16 13:57 .

drwxr-xr-x@ 109 piaoyu.qiu  staff  3488  4 16 13:59 ..

-rw-r--r--    1 piaoyu.qiu  staff     0  4 16 13:57 log.html

-rw-r--r--    1 piaoyu.qiu  staff     0  4 16 13:57 output.xml

-rw-r--r--    1 piaoyu.qiu  staff     0  4 16 13:57 report.html

成功建立链接,目标目录fw_result_ln上存在链接

unlink fw_result_ln  取消链接方式1

ll fw_result fw_result_ln 查看是否存在链接

ls: fw_result_ln: No such file or directory

fw_result:

total 0

drwxr-xr-x    5 piaoyu.qiu  staff   160  4 16 13:57 .

drwxr-xr-x@ 108 piaoyu.qiu  staff  3456  4 16 16:24 ..

-rw-r--r--    1 piaoyu.qiu  staff     0  4 16 13:57 log.html

-rw-r--r--    1 piaoyu.qiu  staff     0  4 16 13:57 output.xml

-rw-r--r--    1 piaoyu.qiu  staff     0  4 16 13:57 report.html

取消链接后,目标目录fw_result_ln不存在

rm -rf fw_result_ln  取消连接方式2

结果同上

取消链接后,目标目录fw_result_ln不存在

rm -rf fw_result_ln/  取消连接的错误方式

ll fw_result fw_result_ln 查看是否存在链接

cd fw_result_ln 

command2的结果:

ls: fw_result: No such file or directory

lrwxr-xr-x  1 piaoyu.qiu  staff  9  4 16 16:25 fw_result_ln -> fw_result

command3的结果:

-bash: cd: fw_result_ln: No such file or directory

链接便没有取消,且源文件被删除

原因:删除软链接 确实是用rm -fr xxxx,但是rm -rf xxxx/ 加了个/意味着删除文件夹

特别说明:

  1. 创建软链接时,如果软链接文件跟源文件不在同一个目录,那么源文件地址必须为绝对路径,否则创建出来的软链接无法使用。
  2. 不能针对文件创建硬链接。"linux系统中的硬连接有两个限制:不能跨越文件系统和不允许普通用户对目录作硬连接。

至于第一个限制,很好理解,而第二个就不那么好理解了。 我们对任何一个目录用ls -l 命令都可以看到其连接数至少是2,这也说明了系统中是存在硬连接的,而且命令ln -d 也可以让超级用户对目录作硬连接,这些都说明了系统限制对目录进行硬连接只是一个硬性规定,并不是逻辑上不允许或技术上的不可行。那么操作系统为什么要进行限制呢?如果引入了对目录的硬连接就有可能在目录中引入循环,那么在目录遍历的时候系统就会陷入无限循环当中。也许您会说,符号连接不也可以引入循环吗,那么为什么不限制目录的符号连接呢?原因就在于在linux系统中,每个文件(目录也是文件)都对应着一个inode结构,其中inode数据结构中包含了文件类型(目录,普通文件,符号连接文件等等)的信息,也就是说操作系统在遍历目录时可以判断出符号连接,既然可以判断出符号连接当然就可以采取一些措施来防范进入过大的循环了,系统在连续遇到8个符号连接后就停止遍历,这就是为什么对目录符号连接不会进入死循环的原因了。但是对于硬连接,由于操作系统中采用的数据结构和算法限制,目前是不能防这种死循环的。"

p.p1 { margin: 0; font: 12px "Helvetica Neue" }
span.s1 { font: 12px ".PingFang SC" }

linux之软连接 硬链接 link ln的更多相关文章

  1. Linux:ln命令详解(软连接,硬链接)

    ln ln命令用来为文件创件连接,连接类型分为硬连接和软连接(符号连接)两种,默认的连接类型是硬连接.如果要创建软连接必须使用"-s"选项. 硬链接 建立硬链接时,在另外的目录或本 ...

  2. Linux入门之常用命令(10)软连接 硬链接

    在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问. ...

  3. Linux中的硬链接和软链接

    软链接和硬链接 命令ln ln是创建链接的命令: 创建硬链接:ln file link 创建软链接:ln -s file link 硬链接 硬链接(hard link)是Unix系统最早的创建链接的方 ...

  4. 实例讲解Linux系统中硬链接与软链接的创建

    导读 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.硬链接与软链接的区别从根本上要从Inode节点说 ...

  5. Linux 软链接和硬链接

    系统链接文件 文件有文件名和数据,在Linux上被分成两个部分:用户数据(user data)与元数据(metadata) 用户数据:文件数据块(data block),数据块是记录文件真实内容的地方 ...

  6. linux软链接和硬链接的区别

    硬链接:ln 3.txt 4         相当于把源文件复制了一份 软连接:ln -s 3.txt 5 相当于快捷方式 改动源文件4.5同时更新,删除3.txt ,5不存在,4存在的.

  7. Linux中的硬链接和软链接的概念、区别及用法

    概念: 硬链接(hard link): A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指 ...

  8. Linux学习笔记 -- 硬链接与软连接(转)

    原文地址: http://www.cnblogs.com/itech/archive/2009/04/10/1433052.html Linux链接概念 Linux链接分两种,一种被称为硬链接(Har ...

  9. Linux 软连接 & 硬链接

    1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点 ...

随机推荐

  1. 创建一个本地Yum 仓库,提升速度,减少带宽

    1 mkdir /YUM 2 mount -t iso9660 -o loop /home/dan/Centos-7-x86_x64-DVD.iso /mnt/iso/ 3 rpm -ivh delt ...

  2. WPF中Grid容器中VerticalAlignment和HorizonAlignment和Margin的关系。

    在WPF中,经常使用Grid容器,来布局我们想要显示的对象. 这就不可避免的要和布局在其中的控件的VerticalAlignment特性,HorizonAlignment特性,以及Magin特性打交道 ...

  3. 通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护

    dapr目前更新到了1.2版本,在之前4月份的时候来自阿里的开发工程师发起了一个dapr集成Alibaba Sentinel的提案,很快被社区加入到了1.2的里程碑中并且在1.2 release 相关 ...

  4. 人脸照片自动生成游戏角色_ICCV2019论文解析

    人脸照片自动生成游戏角色_ICCV2019论文解析 Face-to-Parameter Translation for Game Character Auto-Creation 论文链接: http: ...

  5. 3D-LiDAR

    3D-LiDAR 结合光学+激光扫描+数据处理技术,实现对人和物体的无盲点检测. 利用专有光学技术实现高精度,高分辨率三维扫描. 到目前为止,传感器只能准确地检测出物体的存在,而且很难感知目标的大小和 ...

  6. 英特尔 i5-9400F,或将成为本年最高性价比的游戏处理器

    英特尔 i5-9400F,或将成为本年最高性价比的游戏处理器 一直以来,每一代英特尔 i5 系列都是很多游戏玩家主要的选购对象,它和任何一款显卡似乎都能够很好的搭配起来.可凡事都有美中不足的地方,比如 ...

  7. Excel创建手机号1000个

    一.输入手机号15900000001,并且选择 二.选中这一列 三.按住Ctrl,鼠标选中创建手机号,取消选中的状态 四.开始-填充 五.选择序列 六.选择列-自动填充-点击确定 七.查看结果,生成成 ...

  8. 开发掉坑(一)tar命令解压文件覆盖源文件

    今天在编译机上编译前端代码,报了找不到依赖的异常.检查后发现是node_modules/.bin下少了一些文件. 一开始疑惑为什么本地能成功生成软链在node_modules/.bin,服务器上面却不 ...

  9. springboot注解之@ConditionalOnProperty

    最近在研究springboot的源码,看到很多@ConditionalOnXxx的注解,大概明白此注解的意思,就是判断条件,这个条件就是Xxx,例如ConditionalOnProperty就是判断配 ...

  10. mybatis在动态 SQL 中使用了参数作为变量,必须要用 @Param 注解

    如果在动态 SQL 中使用了参数作为变量,那么就要用 @Param 注解,即使你只有一个参数.如果我们在动态 SQL 中用到了 参数作为判断条件,那么也是一定要加 @Param 注解的,例如如下方法: ...