linux 文件系统
Posted 武云医生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 文件系统相关的知识,希望对你有一定的参考价值。
(一)分区:
(1)主分区:
一块硬盘总共最多只能分四个;扩展分区只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。
逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区。
(2)分区表示方法:
①图例表示:
②说明:
a代表第一块硬盘
1.2.3.4:代表四个主分区
③常用方式:
分一个主分区,别的都为扩展分区,即使主分区没有使用3和4的分区号,也不能给逻辑分区使用
(二)文件系统:
(1)ext2:是ext文件系统的升级版本,Red Hat Linux7.2版本以前的系统默认都是ext2文件系统。1993年发布,最大支持16TB的分区和最大2TB的文件(1TB=1024GB=1024*1024KB)
(2)ext3:ext3文件系统是ext2文件系统的升级版本,最大的区别就是带日志功能,以在系统突然停止时提高文件系统的可靠性,支持最大16TB的分区和最大2TB的文件。
(3)ext4:它是ext3文件系统的升级版。ext4在性能、伸缩性和可靠性方面进行了大量改进。EXT4的变化可以说是翻天覆地的,比如向下兼容EXT3、最大1EB文件系统和16TB文件、无限数量子目录、Extents连续数据块概念、多块分配、延迟分配、持久预分配、快速FSCK、日志校验、无日志模式、在线碎片整理、inode增强、默认启用barrier等。是CentOS6.3的默认文件(1EB=1024PB=1024*1024TB)
(三)常用系统命令:
(1)df //查看所有的分区:
a:--all
B:--block-size=SIZE
h:--human-readable
H:--si
i:--inodes 显示inode 信息而非块使用量
k 即--block-size=1K
l:--local 只显示本机的文件系统
P:--portability
--sync
t:--type=TYPE
T:--print-type
x:exclude-type=TYPE
m:MB显示
k:KB显示
①df -h //更清楚的显示:
(2)du:统计目录和文件大小:
a:显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
h:使用习惯单位显示磁盘占用量,如KB,MB或GB等
s:统计总占用量,而不列出子目录和子文件的占用量
备注:
ls :只能统计文件或者文件夹名的大小,统计不了整个目录数据的大小
(3)df和du命令的区别:
df命令是从文件系统考虑的,不光要考虑文件用的空间,还要统计被命必或程序舌用的空间(最常见的就是文件已经删除,但是程序并没有释放空间,还有进程占用的空间)du命令是面向文件的,只会计算文件或目录占用的空间
(4)文件系统修复命令fsck:平时不建议使用
fsck [选项] 分区设备文件名
a:不用显示用户提示
y:自动修复
(5)dumpe2fs:显示磁盘状态:
(四)mount:查询和挂载
mount [-t 文件系统] [-L 卷标名{别名}] [-o 特殊选项] 设备文件名 挂载点
l:显示已经挂载的设备
a:根据配置文件,自动挂载。/etc/fstab
[-o特殊选项]设备文件名挂载点选项:
-t文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、(iso9660等文件系统
-L卷标名:挂载指定卷标的分区,而不是安装设备文件名挂载
-o特殊选项:可以指定挂载的额外选项
①示例:mount -o remount,noexec /home //重新挂载boot分区并且不让home这个文件夹执行,并使用noexec权限,noexec表示不执行,可以保护分区安全,一般用在文件服务器,用户上传的东西如果是脚本,就比较危险,如果不让他执行就安全
(五)挂载光盘和u盘和卸载:
(1)挂载:
①mkdir /mnt/cdrom //创建挂载点
②mount -t iso 9660 /dev/cdrom /mnt/cdrom //挂载光盘{dev/cdrom这是默认的,系统自动分配的}
简写:mount /dev/sr0 /mnt/cdrom //挂载光盘{dev/sr0也是默认的,系统自动分配的}
(2)卸载:
umount /mnt/cdrom //卸载,卸载的时候不要cd要文件夹下面
(3)挂载u盘:
①fdisk -l //查看被挂载的硬盘属于哪个盘符
②mount -t vfta /dev/sdb1 /mnt/usb //u盘的挂载,在linux中把fta分区识别为fta,把fta32识别为vfta
③linxu默认不支持挂载ntfs文件系统
(4)ntfs的挂载:
需要安装 ntfs-3g,解压编译等
(五)fdisk分区:
(1)使用fdisk -l //看是否有新的分区或者硬盘发现:
(2)fdisk /dev/sdb //进行分区
a:设置可引导标记
b:编辑bsd磁盘标签
c:设置DOS操作系统兼容标记
d:删除一个分区
l:显示已知的文件系统类型。82为Linux swap分区,83为Linux分区m|显示帮助菜单
n:新建分区
o:建立空白DOS分区表
p:显示分区列表
q:不保存退出
s:新建空白SUN磁盘标签
t:改变一个分区的系统ID
u:改变显示记录单位
v:验证分区表
w:保存退出
x:附加功能(仅专家)
①分区:fdisk /dev/sdb
选择“主分区还是扩展分区”
②选择“主分区”,然后回车,按起始开始分,“选择G大小”分区
③在按照这样的方式分一个扩展分区,在把扩展分区分一个:
④在把这个扩展分区“分出来”:
⑤查看分区之后的分区以及保存分区:
⑥partprobe:重新读取分区:
(3)格式化分区:在看看格式化之后的大小
①mkfs -t ext4 /dev/sdb1
②lsblk
(4)创建挂载点,进行挂载:
①mkdir /root/home/ios1
②mount /dev/sdb1 /home
③df -Th //查看是否挂载成功
(六)自动挂载:
(1) vim /etc/fstab //警告,如果将fstab文件写错的话,会导致系统进入不了
第一字段:分区设备文件名或UUID(硬盘通用唯一识别码),不推荐使用文件名,因为文件名可能会存在位置更换的情况
第二字段:挂载点
第三字段:文件系统名称
第四字段:挂载参数
第五字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份
第六字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,那么当然1的优先级比2高,自己挂载的目录不能比系统自带的高,不能为1,应该为2
①dumpe2fs -h /dev/sdb1 //查看UUID
②vim /etc/fstab
UUID=30f71fcf-efd9-45da-b90d-f523ed6bdfa5 /mnt/vm ext4 defaults 1 2
③mount -a //根据配置文件自动在挂载一次
Linux 文件系统管理