【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第十三章 Linux连接档

news2024/9/27 17:34:39

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT、4G模块、CAN、RS485等接口一应俱全。H264、VP8视频硬编码,H.264、H.265、VP8、VP9视频硬解码,并提供相关历程,支持8路PDM接口、5路SAI接口、2路Speaker。系统支持Android9.0(支持获取root限)Linux4.14.78+Qt5.10.1、Yocto、Ubuntu20、Debian9系统。适用于智能充电桩,物联网,工业控制,医疗,智能交通等,可用于任何通用工业和物联网应用、

【公众号】迅为电子

【粉丝群】258811263(加群获取驱动文档+例程)


第十三章 Linux连接档

本章内容对应视频讲解链接(在线观看):

Linux连接档概念  https://www.bilibili.com/video/BV1M7411m7wT?p=13

Linux 下的连接档有两个种类。一个是类似于 windows 电脑的快捷方式,我们称为软链接,软链接也可以叫做符号链接。另一种是通过文件系统的 inode 连接来产生的,类似于 windows 电脑的复制,但是不产生新的文件,我们称为硬链接。硬链接也可以称作为实体链接。

13.1 索引节点

inode 也叫作索引节点,内核为每一个新创建的文件都会分配一个索引节点,就是 inode 。inode 是用来存放文件信息的,每个文件都会占用一个 inode ,并且这个 inode 号是唯一的,可以把inode 简单的理解为一个指针,它永远指向本文本的具体存储位置,文件的属性保存在 inode 里,系统是通过 inode 而不是文件名来定义每一个文件的。文件的内容都是 inode 来指定的而不是文件名,当系统要访问文件时,inode就会被复制到内存,从而实现文件的快速访问,使用 ls -i 命令则可以看到 inode号。

-i 参数为打印文件的 inode 号

我们也可以使用 ll -i ,是一样的。

13.2 硬链接

硬连接是一个新的链接到某个 inode号码的记录。这个链接指向 inode ,系统并不给他从新分配 inode 。也就是说会有多个文件对应同一个 inode ,如果两个文件的inode一样,那么这两个文件就是完全一样的。可以用 ln命令来建立硬链接。

格式: ln 源文件 目标文件

常用参数 -f ,就是说强制创建,无论目标文件是否存在都要创建链接。

举例:我们使用命令touch test1.c创建文件 test1.c,然后ln test1.c test2.c创建一个硬链接,最后用 ls -li 命令来查看下,如下图所示。

在例子中我们可以发现 test1.c 和 test2.c 他们的 inode 号码都是 17301827 。因为 inode 号一样,所有这个两个文件的权限和属性也是一模一样的,也是 test1.c和test2.c 是两个完全一样的文件。如下图所示。

连接数也由1 变成了2 ,这个代表的是有多少个档名链接到了这个 inode 号。如下图所示。

我们再创建一个硬连接。使用 ln test1.c test3.c -f 命令后,则会发现我们这个连接数从2变成了3,如下图所示。

13.3 硬链接的优缺点

优点:

第一是方便,虽然类似于windows的复制,但是通常并不占用实际空间。不管我们是修改 test1.c 或者是修改 test2.c 还是 test3.c ,只要修改一个,我们的文件就会被同时修改,因为他们的 inode 号都是相同的。

举例:

修改test3.c 的内容为下图所示:

test1.c和test2.c的内容也被修改成了nihao,如下图所示。

第二是安全,防止误删除。我们删除 test1.c 或者是 test2.c 或者 test3.c 任意一个,我们还是可以通过剩下的连接来访问文件,除非都删掉。我们可以利用这个特点来做文件的备份。

我们删掉 test1.c 使用 rm test1.c。但是 test2.c或者 test3.c还是可以访问到 “nihao”这个内容。输入以下命令:

cat test2.c  

cat test3.c

缺点:

只能在同一个文件系统才可以创建硬连接(因为不同的文件系统管理方式不同),甚至有的文件系统没有索引号,它不是索引文件系统。哪怕他有索引号,两个文件系统的索引号含义不一定是相同的,即使它的索引号相同,我们连接几个文件,他有相同的 inode ,但是不同的文件系统中也有可能使用该 inode 的其他文件,这样就会发生冲突,所以说我们只能在同一个文件系统中才能创建硬连接。

