Linux入门基础(二):Linux磁盘及文件管理系统
磁盘管理
fdisk分区工具
- 只支持MBR分区
- fdisk命令只有root用户能用
- fdisk -l 列出所有安装磁盘及分区信息
- fdisk /dev/sda (操作磁盘,按m可列出帮助界面,常用的操作有:)
- n 新增分区(设置分区类型,起始磁盘柱面等信息)
- w 保存并退出
分区后可使用partprobe命令更新分区信息,或者重启Linux刷新
文件系统
操作系统通过文件系统管理文件及数据,磁盘或分区需要创建文件系统后才能被操作系统使用,创建文件系统的过程称为格式化
- 没有文件系统的设备称为裸 ( raw ) 设备
- 常见的文件系统有 fat32,NTFS,ext2,ext3,ext4,xfs,HFS等
- 文件系统之间的区别:日志,支持的分区大小,支持的单个文件大小,性能等
- Windows主流文件系统是NTFS,Linux主流文件是ext3,ext4
建立文件系统
命令mke2fs创建文件系统:
例如:
mke2fs -t ext4 /dev/sdb1
-b 4096 指定文件系统块大小
-c 建立文件系统时检查坏块
-L label 指定卷标
-j 建立文件系统日志
命令mkfs也可以创建文件系统,相较于mke2fs简单,但支持参数少,不能精细化控制
例如:
mkfs.ext3 /dev/sda3
mkfs.ext4 /dev/sda3
命令dumpe2fs可查看分区的文件系信息
dumpe2fs /dev/sda3
日志
带日志的文件系统(ext3 , ext4)拥有较强的稳定性,在出错时可以进行恢复
使用带日志的文件系统,文件系统会使用"两阶段提交"的方式进行操作
- 文件系统将准备执行的事务内容写入日志
- 文件系统操作
- 操作成功,将事务内容从日志删除
这样做的好处是,如果出现意外,可以同过查询日志进行恢复操作.
缺点是,会丧失一定的性能(额外的日志读写操作)
文件系统标签
命令e2labe 给分区打标签
#显示sda2的系统标签
e2labe /dev/sda2
#设置sda2的系统标签为VIDEO
e2labe /dev/sda2 VIDEO
检查,修复文件系统
命令fsck用来检查并修复损坏的文件系统
#磁盘必须先卸载才能检查
fsck /dev/sda2
-y 不提示直接进行修复
-t 文件系统损坏严重时,用-t指定文件系统类型
挂载,使用文件系统
磁盘或分区创建好文件系统后,需要挂在到一个目录才能使用
- windows和mac会自动挂载
- linux要手动挂载或配置系统自动挂载
挂载
命令mount将格式化好的磁盘或分区挂载到一目录
例如
#mount 要挂载的分区 挂载目录
mount /dev/sda3 /mnt/
#显示所有已挂载的文件系统
mount
- -t 指定文件系统的类型
- -o 指定挂载选项 :
- ro,rw 只读或读写形式挂载,默认是rw
- sync 不适用缓存,直接写入磁盘(保证数据可靠性时使用)
- async 使用缓存,默认是async
- noatime 每次访问不更新文件访问时间
- atime 每次访问更新文件访问时间
- remount 重新挂载文件系统
卸载
命令umount卸载已挂载的文件系统,相当于windows弹出
#umount 文件系统/挂载点
umount /dev/sda1
umount /mnt
如果出现device is busy报错,说明该文件系统正在被使用,无法卸载(弹出)
可以使用命令 fuser -m /dev/sda1 查看使用文件系统的进程
也可以使用命令 losf /mnt 查看正在被使用的文件
自动挂载
配置文件/etc/fstab 用来定义需要自动挂载的文件系统,重启后更新,fstab中每一行代表一个挂载配置,格式如下:
/dev/sda2 | /mnt | ext4 | defaults | 0 0 |
---|---|---|---|---|
需要挂载的设备 | 挂载点 | 文件系统 | 挂载选项 | dump,fsck相关选项 |
要挂载的设备也可使用LABEL进行识别,比如用标签 VIDEO 代替 /dev/sda2
mount -a命令会挂载所有fstab中定义的自动挂载项
Linux获取帮助
几乎所有命令都可以使用-h或--help参数获取使用方法,参数信息等,例如 ls -h
man命令是linux中最为常用的命令,可以获取参数相应的文档帮助,例如 man ls
man -k 关键字,可以查看包含关键字的文档 , 例如 man -k passwd
info与man相似,比man更详细,以类网页形式展示
info与man都可以搜索 , 通过 "/+关键字"方式进行查找