请选择 进入手机版 | 继续访问电脑版

[LINUX] Linux中利用 ln下令 在文件之间建立毗连 的用法讲解

[复制链接]
查看160 | 回复26 | 2021-9-4 21:04:40 | 显示全部楼层 |阅读模式

在Unix天下 里有两个'link'(毗连 )概念,一样平常 称之为硬毗连 和软毗连 。一个硬连 接仅仅是一个文件名。(一个文件可以有好几个文件名,只有将末了 一个文件名从 磁盘上删除,才能把这个文件删掉。文件名的个数是由ls(1)来确定的。全部 的文件 名都处于同一个状态,也就没有什么lq源名字rq 之说。通常文件体系 里的一个 文件的所闻名 字包含着一样的数据信息,不过如许 也不是必需的。)一个软毗连 (或符号毗连 )是完全不同的:它是一个包含了路径信息的小小的指定文件。因此, 软毗连 可以指向不同文件体系 里的文件(比如由NFS装载的不同机器文件体系 上的文 件),以致 可以指向一个不肯定 确实存在的文件。在软毗连 文件被访问(体系 调用 open(2) 或stat(2))的时间 ,操作体系 用该文件所包含的路径更换 该文件的访问介 入点,从而实现对所指文件的访问。(用下令 rm(1)和unlink(2)可以删除毗连 ,但 不是删除该文件所指向的文件。体系 指定调用lstat(2)和readlink(2) 来读取毗连 文件与其所指文件的状态。到底是对软毗连 文件操作,还是对被指向文件操作,由 于不同操作体系 件存在不同的体系 调用,而存在着差异。)

ln 在文件间产生毗连 。缺省时,产生硬毗连 ,有-s选项,则产生符号(软)毗连 。

假如 仅仅只给出一个文件名,那么ln将在当前目次 里产生这个文件的毗连 , 也就是说,以该文件(的末了 一个)名称等同的名字在当前目次 里产生一个毗连 (GNU范围内); 假如 末了 一个参数是一个已存在的目次 名, ln 将在谁人 目次 里给每一个源文件用以与源文件雷同 的文件名产生毗连 , (不恻隐 况见以下--no-dereference的形貌 ); 假如 只给出两个文件名,ln将产生源文件的毗连 ; 假如 末了 一个参数不是一个目次 名或多于两个文件名,则报错。

缺省时,ln不删除已存在的文件或符号毗连 。 (因此,它可以被用来锁定目标 文件,即当dest已经不存在时) 但选项-f可以逼迫 实行 。

在已存在的实现中,只有超级用户才能建立目次 的硬毗连 。 POSIX 克制 体系 调用link(2)和ln建立目次 的硬毗连 (但是答应 在不同的文件体系 间建立硬毗连 )。

使用 方式 : ln [options] source dist,此中 option 的格式为 :
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}][--help] [--version] [--]

阐明 : Linux/Unix 档案体系 中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊 的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案体系 中,而软连结却可以超过 不同的档案体系 。
ln source dist 是产生一个连结(dist)到 source,至于使用 硬连结或软链结则由参数决定。
不论是硬连结或软链结都不会将本来 的档案复制一份,只会占用非常少量的磁碟空间。

-f : 链结时先将与 dist 同档名的档案删除
-d : 答应 体系 管理者硬链结本身 的目次
-i : 在删除与 dist 同档名的档案时先辈 行扣问
-n : 在举行 软连结时,将 dist 视为一样平常 的档案
-s : 举行 软链结(symbolic link)
-v : 在连结之前表现 其档名
-b : 将在链结时会被覆写或删除的档案举行 备份
-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
--help : 表现 辅助阐明
--version : 表现 版本

留意 :
假如 不使用 -s 标志,就不能在文件体系 之间链接文件。
假如 TargetDirectory 已经是链接到目次 上的一个符号链接,那么 ln 下令 将现有的目标 视为文件。这意味着,雷同 于 ln -fs somepath/lname symdir 的下令 不会遵照 现有的 symdir 符号链接,作为代替,它会创建一个从 somepath/lname 到 symdir 的新的符号链接。

退出状态
此下令 返回以下的退出值:
0 全部 指定的文件都成功链接上了。
>0 出现一次错误。

