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…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
