Linux--软链接,硬链接

在 Linux 和类 Unix 系统中,软链接(符号链接)和硬链接是用于文件系统中引用文件的两种方式。它们各自有不同的特点和用途。

  软链接(符号链接) 硬链接
定义 软链接是一个指向另一个文件或目录的特殊文件,包含指向目标文件路径的文本信息 硬链接是指向文件系统中同一文件的另一个目录项。两个或多个硬链接指向同一个文件数据块
可否跨文件系统 可跨文件系统 不能跨文件系统
删除数据 软链接与原始文件是独立的,如果原始文件被删除,软链接将变为“断链”,无法访问 所有硬链接都指向相同的数据块,文件的内容不会因删除某个链接而丢失,只有在所有链接都被删除后,数据才会被释放
能否链接目录 软链接可以指向目录,也可以指向文件 硬链接不能为目录(除非是超级用户),只能为文件
磁盘空间使用 软链接是一个独立的文件,通常,软链接本身占用的磁盘空间非常小(一般为几十字节),但它不包含原始文件的数据 硬链接指向同一个物理数据块,不会占用额外的磁盘空间。每创建一个硬链接,系统会增加该文件的引用计数,但不会复制数据
是否创建新的inode 创建,相当于重新创建一个文件 不创建,只给原文件多加一个文件名
能否修改链接 可修改,但需删除并重新创建以更改目标 不可修改,指向相同的数据块,可以重新创建一个硬链接
使用场景 常用于创建快捷方式、指向配置文件或在不同位置共享文件的情况 用于在文件系统中创建多个指向同一数据块的入口,适合需要共享文件内容的情况
创建方式 ln -s /path/to/original /path/to/symlink 注:软链时,目标路径的父目录必须存在,例/path/to必须存在 ln /path/to/original /path/to/hardlink
修改属主属组

chown test.test /data 修改软链接目标的属主和属组(修改/data链接的原目录的权限)

chown -h test.test /data 只修改软链接本身的属主和属组(只修改/data目录的权限)

chown test.test/data 更改所有硬链接文件的权限

 

实例

1、将/home/symlink1.txt文件,/home/symlink2/目录软链到/目录下

[root@test home]# ln -s /home/symlink1.txt /
[root@test home]# ln -s /home/symlink2/ /

 

2、将/home/hardlink1.txt硬链至/home/service/var(硬链接到/目录会报错,不同的分区与文件系统)

[root@test home]# ln /home/hardlink1.txt /home/service/var/

 

posted @   心恩惠动  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
历史上的今天:
2021-09-12 转载--阿里云ECS自建K8S集群
点击右上角即可分享
微信分享提示