例:


复制代码代码如下:
[root@localhost test_ln]# ln -s /home/zhangy/heartbeat ./ #在当前目次 下,建立heartbeat的软毗连
[root@localhost test_ln]# ln -s /home/zhangy/test ./ #建立目次 的软件接
[root@localhost test_ln]# ln /home/zhangy/tee.txt ./ #建立硬毗连
[root@localhost test_ln]# ll
总计 4
lrwxrwxrwx 1 root root 22 05-11 11:04 heartbeat -> /home/zhangy/heartbeat #文件软件接
-rw-r--r-- 2 root root 0 2010-11-24 tee.txt #文件硬毗连
lrwxrwxrwx 1 root root 17 05-11 11:04 test -> /home/zhangy/test #目次 软件接



1.为了创建到一个文件的另一个链接(别名),请输入:

复制代码代码如下:
ln -f chap1 intro

这会将 chap1 链接到新的名称, intro。假如 intro 不存在,那么会创建该文件名。假如 intro 已经存在了,那么这个文件会被更换 为指向 chap1的一个链接。然后 chap1 和 intro 文件名会指向同一个文件。对此中 任何一个的更改都会出现在 另一个中。假如 一个文件名被 rm 下令 删除,那么该文件并没有完全被删除,由于 它仍然 以别的 的名字存在。

2.为了将文件链接为另一个目次 中的雷同 名字,请输入:

复制代码代码如下:
ln index manual

这会将 index 链接到新的名称,manual/index。
留意 :在示例 1 中的 intro 是一个文件的名称;在示例 2 中的 manual 是一个已经存在的目次 。

3.为了将几个文件链接为另一个目次 中的名称,请输入:

复制代码代码如下:
ln chap2 jim/chap3 /home/manual

这会将 chap2 链接到新的名称 /home/manual/chap2;将 jim/chap3 链接到新的名称 /home/manual/chap3。

4.假如 想要在 ln 下令 中使用 模式匹配字符,请输入:

复制代码代码如下:
ln manual/* .

这会将 manual 目次 中的全部 文件链接到当前目次 中, . (点),给他们在 manual 目次 中同样的名称。

留意 : 必须在星号和句点之间输入一个空格。

5.为了创建一个符号链接,输入:

复制代码代码如下:
ln -s /tmp/toc toc

这会在当前的目次 中创建符号链接 toc。 toc 文件指向 /tmp/toc 文件。假如 /tmp/toc 文件已经存在了,那么 cat toc 下令 可以列出其内容。

6.假如 想要在不指明 TargetFile 参数的环境 下得到雷同 的效果 ,请输入:

复制代码代码如下:
ln -s /tmp/toc


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

avatar a18945178687 | 2021-9-12 02:51:11 | 显示全部楼层
今天是个特别的日子,值得纪念!
回复

使用道具 举报

avatar 哦也X5 | 2021-9-18 22:33:25 | 显示全部楼层
admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的源码论坛他的站点都是商业源码,还是免费下载的那种!特别好用。访问地址:http://www.mxswl.com 猫先森网络
回复

使用道具 举报

avatar 我心如烟卸 | 2021-9-19 12:20:07 | 显示全部楼层
禽兽不如应该不是说admin楼主的的吧?
回复

使用道具 举报

avatar 大圆镜2015 | 2021-9-19 20:06:48 | 显示全部楼层
admin楼主是一个神奇的青年!
回复

使用道具 举报

avatar 小饱1 | 2021-9-30 19:02:18 | 显示全部楼层
楼上的说的很好!
回复

使用道具 举报

avatar 霓小沫儿 | 2021-10-1 22:20:10 | 显示全部楼层
admin楼主的等级很高啊!
回复

使用道具 举报

avatar 牛股行天下烁 | 2021-10-2 10:09:04 | 显示全部楼层
看了这么多帖子,第一次看到这么经典的!
回复

使用道具 举报

avatar 恶贯满瘾锥 | 2021-10-3 00:12:17 | 显示全部楼层
没人理我,好伤心啊!
回复

使用道具 举报

avatar 或许你会吞 | 2021-10-14 13:05:34 | 显示全部楼层
admin楼主的头像是本人吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则