linux文件软链接与硬链接

Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

软链接类似Windows下的快捷方式。硬链接通过文件系统的inode连接来产生新文件名,而不是产生新文件。

inode:记录文件属性,一个文件一个inode。inode相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容。

ln 命令用于创建连接文件,命令格式如下:

ln [选项] 源文件 目标文件

选项:

-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行,强制创建连接文件,如果目标存在,那么先删除掉目标文件,然后再建立连接文件
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程


选择参数:

-S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>”

-V “-V<备份方式>”或“--version-control=<备份方式>”

--help 显示帮助信息

--version 显示版本信息

 

硬连接

       硬链接是多个文件都指向同一个inode,硬链接知识点:

       ①、具有相同inode的多个文件互为硬链接文件,创建硬链接相当于文件实体多了入口。

       ②、对于硬链接文件,只有删除了源文件以及对应的所有硬连接文件,文件实体才会被删除。

       ③、根据硬链接文件的特点,我们可以通过给文件创建硬连接的方式来防止文件误删除。

       ④、不论修改源文件还是连接文件,另一个文件的数据都会被改变。

       ⑤、硬连接不能跨文件系统

       ⑥、硬连接不能连接到目录

因为以上这些限制,硬链接其实不常用。

 

符号连接(软连接)

       符号连接类似Windows下的快捷方式,符号链接也叫做软连接,软连接要用的多。符号连接相当于创建了一个独立的文件,这个文件会让数据读取指向它连接的哪个文件的文件名。软连接的特点:

       ①、可以连接到目录。

       ②、可以跨文件系统。

       ③、删除源文件以后,软连接文件也就“打不开了”

       ④、符号连接文件通过->来指示具体的连接文件。

       ⑤、符号连接要使用绝对路径,否则连接出问题。

再来看相对路径与绝对路径的区别:

注意: 

当用cp命令copy一个软链接时,copy的是软链接所对应的内容,而不是它本身。

如: 

# echo "1234567890" > test.txt

# ln -s test.txt test2.txt

# cp test2.txt test3.txt

test3.txt就是test.txt,而不是test2.txt 。

要直接cp软链就需要加-d参数

如:

# cp -d test2.txt test3.txt

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值