Linux 文件系统
简介
将二进制的数据还原为人类能看懂的文件形式,这个工作就是由文件系统来完成。由于使用场合、使用环境的不同, Linux 有多种文件系统,不同的文件系统支持不同的体系。
- 文件系统是管理数据,
- 存储数据的物理设备有硬盘、 U 盘、 SD 卡、 NAND FLASH、 NOR FLASH、网络存储设备等。
不同的存储设备其物理结构不同,不同的物理结构就需要不同的文件系统去管理,
- 管理 NAND FLASH 的话使用 YAFFS 文件系统
- 管理硬盘、 SD 卡的话就是 ext 文件系统
Linux 和 Windows 的磁盘分割
- Windows 的时候新买一个硬盘回来一般肯定是将这个硬盘分为好几个盘,比如 C 盘、 D 盘等等。这个叫磁盘的分割
- Linux 下也支持磁盘分割, Linux 下常用的磁盘分割工具为: fdisk
Linux 和 Windows 支持的文件系统比较
- Windows 下一般有 FAT、 NTFS 和 exFAT 这些文件系统
- Linux 下的文件系统主要有 ext2、 ext3、 ext4 等文件系统。 Linux 还支持其他的 UNIX 文件系统,比如 XFS、 JFS、 UFS 等,也支持 Windows 的 FAT 文件系统和网络文件系统 NFS 等
Linux 下创建一个分区并且格式化好以后我们要将其“挂载”到一个目录下才能访问这个分区。Linux 下我们使用 mount 命令来挂载磁盘。
Linux 文件系统结构
Linux 下的根目录就是“/”,
要记住的是 Linux 下是支持多用户的,在打开终端(或直接打开桌面的文件图标)进入的目录是当前用户的根目录。
进入到根目录的命令
cd /
根目录下的文件如下图所示
根目录下重要的文件夹描述
文件名 | 简介 |
---|---|
/bin | 存储一些二进制可执行命令文件, /usr/bin 也存放了一些基于用户的命令文件 |
/dev | 存放设备文件,我们后面学习 Linux 驱动主要是跟这个文件夹打交道的 |
/lib | 保存系统程序运行所需的库文件,/usr/lib 下存放了一些用于普通用户的库文件 |
/libx32 | |
/mnt | 通常包括系统引导后被挂载的文件系统的挂载点 |
/root | 超级用户 root 的根目录文件 |
/snap | |
/sys | 系统设备和文件层次结构,并向用户程序提供详细的内核数据信息 |
/var | 存储一些不断变化的文件,比如日志文件 |
/boot | 存放 Ubuntu 系统内核和系统启动文件 |
/etc | 保存系统管理所需的配置文件和目录 |
/lib32 | |
/lost+found | 一般为空,当系统非正常关机以后,此文件夹会保存一些零散文件 |
/opt | 可选文件和程序的存放目录 |
/run | |
/srv | |
/tmp | 存储系统和用户的临时文件,该文件夹对所有的用户都提供读写权限 |
/cdrom | |
/home | 普通用户默认目录,在该目录下,每个用户都有一个以本用户名命名的文件夹 |
/lib64 | |
/media | 存放 Ubuntu 系统自动挂载的设备文件 |
/proc | 虚拟目录,不实际存储在磁盘上,通常用来保存系统信息和进程信息 |
/sbin | 存储了很多系统命令, /usr/sbin 也存储了许多系统命令 |
/swapfile | |
/usr | 包括与系统用户直接有关的文件和目录,比如应用程序和所需的库文件 |
|
|
|
|
一个学 Linux 的新手
欢迎大家一起学习或留言补充
笔记来源于正点原子-STM32MP1 嵌入式 Linux 驱动开发指南