从命令行管理文件——软连接,软硬连接的区别

软连接
1. 原理
软连接本质是一种符号连接,类似于 Windows 的快捷方式,存储对应文件的路劲
2. 格式
ln -s 源文件 软连接名称
例:
[root@server /] # cd ~
[root@server ~] # echo "china" > h1.txt
[root@server ~] # ln -s h1.txt h2.txt
[root@server ~] # ll h2.txt # 查看软连接的指向
lrwxrwxrwx. 1 root root 6 6 月 26  20 :31 h2.txt - > h1.txt
[root@server ~] # ll /dev/cdrom
lrwxrwxrwx. 1 root root 3 6 月26  20 :39 /dev/cdrom - > sr0
# 给网卡配置文件建立软连接
[root@server ~] # cd /etc/NetworkManager/system-connections/
[root@server system-connections] # ls
ens160.nmconnection
[root@server system-connections] # cd ~
[root@server ~] # ln -s /etc/NetworkManager/system
connections/ens160.nmconnection nic
[root@server ~] # cat nic
注意:
软连接中删除了源文件则连接不可用
# 接上例
[root@server system-connections] # cd ~
[root@server ~] # ls
公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg h1.txt h2.txt mk1 nic
t1.txt temp1 temp2
[root@server ~] # cat h2.txt
china
[root@server ~] # rm -f h1.txt
[root@server ~] # cat h2.txt
cat : h2.txt: 没有那个文件或目录
软连接数不能查看,只能通过 ll ls -l 命令查看指向关系
删除软连接,只要源文件存在则数据依然可以访问
[root@server ~] # echo "hello" > b1.txt
[root@server ~] # ln -s b1.txt b2.txt
[root@server ~] # cat b1.txt
hello
[root@server ~] # cat b2.txt
hello
[root@server ~] # rm -f b2.txt # 删除软连接
[root@server ~] # cat b1.txt
hello
修改软连接
格式: ln -snf 新文件名 软连接名
例:
[root@server ~] # echo "hello" > h1
[root@server ~] # echo "world" > w1
[root@server ~] # ln -s h1 temp
[root@server ~] # cat temp
hello
[root@server ~] # ll temp
lrwxrwxrwx. 1 root root 2 6 月 26  20 :46 temp - > h1
[root@server ~] # ln -snf w1 temp # 修改指向关系
[root@server ~] # ll temp
lrwxrwxrwx. 1 root root 2 6 月 26  20 :47 temp - > w1
软硬连接的区别
硬连接中源文件与连接文件公用一个 inode 号,是同一个文件
[root@server ~] # echo "china" > k1
[root@server ~] # ln k1 k2 # 新建硬连接
[root@server ~] # stat k1
文件: k1
大小: 6 块: 8 IO 块: 4096 普通文件
设备: fd00h/64768d Inode 9252682 # 注意 硬链接: 2
权限: (0644/-rw-r--r--) Uid ( 0 / root) Gid ( 0 / root)
环境: unconfined_u:object_r:admin_home_t:s0
最近访问: 2024-06-26  20 :50:36.980179787 + 0800
最近更改: 2024-06-26  20 :50:38.612178450 + 0800
最近改动: 2024-06-26  20 :50:47.468171190 + 0800
创建时间: 2024-06-26  20 :50:36.980179787 + 0800
[root@server ~] # stat k2
文件: k2
大小: 6 块: 8 IO 块: 4096 普通文件
设备: fd00h/64768d Inode 9252682 # 注意 硬链接: 2
权限: (0644/-rw-r--r--) Uid ( 0 / root) Gid ( 0 / root)
环境: unconfined_u:object_r:admin_home_t:s0
最近访问: 2024-06-26  20 :50:36.980179787 + 0800
最近更改: 2024-06-26  20 :50:38.612178450 + 0800
最近改动: 2024-06-26  20 :50:47.468171190 + 0800
创建时间: 2024-06-26  20 :50:36.980179787 + 0800
软连接中源文件与连接文件拥有不同的 inode 号,是 2 个不同的文件
[root@server ~] # ln -s k1 k3
[root@server ~] # stat k1
文件: k1
大小: 6 块: 8 IO 块: 4096 普通文件
设备: fd00h/64768d Inode 9252682 硬链接: 2
权限: (0644/-rw-r--r--) Uid ( 0 / root) Gid ( 0 / root)
环境: unconfined_u:object_r:admin_home_t:s0
最近访问: 2024-06-26  20 :50:36.980179787 + 0800
最近更改: 2024-06-26  20 :50:38.612178450 + 0800
最近改动: 2024-06-26  20 :50:47.468171190 + 0800
创建时间: 2024-06-26 20 :50:36.980179787 + 0800
[root@server ~] # stat k3
文件: k3 - > k1
大小: 2 块: 0 IO 块: 4096 符号链接
设备: fd00h/64768d Inode 9252684 硬链接: 1
权限: (0777/lrwxrwxrwx) Uid ( 0 / root) Gid ( 0 / root)
环境: unconfined_u:object_r:admin_home_t:s0
最近访问: 2024-06-26  20 :52:17.757097177 + 0800
最近更改: 2024-06-26  20 :52:11.953101931 + 0800
最近改动: 2024-06-26  20 :52:11.953101931 + 0800
创建时间: 2024-06-26  20 :52:11.953101931 + 0800
软连接的指向关系可以通过命令查看 (ll 或者 ls -l) ,硬连接不可以查看执行关系,只能查看连接硬连接数
ll 或者 stat
软连接数不会增加,硬连接数会增加
文件大小不一样,硬连接文件容量相同是同一个文件,软连接只是一个快捷方式,容量较小
软连接可以跨越文件系统(分区),任何用户都可以建立指向目录的软连接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/759019.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

