目录
FHS:
- /:根目录
/boot:启动Linu时使用的一些核心文件
/bin:存档常用的命令
/dev:存放Linux的设备文件
/etc:系统中所有和配置相关的目录或者文件
/home:所有普通用户的家目录,默认的工作目录,以用户名命名的目录
/root:root的家目录
/lib:库文件
/lib64:64位的库文件
/media:挂载点,挂载U盘 光驱
/mnt:挂载点,给系统临时挂载
/opt:安装软件的存放目录
/sbin:系统管理类命令
/proc:伪文件系统:系统运行时映射到此目录
/srv:系统启动后一些服务需要调用的数据
/tmp:存放临时文件
/usr:用户的很多程序文件都放在此目录
- /usr/bin
- /usr/sbin
- /usr/src:放源代码目录
/var:存放日志,或者系统运行中变化量的数据。
/var/log
Linux 支持的常见的文件系统
Ext系列 Ext4
XFS:目前最新的CentOS7版本默认使用的就是此文件系统
SWAP:是Linux中用于交换区的文件系统,当内存不够用时,使用交换分区暂时替代内存,不超过2GB
NFS:用来实现不同主机之间文件共享的一种网络服务,本地主机可以通过挂载的方式使用远程共享的资源
inode,block,superblock
硬盘的最小存储单位是扇区,每个扇区是512个字节。多个扇区组成的块称为block,是文件的最小存储单位,最常见的块大小为4KB,约为8个连续的扇区组成。一个文件可能会占用多个block,但一个块只能存放一个文件。
Linux系统可以简单分为inode table和data area
而硬盘中还有一个superblock,记录inode和block的总量
inode
可以使用stat命令查看文件的inode信息
inode包含的信息至少有如下:
- 文件的类型
- 文件访问权限
- 文件的所有者和组
- 文件的大小
- 链接数,即指向该inode的文件名总数
- 文件的状态改变时间(ctime),最近访问时间(atime)和最近修改时间(mtime)
- 文件特殊属性,SUID,SGID,SBIT
- 文件内容的真正指向(pointer)
ls -i 可以看到文件名对应的inode号码
block
存储文件的真实内容
superblock
记录文件整体信息,包括inode和block的总量,使用量,剩余量等信息
links
- 硬链接:一般情况下,文件名和inode是“一一对应”关系。但是,linux系统中允许,多个文件名指向同一个inode节点号。这意味着,我们可以用不同的文件名访问同样的内容。对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问
- 软链接:文件A依赖于文件B存在,如果删除文件B,打开文件A就会报错:“No such file or directory”
- 软链接与硬链接最大不同是:软链接,文件A指向文件B的文件名,而不是文件B的inode节点号
删除file后:
文件删除原理
i_count:当前文件被调用的次数
i_nlink:当前文件硬链接的数量
当二者都为0,说明文件才能被真正删除