首页 > 代码库 > linux文件系统
linux文件系统
一、linux主要的文件系统类型
①ext(2/3/4) xfs ffs ufs jfs vfat ntfs
②交换文件系统swap
③网络文件系统nfs smbfs
④分布式文件系统ceph
⑤光盘文件系统 isso9660
linux最传统的文件系统是使用的EXT,所以要了解linux的文件系统,首先从ext开始。ext有ext2、ext3、ext4等ext2不支持日志功能。
二、创建分区
查看分区
fdisk -l [DEVICE]..
创建分区
fdisk [DEVICE]
交互式界面的命令
p 显示磁盘分区表
n new 新建分区
d delete 删除分区
t 修改分区系统的id
L 列出系统已经有的id
w 保存退出
q 不保存退出
脚本中怎么进行交互式?以下为创建一个20G的逻辑分区
echo ‘
n
+20G
w‘|fdisk /dev/sda
对于已经有分区在使用的磁盘来说,新建的分区需要内核重新读取其分区
centos6 kpart -af [DEVICE]
part -a [DEVICE]
三、创建文件系统(格式化)
mkfs -t FSTYPE [DEVICE]
例:mkfs -t ext3 sda3=mkfs.ext3 sda3
将磁盘sda3格式化成ext3文件系统。
不过一般对于ext系统文件系统我们通过mke2fs的命令,其功能将更强大
mke2fs
-t {ext2|ext3|ext4}:指定文件系统
-b {1024|2048|4096}:指定块大小
-L LABEL: 打标 mke2fs -L LABEL=e2label DEVICE LABEL
-j: 相当于 -t ext3
-i #: 每多少字节给创建一个inode,此字节数不应该少小块大小
-N #: 直接指定可用的inode数;
-m #: 指定预留空间占整个分区空间的百分比;默认为5;
-O:指定分区特性
blkid: 查看指定块设备的信息
e2label:查看或设定卷标
e2label DEVICE [LABEL]
查看超级块信息:
# tune2fs -l DEVICE
# dumpe2fs -h DEVICE
修改分区属性:tune2fs
块大小无法调整;
-j: ext2 --> ext3
-L LABEL:修改卷标
-m #: 修改预留空间百分比;
-O [^]FEATURE: 启用指定特性,特性前加^,表示关闭此种特性
-o [^]mount-options: 开启或关闭指定的挂载选项
因进程意外中止或系统崩溃等情况导入写入操作非正常中止时,可能会导致文件损坏;此时,应该修复文件系统:
注意:离线修复
fsck
-t fstype
-a: 自动修复错误
-r: 交互式修复错误
e2fsck: 专用于修改ext系列文件系统
-y: 对问题自动回答为yes
-f: 强制进行检测
四、挂载
默认只有管理员才有权限
将额外的分区与根文件系统上的某目录建立关联关系的过程;
目录中的原有文件会被隐藏
挂载点:另一个文件系统的访问入口
挂载: mount DEVICE MOUNT_POINT
固定挂载点:/mnt, /media
mount [option]... [-t fstype] [-o option] 设备 挂载点
挂载点:
1、事先存在;
2、使用空闲目录;
常用的挂载选项:
-t fstype:指定文件系统类型
-r: readonly, 只读挂载
-w: read and write, 读写挂载
-L LABEL:以卷标方式指定设备, mount -L MYDATA 挂载点
-U UUID: 以UUID的方式指定设备,mount UUID=‘uuid‘ 挂载点, mount -U uuid 挂载点
-a: 自动挂载所有(/etc/fstab文件中定义的)的支持自动挂载设备
-n: 挂载时,不更新/etc/mtab文件
-o option:
async:异步I/O,数据写操作先于内存完成,而后再根据某种策略同步至持久设备中
sync: 同步I/O,
atime/noatime: 文件和目录被访问时是更新最近一次的访问时间戳
auto/noauto:设备是否支持mount的-a选项自动挂载
diratime/nodiratime: 目录被访问时是更新最近一次的访问时间戳
dev/nodev: 是否支持在此设备上使用设备;
exec/noexec: 是否允许执行此设备上的二进制程序文件
suid/nosuid: 是否支持在此设备的文件上使用suid
remount: 重新挂载,通常用于不卸载的情况下重新指定挂载选项
ro: 只读
rw: 读写
user/nouser: 是否允许普通挂载此文件设备
acl: 在此设备是支持使用facl,默认不支持;
例如:以指定挂载后支持acl为例:
方法1:
mount -o acl DEVICE MOUNT_POINT
方法2:
tune2fs -o acl DEVICE
为设备设定默认挂载选项
mount DEVICE MOUNT_POINT
查看所有已经挂载的设备:
# mount
# cat /proc/mounts
# cat /etc/mtab
卸载:挂载点没有被进程访问时方可以卸载 ;
卸载:umount DEVICE
umount MOUNT_POINT
查看哪些进程正在访问挂载的设备:
fuser -v 挂载点
中止正在此挂载点的进程:
fuser -km 挂载点
df: disk free
-h: human-readable
-i: 显示inode的使用信息而非默认的磁盘空间使用信息
du: disk usage 每个大小
-s: 总大小(summary)
-h: 显示可识别的单位
五、swap分区
mkswap
free: 查看内存及交换分区的使用信息
启用某交换分区设备
swapon [DEVICE]
-a: all, 启用所有交换分区
-p #: 指定此交换设备的优先级
禁用某交换分区设备
swapoff [DEVICE]
-a: 禁用所有
自动挂载的设备的配置文件:/etc/fstab
6字段:
挂载的设备:
设备文件
LABEL
UUID
挂载点:
文件系统类型
挂载选项:
挂载选项可以有多个,彼此间使用逗号分隔;
转储频率:
0:从不转储
1: 每天转储
2: 每隔一天
自检次序:
0:不自检,额外创建的文件系统都无须自动自检
1:首先自检,通常只有根文件系统需要首先自检
2:次级自检,不同的设备可以使用同一个自检次序
3
...
本文出自 “从零开始” 博客,请务必保留此出处http://zerofly.blog.51cto.com/4476065/1531127