Linux文件属性 --- 七种文件类型---文件.目录、软硬链接、字符设备文件
目录
七种文件类型
1、普通文件和目录
2、链接文件
2.1硬链接
2.2软链接
3、字符设备文件
一、七种文件类型
Linux的文件属性中一共有以下七种类型 :
| 符号 | 类型 | 含义解释 |
| - | 普通文件 | 纯文本文件(ASCII)和二进制文件(binary) |
| d | 目录 | 类似于Windows的文件夹 |
| l | 符号链接文件 | ln –s 源文件 链接文件可以产生链接文件 |
| c | 字符设备文件 | 一些特殊的设备文件 |
| b | 块设备和其他外围设备 | 如硬盘和内存 |
| s | 套接字文件 | 与另一个进程进行跨网络通信的文件 |
| p | 管道文件 | 主要用于进程间通信 |
1、普通文件和目录
输入ll -h命令,这里看最左边第一位,分别有“-”和“d”。“-”代表是文件类型,“d”代表目录类型,这两种文件类型符号在linux系统中是很常见的。

[root@fnd_LN abc]# touch a1.txt;mkdir 123;ll -h
总用量 0 #创建a1.txt文件、123目录、查看详细信息
drwxr-xr-x. 2 root root 6 12月 17 09:30 123
-rw-r--r--. 1 root root 0 12月 17 09:30 a1.txt
2、链接文件
在Linux文件系统里,链接可分为两种 : 硬链接与软链接,硬链接的意思是一个文件可以有多个名称,而软链接的方式则是产生一个特殊的文件,该文件的内容是指向另一个文件的位置。
硬链接只能存在在同一个文件系统中,软链接可以跨越不同的文件系统。这两种链接都不会额外占用太多的系统内存,类似于Windows操作系统中的副本备份或快捷方式。
| 软链接 | 硬链接 |
| 以路径形式存在 | 以文件副本形式存在 |
| 目录能创建链接 | 目录不能创建链接 |
| 能跨文件系统 | 不能跨文件系统 |
| 可以对不存在的文件名进行链接 | / |
ln [参数][源文件或目录][目标文件或目录]
| 参数 | 作用 |
| --backup[=CONTROL] | 备份已存在的目标文件 |
| -b | 类似 --backup,不接受参数 |
| -d | 允许超级用户制作目录的硬链接 |
| -f | 强制执行 |
| -i | 交互模式,若文件存在则提示用户是否覆盖 |
| -n | 把符号链接当作一般目录 |
| -s | 软链接 |
| -v | 显示详细的处理过程 |
2.1硬链接
[root@fnd_LN abc]# ll #创建硬链接前
总用量 0
-rw-r--r--. 1 root root 0 12月 17 14:01 123.txt[root@fnd_LN abc]# ln 123.txt 123.txt.backup #创建硬链接后
[root@fnd_LN abc]# ll
总用量 0
-rw-r--r--. 2 root root 0 12月 17 14:01 123.txt #源文件和链接文件均为蓝色
-rw-r--r--. 2 root root 0 12月 17 14:01 123.txt.backup #不为符号链接文件
硬链接是以文件副本形式存在的,所有源文件和链接文件的内容是互通的,假如要删除源文件是不会影响链接文件数据的,只是会取消蓝色标记,以不同名称的形式来“代替”源文件。
[root@fnd_LN abc]# echo 666 > 123.txt.backup #修改任意其中一个,另一个也会变化
[root@fnd_LN abc]# cat 123.txt
666
[root@fnd_LN abc]# cat 123.txt.backup
666
[root@fnd_LN abc]# rm -f 123.txt #删除源文件
[root@fnd_LN abc]# ll
总用量 4
-rw-r--r--. 1 root root 4 12月 17 14:15 123.txt.backup #链接标志消失,内容不变
2.2软链接
[root@fnd_LN abc]# ln -s 123.txt 123.txt.backup
[root@fnd_LN abc]# ll
总用量 0
-rw-r--r--. 1 root root 0 12月 17 14:26 123.txt
lrwxrwxrwx. 1 root root 7 12月 17 14:28 123.txt.backup -> 123.txt #首位为链接文件标识
软连接在写入上与硬链接相同,修改任意其中一个,另一个也会变化。但是如果删除源文件,软链接文件将丢失所有数据,就像是Windows操作系统中的快捷方式。
[root@fnd_LN abc]# rm -f 123.txt #删除源文件
[root@fnd_LN abc]# ll
总用量 0
lrwxrwxrwx. 1 root root 7 12月 17 14:28 123.txt.backup -> 123.txt[root@fnd_LN abc]# cat 123.txt.backup
cat: 123.txt.backup: 没有那个文件或目录
3、字符设备文件
在这里每个硬件设备都被视为一个“文件”,可以让使用者比较直观地去查看了解。
c代表字符设备:以字节为单位进行读写的设备。
b代表块设备:以块为单位进行读写的设备。
例如,/dev/sda就是一个块设备文件,代表了第一个SATA硬盘,a后面的数列为硬盘的分区。
[root@fnd_LN ~]# ll /dev #不同设备也有不同颜色的区分
总用量 0
crw-rw----. 1 root video 10, 175 12月 17 09:26 agpgart
crw-------. 1 root root 10, 235 12月 17 09:26 autofsbrw-rw----. 1 root disk 8, 0 12月 17 09:26 sda
brw-rw----. 1 root disk 8, 1 12月 17 09:26 sda1
brw-rw----. 1 root disk 8, 2 12月 17 09:26 sda2
相关文章:
Linux文件属性 --- 七种文件类型---文件.目录、软硬链接、字符设备文件
目录 七种文件类型 1、普通文件和目录 2、链接文件 2.1硬链接 2.2软链接 3、字符设备文件 一、七种文件类型 Linux的文件属性中一共有以下七种类型 : 符号类型含义解释-普通文件纯文本文件(ASCII)和二进制文件(binaryÿ…...
Tree-of-Counterfactual Prompting for Zero-Shot Stance Detection
论文地址:Tree-of-Counterfactual Prompting for Zero-Shot Stance Detection - ACL Anthologyhttps://aclanthology.org/2024.acl-long.49/ 1. 概述 立场检测被定义为对文本中立场态度的自动推断。根据 Biber 和 Finegan (1988) 的定义,立场包含两个主…...
NextJs 路由管理
NextJs 路由管理 Defining Routes 1. Creating Routes 2. Creating UI export default function Page() {return <h1>Hello, Next.js!</h1> }Route Groups 路由组 1. 在不影响 URL 路径的情况下组织路由 要在不影响 URL 的情况下组织路由,请创建一…...
hive 小文件分析
1、获取fsimage文件: hdfs dfsadmin -fetchImage /data/xy/ 2、从二进制文件解析: hdfs oiv -i /data/xy/fsimage_0000000019891608958 -t /data/xy/tmpdir -o /data/xy/out -p Delimited -delimiter “,” 3、创建hive表 create database if not exists…...
【JavaWeb后端学习笔记】WebSocket通信
WebSocket是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。 主要应用场景:视频弹幕、网页聊天、体育实况更新、股票基金报价实时…...
搭建springmvc项目
什么是springmvc MVC它是一种设计理念。把程序按照指定的结构来划分: Model模型 View视图 Controller控制层 springmvc框架是spring框架的一个分支。它是按照mvc架构思想设计的一款框架。 springmvc的主要作用: 接收浏览器的请求数据,对数据进行处理,…...
Springboot3.x配置类(Configuration)和单元测试
配置类在Spring Boot框架中扮演着关键角色,它使开发者能够利用Java代码定义Bean、设定属性及调整其他Spring相关设置,取代了早期版本中依赖的XML配置文件。 集中化管理:借助Configuration注解,Spring Boot让用户能在一个或几个配…...
java后端环境配置
因为现在升学了,以前本来想毕业干java的,很多java的环境配置早就忘掉了(比如mysql maven jdk idea),想写个博客记录下来,以后方便自己快速搭建环境 JAVA后端开发配置 环境配置jdkideamavenMySQLnavicate17…...
手眼标定工具操作文档
1.手眼标定原理介绍 术语介绍 手眼标定:为了获取相机与机器人坐标系之间得位姿转换关系,需要对相机和机器人坐标系进行标定,该标定过程成为手眼标定,用于存储这一组转换关系的文件称为手眼标定文件。 ETH:即Eye To …...
WebGIS城市停水及影响范围可视化实践
目录 前言 一、相关信息介绍 1、停水信息的来源 2、停水包含的相关信息 二、功能简介 1、基础小区的整理 2、停水计划的管理 三、WebGIS空间可视化 1、使用到的组件 2、停水计划的展示 3、影响小区的展示 4、实际效果 四、总结 前言 城市停水,一个看似…...
无管理员权限 LCU auth-token、port 获取(全网首发 go)
一: 提要: 参考项目: https://github.com/Zzaphkiel/Seraphine 想做一个 lol 查战绩的软件,并且满足自己的需求(把混子和大爹都表示出来),做的第一步就是获取 lcu token ,网上清一色…...
【数字花园】数字花园(个人网站、博客)搭建经历教程
目录 写在最最前面数字花园的定义第一章:netlify免费搭建数字花园相关教程使用的平台步骤信息管理 第二章:本地部署数字花园数字花园网站本地手动部署方案1. 获取网站源码2.2 安装 Node.js 3. 项目部署3.1 安装项目依赖3.2 构建项目3.3 启动http服务器 4…...
python模拟练习第一期
问题一 如果一个数 p 是个质数,同时又是整数 a的约数,则 p 称为 a的一个质因数。 请问 2024 有多少个质因数? 步骤 1: 分解 2024 首先,2024 是偶数,说明可以被 2 整除。我们从 2 开始进行除法分解: 202…...
Xcode
info.plist Appearance Light 关闭黑暗模式 Bundle display name 设置app名称,默认为工程名 Location When In Use Usage Description 定位权限一共有3个key 1.Privacy - Location When In Use Usage Description 2.Privacy - Location Always and When In U…...
RabbitMQ安装延迟消息插件(mq报错)
之前启动一个springboot的单体项目,一直mq的错误,即便我更新了最新版本的mq,还是报错。 后来才发现,项目使用了延时队列,是需要单独下载延时插件的。 1如果判断mq有没有延时队列插件【没有x-delayed-message】 2下载…...
es 3期 第15节-词项查询与跨度查询实战运用
#### 1.Elasticsearch是数据库,不是普通的Java应用程序,传统数据库需要的硬件资源同样需要,提升性能最有效的就是升级硬件。 #### 2.Elasticsearch是文档型数据库,不是关系型数据库,不具备严格的ACID事务特性ÿ…...
iOS Delegate模式
文章目录 一、 Delegate 模式的概念二、Delegate 的实现步骤步骤 1: 定义一个协议(Protocol)步骤 2: 在主类中添加一个 delegate 属性步骤 3: 实现协议的类遵守协议并实现方法步骤 4: 设置 delegate 三、Delegate 模式的特点四、Delegate 模式的常见场景…...
java-使用druid sqlparser将SQL DDL脚本转化为自定义的java对象
java-使用druid sqlparser将SQL DDL脚本转化为自定义的java对象 一、引言二、环境三、待解析的DDL四、解析后的对象结构五、完整的UT类六、控制台输出总结 一、引言 在日常开发中,有些需要对SQL进行解析的场景,比如读取表结构信息,生成文档、…...
React状态管理常见面试题目(一)
1. Redux 如何实现多个组件之间的通信?多个组件使用相同状态时如何进行管理? Redux 实现组件通信 Redux 是一个集中式的状态管理工具,通过共享一个全局 store 来实现多个组件之间的通信。 通信机制: 所有状态保存在 Redux 的全局 store 中。使用 ma…...
jenkins 出现 Jenkins: 403 No valid crumb was included in the request
文章目录 前言解决方式:1.跨站请求为找保护勾选"代理兼容"2.全局变量或者节点上添加环境变量3.(可选)下载插件 the strict Crumb Issuer plugin4.重启 前言 jenkins运行时间长了,经常出现点了好几次才能构建,然后报了Je…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