第二,目录之间不能创建硬连接(太复杂,现在还不支持)。如果说硬连接到我们的目录,那么我们连接的数据需要连同被连接目录下所有数据都要创建硬连接,如果说我们将根目录下的 etc 用硬连接创建一个硬连接的目录,那么不光是我们的文件要被创建,这个文件下面所有的文件名都要创建一个硬连接,这样呢就会给工作环境造成一个很大的工作量,而且非常的复杂,所以现在还不支持。

13.4 软链接

这类似于 windows 上的快捷方式。可以用 ln 命令来建立软链接。

格式: ln -s 源文件 目标文件 (必须加上-s 参数,使用 ln 如果不加任何参数的话,那么就是Hard Link ,而且源文件要用绝对路径)

-s 为创建一个软连接。源文件必须使用绝对路径,不能使用相对路径,如果使用相对路径的话,我们后面想对文件进行一个移动或者复制,那么它绝对会出问题。

我们给 test3.c这个文件创建一个软连接,

ln -s /home/topeet/test/test3.c test1.c

上图中我们可以发现 test1.c 和 test3.c 的 inode 号是不一样的,所以这两个文件是完全独立的,总之软连接就是创立了一个新的文件,当访问这个链接文件的时候,系统就会发现他是一个链接文件,然后读取链接文件找到真正要访问的文件。

因为类似于 windows 上的快捷方式,我们删掉源文件 test3.c ,那么test1.c就不能打开了,如下图。

红色背景代表无效。

软连接虽然没有硬连接安全,但是限制少,所以使用范围还是很广泛的

延伸内容:

ubuntu系统中各个文件的颜色含义:

蓝色

文件夹, ls -l 或 ll 时可以看到权限部分的第1个字母是d

红色

压缩文件

绿色

可执行文件

白色

文本文件

红色闪烁

错误的符号链接

淡蓝色

符号链接

黄色

设备文件

灰色

其他文件

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++报错已解决】Invalid Use of ‘this’ Pointer

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 引言 一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:修正‘this’指针使用2…

首席数据官CDO,提升城市数字治理能力

随着数字技术的飞速发展,首席数据官(CDO)的角色越来越受到各城市的重视。 不仅企业和机构,城市本身也是巨大的数据生成者。 它们拥有丰富的政府、社会和经济数据资源,这些数据涵盖了城市治理、公共服服务和产业进展等多个方面。 利用这些数…

pytorch- RNN循环神经网络

目录 1. why RNN2. RNN3. pytorch RNN layer3.1 基本单元3.2 nn.RNN3.2.1 函数说明3.2.2 单层pytorch实现3.2.3 多层pytorch实现 3.3 nn.RNNCell3.3.1 函数说明3.3.2 单层pytorch实现3.3.3 多层pytorch实现 4.完整代码 1. why RNN 以淘宝的评论为例,判断评论是正面…

登录谷歌时系统提示“找不到您的Google账号”,原因通常有5个

时不时有朋友问我,说他明明后了谷歌账号,但是在登录谷歌时(有时是自己登录谷歌的网站或者APP,也有的是登录ourplay等加速器、虚拟机等第三方应用),输入了账号后系统却提示说“找不到您的Google账号”&#…

如何在 Odoo 16 中创建名称搜索功能

我们精通 Odoo,了解如何使用关系字段来建立不同模型之间的联系。为了填充这些关系字段,我们经常需要从一整套可用记录中搜索并找到特定值。Odoo 的名称搜索功能简化了此搜索过程,提供了一种根据我们的特定需求自定义搜索的便捷方式。 深入探…

图像识别和目标检测在超市电子秤上的应用

目录 前言深度学习的目标检测图像识别技术视觉秤的优势其他应用场景中的技术应用未来展望 前言 随着科技的不断发展,电子秤在生鲜超市中的应用也在不断升级。传统的电子秤需要打秤人员手动输入秤码,这不仅耗时费力,还需要大量的培训以记住各…

WMS海外仓系统应用:如何改善海外仓的12个核心业务流程

现代化跨境电商的发展依赖海外仓的高效运转,从货物入仓到订单拣货再到最后的货物出库,全部流程都需要海外仓可以顺畅应对。 作为海外仓,则需要借助诸如WMS海外仓系统这样的智能化管理方式,才能适应日益复杂的客户需求。今天我们就…

数据融合工具(4)正方形矩形图幅分幅计算

