运营 | Linux 文件系统
在Linux中,一切皆文件,不仅普通的文件和目录,块设备、管道、socket等等,都是由文件系统管理的。在Linux中的文件系统会给每个文件分配两个数据结构:索引节点(index node)和目录项(directory entry),它们都主要是被用来记录文件的元信息和目录层次结构。
- 当前文档基于
CentOS7 64位
编写
其中$
开头的是用户目录,包含Desktop
、Documents
、Downloads
、Music
、Pictures
、Public
、Templates
、Videos
,这些文件夹类似于Windows
的C盘用户目录文件夹下的内容。
#
开头的是root
用户目录,主要包含的是.
开头的配置文件。
🔣查看文件系统
bash
df -lhT # 查看文件系统
🔠支持的文件系统
bash
# 支持的文件系统
cat /proc/filesystems
⛵️项目根目录目录内容介绍
- /(根目录) :所有其他目录都是根目录的子目录,是整个文件系统的父目录
- /bin :包含启动系统和执行基本操作所需的基本二进制可执行文件,对所有用户都可用
- /boot:保存启动系统所需的文件,包括 Linux 内核、初始 RAM 磁盘映像(用于启动时需要的驱动程序)和引导加载程序配置文件(如 GRUB )
- /dev :包含代表硬件组件或其他系统设备的设备文件。例如,**
/dev/sda
代表第一个SATA
驱动器,/dev/tty
代表终端 - /etc:存储系统和应用程序的配置文件。可编辑,用于更改系统或应用程序的行为
- /home :包含所有用户的个人目录,
root
除外 - /lib:包括系统和应用程序运行所需的基本共享库和内核模块
- /media 和 /mnt:用于挂载可移动媒体(如 USB 驱动器)和临时挂载的文件系统的目录
- /opt :安装第三方应用程序的地方,需要与与 /usr 中的系统默认应用程序分开
- /proc:一个虚拟文件系统,为内核向进程发送信息提供了一种机制。它不包含真实文件,而是运行时系统信息(例如,系统内存、挂载的设备、硬件配置等)。
- /sbin :包含基本的系统二进制文件,类似于 /bin,但用于系统管理任务,通常对非特权用户不可访问
- /tmp:一个临时目录,应用程序可以在其中存储临时文件,它通常在重启或间隔一段时间后被清空。
- /usr:承载用户应用程序和大量系统内容。它包含程序、库、文档等的子目录,这些不是启动或修复系统所必需的。
- /var:包含变量数据文件。这个目录包括系统在操作过程中写入数据的文件,如日志( /var/log )、邮件( /var/mail )和打印队列( /var/spool )
☕️一切皆文件
-
普通文件类型
第一个属性为[-]
- 包括纯文本文件,二进制文件,数据格式的文件,各种压缩文件。第一个属性为[-]
-
目录文件类型
[d]
r
表明该目录文件具有可读权限w
表明该目录文件具有写权限,即可以往该目录下添加、修改、删除文件x
表明该目录文件具有可执行文件- 使用 chmod 指令来改变文件的权限
-
设备文件
- 用于为操作系统与设备提供连接的一种文件。在Linux系统中将设备作为文件来处理,操作设备就像是操作普通文件一样。每一个设备对应一个设备文件,存放在 /dev 目录中
- 字符设备文件
[c]
,串行端口的接口设备,例如鼠标键盘等 - 块设备文件
[b]
,硬盘
-
套接字文件
[s]
- 用于不同计算机间网络通信的一种特殊文件。可以启动一个程序来监听客户端要求,客户端就可以通过套接字来通信。
-
管道文件 (FIFO文件)
[p]
- 用于不同进程的信息传递,常用于两个进程的数据或信息传递,管道文件一般建立在调整缓存中
-
链接文件
[l]
- 链接文件是指向一个真实存在的文件链接,是一种特殊文件