文件系统

rootfs:根文件系统,对Linux而言每一个文件都是根文件系统下的某一个路径。
FHS:文件系统层级结构标准,规定某些目录必须存在,存储特定文件。例:ls / 查看根目录下的一级子目录
/boot: 存放系统启动相关文件,如内核,initramfs,grub(bootloader引导加载器)
initramfs-2.6.32-431.el6.x86_64.img---->暂时性的小Linux系统
vmlinuz-2.6.32-431.el6.x86_64---->系统启动时要用到的内核。
/dev: 设备文件
[[email protected] ~]# ls -l /dev/
备注:显示内容中浅蓝色的都是符号链接文件(Windows中的快捷方式)
分类: 块设备(b)---->可实现随机访问的设备,数据块,如磁盘
字符设备(c)-->线性设备,可以理解为有次序的访问,按字符为单位,如键盘,鼠标,显示器
特点:背景黑色,前景黄色
设备号:同一种类型下的不同设备,比如装了两个相同的硬盘
主设备号(major),次设备号(minor)
brw-rw---- 1 root disk 7, 0 Aug 29 17:47 loop0
brw-rw---- 1 root disk 7, 1 Aug 29 17:47 loop1
注意:一个硬件设备在Linux中有设备文件才能被Linux所访问,这个设备文件就是它的访问入口。
/etc: 配置文件。如: [[email protected] ~]# cat /etc/passwd
/home: 用户家目录,每一个用户的家目录默认为/home/USERNAME
例:[[email protected] ~]# ls /home/
显示结果:zhg
[[email protected] ~]# su - zhg
[[email protected] ~]$ pwd
显示结果:/home/zhg
/root: root用户家目录,在生产环境中不建议用root登录,在传统的Unix系统中没有它的家目录。
/lib: 库文件,库是被调用封装好的某些功能,程序开发时直接拿来用就不自己写了。
静态库:在Linux中以.a结尾,它作为程序的一部分运行在内存,如果迁移,能一直使用。
例:主机A有ls命令,依赖库文件ls.so,静态编译是将ls和kuls.so放在一起编译,复制ls时候会将ls.so一并复制。
动态库:即动态链接库。Windows中特征是以.dll结尾,Linux中以.so(shared object)结尾。
库调入内存中才能用,动态库是说多个软件同时需要一个库时候,库文件只需要在内存中存一份就行。
迁移时,目的端系统有相同的库才能运行。
例:主机A有ls命令,依赖库文件ls.so,此时如果把ls复制到主机B那么ls是不能用的,还必须将ls.so一同复制过去才可以。
注意:库文件显示为绿色,库文件不能单独执行,原因在于它没有程序的访问入口,所以只能被调用。
/lib/modules:内核模块文件
/lost+found: 任何一个新建的分区上都会有的目录,通常和文件系统相关。
用于机器突然断电,文件没有属主和属组,且尚未保存的文件,可以从这里找回。
/media和/mnt:挂载点目录
访问光盘数据的方式:
1.Windows中访问光盘数据,放入光盘到光驱,双击图标打开访问。
2.Linux中访问光盘数据,放入光盘到光驱后,必须要将这个设备关联到当前整个文件系统树上的某个节点上才可以访问。
而这个过程:把某个设备跟当前文件系统上的某一个目录建立关系或者说关联的过程,叫做挂载。
在这里我们不能直接访问/dev/cdrom,因为它只是访问数据的入口
注意: /media:主要挂载移动设备-->U盘,光盘
/mnt:主要挂载额外的临时文件系统-->第二块硬盘
以上是FHS的规定,实际上可以看用户心情滴!
/opt: 可选目录,早起用于安装第三方程序的目录,比如oracle。
/proc: 伪文件系统
1.在系统没有开机时是空的。
2.开机后里面会有文件,里面盛放的是内核映射文件,即内核工作的统计数据。
如网卡的接收和发送的数据包统计,内核是否支持IPv4,是否支持路由功能等等。
3.系统调优和系统性能监控都与这个目录有关系。
/sys: 伪文件系统
1.在系统没有开机时是空的。
2.跟硬件设备相关的属性映射,实际上与内核相关,只不过把它独立出来了。
3.修改磁盘IO调度队列会在这里更改。
4. [[email protected] ~]# ls /sys/
显示结果:block  bus  class  dev  devices  firmware  fs  hypervisor  kernel  module  power
/tmp: 临时文件(另一个是/var/tmp)
该目录中的文件,每个人都能创建内容,只是只能删除自己的内容,但是系统会自动删除一个月没有访问过的内容。
[[email protected] ~]# ls -ld /tmp/
显示结果:drwxrwxrwt. 3 root root 4096 Aug 29 19:15 /tmp/(背景色是绿色)
/var: 可变化的文件。
1.刚装完系统时候此目录很小,运行半年后会发现此目录数据量越来越大
例:[[email protected] ~]# ls /var/
显示部分结果:log cache lib lock mail run tmp(这是另一个临时文件目录)
备注: 在Linux系统中,每一个进程运行起来以后都会有一个进程号码。
某个进程会将这个号码存储于单独的文件中。
这个文件就在run这个目录下,而且通常是以.pid结尾的文件。
[[email protected] ~]# ls /var/run/
/bin: 可执行文件,用户名令
/sbin: 管理命令
注意:可执行文件保存在/bin和/sbin,它们运行会依赖库/lib,而且每个程序都有可能有配置文件,它保存在/etc目录下。
/usr: user shared read-only
1. /usr/bin
/usr/sbin
/usr/lib
解释: /bin和/sbin:系统自身启动相关命令或者可执行程序
/usr/bin和/usr/sbin:系统启动后,为了提供一些基本功能所应该具备的命令或者可执行程序
但不管怎样,在/usr/bin和/usr/sbin下程序所依赖的库,如果不是公共库(/lib),那就必须放在/usr/lib了。
2. /usr/local/bin
/usr/local/sbin
/usr/local/lib(etc,conf等等)
解释: 这是第三方软件安装路径。
注意: 这个部分是可有可无的,不小心将其格式化没有关系,不会影响系统正常使用,但是前面提到的就不行了。;