Linux/AP_Autosar/C++系列之 文件系统
“ 都是比较基础的知识点,可以说没什么用,也可以说后面处处用,用到了自然就记住了,一步一步走,不着急,照顾暂时还不清楚的读者”
文件系统
目录 | 描述 |
bin | 存放可执行文件,如常用的命令和程序 |
boot | 存放启动相关的文件,包括内核和引导程序 |
dev | 存放设备文件,用于访问硬件设备 |
etc | 存放系统配置文件 |
home | 存放用户的主目录 |
lib | 存放共享库文件,供程序调用 |
media | 自动挂载的媒体设备目录,如光驱、U盘等 |
mnt | 临时挂载目录,用于挂载其他文件系统 |
opt | 存放额外安装的软件包目录 |
proc | 存放系统内核和进程相关的虚拟文件系统 |
root | 管理员(超级用户)的主目录 |
run | 存放运行时需要的临时文件和目录 |
sbin | 存放系统管理命令,只能由管理员执行 |
srv | 存放服务相关的数据目录 |
sys | 存放与硬件设备相关的信息 |
tmp | 存放临时文件和临时目录 |
usr | 存放用户安装的应用程序和文件,类似于Program |
var | 存放变量文件,包括日志文件和临时数据 |
srv | 存放服务相关的数据目录 |
文件的属性信息
从第一个文件bin->usr/bin 开始 最前面的 lrwxrwxrwx
举个例子
-rw-r--r-- 1 user group 40960 Jul 20 10:30 example.txt
-
-rw-r--r--
:这是文件的权限,-rw-
表示所有者有读写权限,r--
表示组和其他人有只读权限。 -
1
:这是硬链接数量。 -
user
:这是文件所有者的用户名。 -
group
:这是文件所属组的组名。 -
40960
:这是文件的大小,它占用了40,960个字节的磁盘空间。 -
Jul 20 10:30
:这是文件的修改日期和时间。 -
example.txt
:这是文件的名称。
i 节点
在Linux文件系统中,每个文件和目录都对应一个唯一的i节点号码(inode number),通过这个号码可以在文件系统中找到对应的i节点。i节点采用了一个索引结构,其中包含了与文件相关的所有信息。
i节点中的元数据包括:
- 文件类型:指示文件是普通文件、目录、符号链接等。
- 权限:定义了文件的访问权限,包括读、写和执行权限。
- 所有者:文件的拥有者。
- 创建时间:文件的创建时间戳。
- 文件大小:以字节为单位的文件大小信息。
- 引用计数:记录了指向文件的硬链接数量。
- 数据块指针:指向实际存储文件数据的数据块的指针。
如下图每一个文件,(目录也是文件) 都有独一无二的编号
还可以查看一下当前用了多少个i节点,还可以使用多少个。
突然发现左边是windows 自带的wsl 显示的不对劲(意外收获)。右边的是linux服务器 是好用的。
文件类型
- 普通文件(Regular file):这是存储文本、二进制数据或其他类型数据的一般文件。在ls -l命令的输出中,它以- 字符开头。
- 目录(Directory):这是一种特殊的文件类型,用于组织和存储其他文件和目录。在ls -l命令的输出中,它以d 字符开头。
- 符号链接(Symbolic link):也称为软链接,它是指向另一个文件或目录的特殊类型文件。在ls -l命令的输出中,它以l 字符开头。
- 字符设备文件(Character device):这是用于与设备驱动程序进行字符流式交互的特殊文件。在ls -l命令的输出中,它以c 字符开头。
- 块设备文件(Block device):这是用于与设备驱动程序进行数据块交互的特殊文件。在ls -l命令的输出中,它以 b 字符开头。
- 套接字(Socket):它是两个不同进程间进行通信的一种方式。在ls -l命令的输出中,它以s 字符开头。
- 管道文件(Named pipe):也称为FIFO(First In First Out),它允许两个进程间进行单向通信。在ls -l命令的输出中,它以p 字符开头。
文件权限
r(读取权限):允许读取文件的内容和属性。
w(写入权限):允许修改文件的内容和属性,包括删除文件、重命名等操作。
x(执行权限,对于目录为进入权限):允许执行可执行文件或者进入目录。
文章转载自公众号:汽车与基础软件