ln命令 硬连接和软连接

ln命令

指令名称 : ln
使用权限 : 所有使用者
使用方式 : ln [options] source dist,其中 option 的格式为 :
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--]

ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。

如果正在将某个文件链接到新的名字,那么只能列出一个文件。如果链接到一个目录,那么可以列出多个文件。

如果不指定目标文件,ln 命令会在当前的目录中创建一个新的文件。新的文件继承了指定在 SourceFile 参数中的文件名。
不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

参数 :
-f : 链结时先将与 dist 同档名的档案删除

-d : 允许系统管理者硬链结自己的目录

-i : 在删除与 dist 同档名的档案时先进行询问

-n : 在进行软连结时,将 dist 视为一般的档案

-s : 进行软链结(symbolic link)

-v : 在连结之前显示其档名

-b : 将在链结时会被覆写或删除的档案进行备份

-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾

-V METHOD : 指定备份的方式

--help : 显示辅助说明

--version : 显示版本


范例 :示例:
1>为了创建到一个文件的另一个链接(别名),请输入:
ln -f file1 file2
这会将 file1 链接到新的名称, file2。如果 file2 不存在,那么会创建该文件名。如果 file2 已经存在了,那么这个文件会被替换为指向file1的一个链接。然后 file1 和 file2 文件名会指向同一个文件。对其中任何一个的更改都会出现在另一个中。如果一个文件名被 rm 命令删除,那么该文件并没有完全被删除,因为它仍然以其它的名字存在。

2>为了将文件链接为另一个目录中的相同名字,请输入:
ln index dir1
这会将 index 链接到新的名称,dir1/index。
注意:在示例 1 中的 file2 是一个文件的名称;在示例 2 中的 dir1 是一个已经存在的目录。

3>为了将几个文件链接为另一个目录中的名称,请输入:
ln file2 dir2/file3 /home/dir1
这会将 file2 链接到新的名称 /home/dir1/file2;将 dir2/file3 链接到新的名称 /home/dir1/file3。

4>如果想要在 ln 命令中使用模式匹配字符,请输入:
ln dir1/* .
这会将 dir1 目录中的所有文件链接到当前目录中, . (点),给他们在dir1 目录中同样的名称。
注意: 必须在星号和句点之间输入一个空格。

5>为了创建一个符号链接,输入:
ln -s /tmp/test test
这会在当前的目录中创建符号链接 test。 test 文件指向 /tmp/test 文件。如果 /tmp/test 文件已经存在了,那么 cat test 命令可以列出其内容。

6>如果想要在不指明 TargetFile 参数的情况下得到相同的结果,请输入:
ln -s /tmp/test

 


软连接和硬连接:
Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link)。
1、硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点(Inode Number)。
软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

2、软连接与windows下的快捷方式类似。
硬连接是直接建立在节点表上的,建立硬连接指向一个文件的时候,会更新节点表上面的计数值。举个例子,一个文件被连接了两次[硬连接],这个文件的计数值 是3,而无论通过3个文件名中的任何一个访问,效果都是完全一样的,但是如果删除其中任意一个,都只是把计数值减1,不会删除实际的内容的,只有计数值变 成0也就是没有任何硬连接指向[任何存在的文件本身就算是一个硬连接]的时候才会真实的删除内容。

3、软链接是另一个文件,作用可以理解为一个指针,******作用在这个文件上的操作除了删除都直接转向实际指向文件,由于是一个真实的文件所以占用磁盘空间。
硬链接可以认为不是一个文件,它只是实际文件的一个别名,它的作用是防止真实文件被误操作,给一个文件建立硬链接后,他们互为别名,删除其中任意一个,这样用RM命令只会删除该别名,实际文件并不会被删除。只有链接数为0时,才会删除原始文件。
硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。

4、硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。

5、硬链接的文件属主和各种文件特性都一样,而软链接不同,软链接可以有不同的读写权限,不同的用户和组。

6、软连接的操作:
1)、可以是任意文件或目录,可以链接不同文件系统的文件。
2)、在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。
硬链接的操作:
  1)、不允许给目录创建硬链接;
  2)、对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。这时,系统就"忘记"了它曾经是硬链接文件。而把它当成一个普通文件。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值