一、需求背景 对于工程方面需要的局部地区的大比例尺地形图、平面图和中小比例尺挂图和地图集,常使用矩形分幅。 二、矩形分幅 矩形分幅是按平面直接坐标系的横纵坐标线来划分的,图幅的上、下以坐标横轴为界,左、右以坐标纵轴为界。 供各种工…

KIVY ScreenManager 使用案例常见错误总结

# 导入Kivy的App类,它是所有kivy应用的基类 from kivy.app import App # kivy内置了丰富的控件widget 如 按钮button 复选框checkbox 标签label 输入框textinput 滚动容器scrollable container等 from kivy.uix.button import Button # 引入BoxLayout 布局 from ki…

「AI绘画Stable Diffusion 零基础入门 」文生图教程:什么是提示词?万字长文详解提示词的使用,建议收藏!

大家好,我是画画的小强 AI 绘画的一个必不可少的环节就是告诉 AI 描述画面的 Prompt(提示词),但是这种很长很乱、穿插着各种奇怪的数字符号、高深莫测的提示词,究竟在说着什么?难道真的是咒语吗&#xff1…

【力扣高频题】042.接雨水问题

上一篇我们通过采用 双指针 的方法解决了 经典 容器盛水 问题 ,本文我们接着来学习一道在面试中极大概率会被考到的经典题目:接雨水 问题 。 42. 接雨水 给定 n 个非负整数,表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子…

跨平台桌面应用开发工具:electron的优缺点

跨平台桌面应用开发工具Electron是一个由GitHub开发和维护的开源框架,它允许开发者使用HTML、CSS和JavaScript等Web技术来构建跨平台的桌面应用程序。以下是关于Electron的详细介绍: 一、Electron概述 定义:Electron是一个基于Chromium和Nod…

【《无主之地3》风格角色渲染在Unity URP下的实现_角色渲染(第四篇) 】

文章目录 概要描边问题外秒变分叉解决办法1:测试效果如下:外秒变分叉解决办法2:URP管线下PBR渲染源码关键词解释:完整shader代码如下:URP管线下二次元皮肤渲染源码URP管线下二次元头发渲染源码简要介绍文章的目的、主要内容和读者将获得的知识。 概要 提示:《无主之地3》…

Apache中使用SSI设置

先停服务在修改httpd.conf,备份下 Apache\Apache24\conf 设置httpd.conf LoadModule ssl_module modules/mod_ssl.so 取消该命令前的注释符# AddType text/html .shtml AddOutputFilter INCLUDES .shtml 取消该命令前的注释符# 加入html 搜索Options Indexes …

【STM32标准库】DMA双缓冲模式

1.双缓冲模式简介 设置DMA_SxCR寄存器的DBM位为1可启动双缓冲传输模式,并自动激活循环模式,所以设置普通模式或者循环模式都可以。 双缓冲不应用与存储器到存储器的传输。可以应用在从存储器到外设或者外设到存储器。 双缓冲模式下, 两个存…

pbootCMS 数据库sqlite转mysql数据库

前言 pbootCMS默认使用 sqlite数据库 ,那么什么是sqlite数据库呢? SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌…

叉车指纹锁有规定要装吗

叉车作为工业运输的重要工具,其安全性能一直备受关注。在这个信息化、智能化的时代,对于叉车这类高风险的设备,安全性措施显得尤为重要。而叉车指纹锁作为一种高科技安全设备,其在叉车管理中的应用逐渐受到重视。 那么&#xff0c…

探展2024世界人工智能大会之合合信息扫描黑科技~

文章目录 ⭐️ 前言⭐️ AIGC古籍修复文化遗产焕新⭐️ 高效的文档图像处理解决方案⭐️ AIGC扫描黑科技一键全搞定⭐️ 行业级的大模型加速器⭐️ 结语 ⭐️ 前言 大家好,我是 哈哥(哈哥撩编程) ,这次非常荣幸受邀作为专业观众参…

IP-GUARD如何禁止电脑自带摄像头

IP-GUARD可以通过设备管理模块禁止USB接口,所以USB外置摄像头很容易就可以禁止了。 但是笔记本自带摄像头无法禁止,配置客户端策略如下: device_control_unknown_mode1 device_control_unphysical_mode3

PMP–知识卡片--Scrum角色

Scrum 角色 Scrum 团队由 5 到 9 个(72)团队成员组成。有三种类型角色: 产品负责人(PO):产品负责人定义项目愿景、需求和优先级,对产品成功负责。Scrum Master:负责团队&#xff0c…