文件系统
1.所谓文件系统,就是文件数据在计算机硬件上以何种形式存放,组织及管理的 文件数据:1.元数据(metadate):属性信息 2.数据 Attention:这两种数据是分开存放的 元数据:inode 1.本身是个数据结构,占有独立的磁盘块 2.主要用来存放属性信息,包括:权限,属主,属组,大小,类型,存储这个文件或目录的真正的磁盘块编号 Attention:ls -i 查看inode号,以及使用情况 数据: 1.文件数据都是放在磁盘块上的 2.在linux下,目录也是以文件的形式存放的,其中存放的是,文件名和inode的对应关系 例如:查找/var/log/messages /(根,是一个特殊的inode节点,特殊之处在于可以自我引用)————通过内部的磁盘编号,找到根目录的磁盘块号————> 根目录文件中找到,var目录和其inode的对应条目----以此找到var的inode节点--->在var的inode中找到,var目录的磁盘块号 ----->找到磁盘块,在其内部找到log目录和其inode的对应条目——————以此找到log目录的inode————>在log的inode中找到,log目录的磁盘块号 ----->找到磁盘块,在其内部找到messages文件和其inode的对应条目——————>以此找到messages的inode————>在messgaes的inode中找打,messages的磁盘块号 ——————>找到磁盘块,读取其中数据 inode和磁盘块的位图 bitmap 1.0表示空闲 2.1表示已用 Attention:1.为了方便管理,将磁盘分成多个inode表和磁盘块表配套的独立管理的空间 2.mv 移动文件 只是将对应的磁盘块号和inode的对应条目放到对应的目录磁盘块中去了 2.链接 硬链接:不同路径的文件指向同一个inode 1.不能跨分区存在 2.不能对目录创建硬链接,避免循环调用 删除硬链接:减少文件对应的inode被引用的次数,而不动文件本身 软链接:是独立的文件,有独立的inode号 文件权限为777,但不表示源文件的权限也是777,所以更应关注源文件的权限 1.可以跨分区存在 2.可以对目录创建 Attention 1.软链接文件的大小是链接的源文件的路径字符数 例如:在/tmp下创建一个软链接文件,链接的是当前目录下的inittab到/tmp/s,软链接文件的大小就是inittab的字符数7b 在/tmp下创建一个软连接文件,链接的是/root目录下的inittab到/tmp/d,软链接文件的大小就是/root/inittab的字符数13b 2.删除软链接的源文件,链接损坏,创建一个与源文件同名的文件,链接可用,因此,链接只识别路径 3.删除软链接,源文件不动 创建链接:#ln [options] srcFILE destDIR 默认创建硬链接 -s 创建软链接文件 特殊文件:c 字符设备文件 b 块设备文件 标识文件大小的位置:因为此文件不占磁盘空间,而显示的设备号 3.文件系统类型 ext2,ext3,ext4 xfs,reiserfs,iso9660,swap GFS2,OCFS2,NFS,SMBFS VFAT,NTFS 4.VFS:Virtual FileSystem 解决:在不同文件系统下可以执行同一命令,而不用程序员关心 5.文件管理命令 ls /etc -ldh 查看/etc的权限等(-l)信息,其中文件大小以可读形式(单位换算,-h) 查看目录本身信息(-d) du [options] dir 显示目录下各个目录大小,和文件大小 file 显示文件大小 -s 显示总和 -h 单位换算,可读模式 -sh df 显示每个分区(也就是每个文件系统)的使用情况 其中有个tmpfs 是伪文件系统 -h 可读模式,单位换算 -i 显示inode使用情况 -ih Attention ls -i 也可以查看inode的使用情况 fdisk -l 列出当前系统上每一个磁盘及其使用情况 文件系统检测 检测文件系统是否存在不一致性(inode条目在,而文件却不完整,通常是由系统故障产生的) fsck (filesystem check,文件系统检测) fsck [options] 设备文件 /dev/sdb1 -t fstype 默认检测/boot 和/ e2fsck [options] 设备文件 专门检测ext2和ext3文件系统 -f 强行检测,即使文件系统不一致 -a 自动修复文件系统不一致 -B 指定块大小 dumpe2fs [options] 设备文件 详细显示ext2,ext3文件系统信息 -f 强行显示,即使文件系统不一致,如果不一致,默认是不显示的 -h 只显示超级块信息 Attention:显示Filesystem features has journal 表示有文件系统有日志功能 tune2fs [options] 设备文件 建立好文件系统之后,修改属性信息 -j ext2升级为ext3 (安全方式,不会改动文件) -m 预留给超级用户的磁盘空间百分比 -r 直接指定多少磁盘块给超级用户 -L 设置卷标 -V 显示超级块信息(不显示块组)=dumpe2fs -h -c 调整多少次挂载之后自动检测文件系统 0,-1代表关闭此功能 -i num{d|m|w(eek)} 调整多少时间之后自动检测文件系统 -u user 指定哪个超级用户 -o(小) 设定和调整挂载选项 -o acl 打开挂载的访问控制列表功能 ext系列有acl功能,挂载时默认不支持, 需要通过此命令开启 Attention:磁盘在文件系统创建好之后不能被修改,所以在创建之时一定要慎重!!!