密室逃脱——收集版

一、原版修改 1、导入资源 Unity Learn | 3D Beginner: Complete Project | URP 2、设置Scene 删除SampleScene,打开UnityTechnologies-3DBeginnerComplete下的MainScene 3、降低音量 (1) 打开Hierarchy面板上的Audio降低音量 (2) 打开Prefabs文件夹&#xf…

使用 PyQt5 创建一个数字时钟

使用 PyQt5 创建一个数字时钟 效果代码解析定义时钟类初始化界面显示时间 完整代码 在这篇博客中,我们将使用 PyQt5 创建一个简单的数字时钟。 效果 代码解析 定义时钟类 class ClockWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTit…

Swift宏的实现

上篇介绍了Swift宏的定义与生声明,本篇主要看看是Swift宏的具体实现。结合Swift中Codable协议,封装一个工具让类或者结构体自动实现Codable协议,并且添加一些协议中没有的功能。 关于Codable协议 Codable很好,但是有一些缺陷&…

Redis基础教程(三):redis命令

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

仓库管理系统11--物资设置

1、添加用户控件 <UserControl x:Class"West.StoreMgr.View.GoodsTypeView"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc"http://schemas.openxm…

sqlserver开启CDC

1、背景 由于需要学习flink cdc&#xff0c;并且数据选择sqlserver&#xff0c;所以这里记录sqlserver的cdc开启操作步骤。 2、基础前提 官方介绍地址&#xff1a;https://learn.microsoft.com/zh-cn/sql/relational-databases/track-changes/enable-and-disable-change-dat…

Ubuntu22.04 源码安装 PCL13+VTK-9.3+Qt6,踩坑记录

Ubuntu 22.04LTS;cmake-3.25.0;VTK-9.3;PCL-1.13;Qt6.6 PCL可以通过 apt 命令直接安装(sudo apt install libpcl-dev),apt 命令安装的 VTK 是简略版,没有对 Qt 支持的包,所以笔者使用源码安装 PCL 和 VTK。 1. 安装 VTK 1) 安装 ccmake 和 VTK 依赖项: sudo apt-g…

DataWhale-吃瓜教程学习笔记 (五)

学习视频&#xff1a;第4章-决策树_哔哩哔哩_bilibili 西瓜书对应章节&#xff1a; 第四章 4.1&#xff1b;4.2 文章目录 决策树算法原理- 逻辑角度- 几何角度 ID3 决策树- 自信息- 信息熵 &#xff08;自信息的期望&#xff09;- 条件熵 &#xff08; Y 的信息熵关于概率分布 …

从万里长城防御体系看软件安全体系建设@安全历史03

长城&#xff0c;是中华民族的一张重要名片&#xff0c;是中华民族坚韧不屈、自强不息的精神象征&#xff0c;被联合国教科文组织列入世界文化遗产名录。那么在古代&#xff0c;长城是如何以其复杂的防御体系&#xff0c;一次次抵御外族入侵&#xff0c;而这些防御体系又能给软…

