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…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
