Linux文件系统
Linux内核的五大子系统:
- 进程调度
- 进程通信
- 内存管理
- 网络接口
- 文件系统(*)
在Linux中,一切皆文件。 文件系统是操作系统中负责管理持久数据的子系统,是管理文件和目录的一套机制。文件系统的基本数据单位是文件,Linux的文件系统会给每个文件分配两个数据结构:索引节点(index node,作为文件的唯一标识,用来记录文件的inode编号、文件大小、访问权限、创建时间、修改时间、数据在磁盘的位置等元信息)和目录项(directory entry,用来记录文件名,索引节点指针以及与其他目录项的层级关联关系,多个目录项关联起来就会形成目录结构),它们都主要是被用来记录文件的元信息和目录层次结构。
文件系统主要对磁盘上面的文件进行组织管理,组织方式不同,形成的文件系统也会不同。常见文件系统类型:
- 硬盘文件系统:ext/ext2/ext3/ext4、xfs(*)
- 网络文件系统:nfs
- 用于交换分区的文件系统:swap
- 光盘文件系统:iso9660
- 虚拟文件系统:vfs
- Windows文件系统:fat32、ntfs(*)
- 基于内存的虚拟文件系统:proc、sysfs、tmpfs
Linux目录结构
Linux的目录结构如下:
1、bin:存放二进制可执行命令,用户常用命令都存在该目录下
2、dev:存放设备文件(因为linux中一切皆文件,所以各种设备对linux来说就是一个个文件)
3、home:普通用户的家目录
4、lib64:存放64位系统上的辅助共享库文件
5、media:linux 会自动识别一些设备,如U盘、光驱等,当识别后,linux 会把其挂载到该目录下
6、mnt:用来让用户临时挂载别的文件系统
7、opt:第三方应用程序的安装位置
8、root:root用户的家目录
9、selinux:Selinux 是一个安全机制,类似于 windows 的防火墙
10、sys:用于输出当前系统上硬件设备相关的虚拟文件系统
11、usr:用户的很多应用程序和文件都放在这个目录下
12、vmtools
13、boot:存放启动 Linux 时使用的一些核心文件
14、etc:存放所有的系统管理所需要的配置文件和子目录
15、lib:存放系统在启动时依赖的基本共享库文件以及内核模块文件
16、lost+found:一般情况下是空的,当系统非法关机后,这里就存放了一些文件
17、misc:挂载目录
18、net:存放着和网络相关的一些文件
19、proc:用于输出内核与进程信息相关的虚拟文件系统
20、sbin:存放只供root使用的二进制可执行文件
21、srv:存放一些服务启动之后需要提取的数据
22、tmp:存放临时文件
23、var:放置系统中经常要发生变化的文件,如日志文件
Linux常用命令
1、外部命令
2、内部命令(enable可以显示所有的内部命令,type可以显示给出的指令是内部指令还是外部指令)
可以发现,内部命令和外部命令有部分重名,这些命令一般采用内部实现,如要使用其外部命令实现,直接指明对应的文件即可。
如何查看命令的具体功能:
1、help
2、man或info(info是man 的详细内容)