HarmonyOS Next开发学习手册——创建轮播 (Swiper)

Swiper 组件提供滑动轮播显示的能力。Swiper本身是一个容器组件&#xff0c;当设置了多个子组件后&#xff0c;可以对这些子组件进行轮播显示。通常&#xff0c;在一些应用首页显示推荐的内容时&#xff0c;需要用到轮播显示的能力。 针对复杂页面场景&#xff0c;可以使用 Sw…

C++ sizeof的各种

C sizeof的各种 1. 含有虚函数的类对象的空间大小2. 虚拟继承的类对象的空间大小3. 普通变量所占空间大小4. 复合数据类型&#xff08;结构体和类&#xff09;5. 数组6. 类型别名7. 动态分配内存8. 指针9. 静态变量10. 联合体11. 结构体使用#program pack 1. 含有虚函数的类对象…

firewalld防火墙转发流量到其他端口forward port rules

假设云主机eth0: 47.93.27.106 tun0: inet 10.8.0.1 netmask 255.255.255.0 Show rules for a specific zone (public) sudo firewall-cmd --zonepublic --list-all Add the tun0 interface to the public zone: sudo firewall-cmd --zonepublic --add-interfacetun0 --…

关于图片大小问题造成的QPixmap或QImage读取图片失败的解决办法

今天碰到一个奇怪又离谱的问题 : 图片加载失败。明明路径是正确的&#xff0c;图片也实实在在存在。。。 经过比对&#xff0c;发现如下问题&#xff1a; 我就齐了怪了 这大小怎么差这么多&#xff1f;会不会是这里除了问题。秉持着怀疑的态度&#xff0c;我试着用GIMP重新导出…

机械设计简单介绍

机械设计简单介绍 1 介绍1.1 概述1.2 机械机构设计基本步骤1.3 关键1.3.1 静力学1.3.2 动力学1.3.3 运动学1.3.4 刚度学 1.4 示例【机械臂】 2 资料2.1 知识体系2.2 博客类汇总2.3 免费CAD模型获取2.4 3D打印2.5 SolidWorks 3 具备能力3.1 熟练翻阅 机械设计手册3.2 知道 N 家常…

【01-02】Mybatis的配置文件与基于XML的使用

1、引入日志 在这里我们引入SLF4J的日志门面&#xff0c;使用logback的具体日志实现&#xff1b;引入相关依赖&#xff1a; <!--日志的依赖--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version&g…

Part 8.3.3 最近公共祖先

两个点的最近公共祖先&#xff0c;即两个点的所有公共祖先中&#xff0c;离根节点最远的一个节点。 【模板】最近公共祖先&#xff08;LCA&#xff09; 题目描述 如题&#xff0c;给定一棵有根多叉树&#xff0c;请求出指定两个点直接最近的公共祖先。 输入格式 第一行包含…

VMware虚拟机安装CentOS7.9 Oracle 11.2.0.4 RAC+单节点RAC ADG

目录 一、参考资料 二、RAC环境配置清单 1.主机环境 2.共享存储 3.IP地址 4.虚拟机 三、系统参数配置 1. 配置网卡 1.1 配置NAT网卡 1.2 配置HostOnly网卡 2. 修改主机名 3. 配置/etc/hosts 4. 关闭防火墙 5. 关闭Selinux 6. 配置内核参数 7. 配置grid、oracle…

vue3:星星评分组件

一、效果 二、代码 子组件stars.vue&#xff1a; <template><div class"stars"><div class"star" v-for"star in stars" :key"star" click"setScore(star)"><svgt"1719659437525"class&qu…

贪心算法题目总结

1. 整数替换 看到这道题目&#xff0c;我们首先能想到的方法就应该是递归解法&#xff0c;我们来画个图 此时我们出现了重复的子问题&#xff0c;就可以使用递归&#xff0c;只要我们遇到偶数&#xff0c;直接将n除以2递归下去&#xff0c;如果是奇数&#xff0c;选出加1和减1中…

面试框架一些小结

springcloud的⼯作原理 springcloud由以下⼏个核⼼组件构成&#xff1a; Eureka&#xff1a;各个服务启动时&#xff0c;Eureka Client都会将服务注册到Eureka Server&#xff0c;并且Eureka Client还可以反过来从Eureka Server拉取注册表&#xff0c; 从⽽知道其他服务在哪⾥ …