Linux文件系统

来源:互联网 发布:域名ip地址url 编辑:程序博客网 时间:2024/06/14 04:04

一、分区与文件系统

1. 分区类型

    之前在已经有描述过Linux概述中已经有描述过,这里只是简单的再说一下

主分区:最多四个
扩展分区:只能有一个(算在主分区中),不能存储数据和格式化,必须再划分成逻辑分区
逻辑分区:在扩展分区中划分

2. 文件系统

ext2:ext的升级版本,在Linux7.2之前默认的文件系统,最大支持16TB分区和最大2TB的文件
ext3:ext2的升级版本,支持大小和ext2相同,最大区别就是带日志功能
ext4:ext3的升级版本,向下兼容ext3,最大1EB文件系统和16TB文件,存储和写入效率更加高效,数据可靠性更强

二、文件系统常用命令

1. df,du,fsck,dump2fs命令

命令名称:df(disk free)
功能描述:统计文件系统占用情况
语法:df [-ahTmk] [挂载点]
          -a 显示所有文件系统信息,包括特殊文件系统,如/proc,/sysfs
          -h(human) 使用习惯单位显示容量
          -T 显示文件系统类型
          -m/k 以MB或者KB为单位显示容量,KB为默认


命令名称:du(disk usage)
功能描述:统计目录或文件大小
语法:du [-ahs] [目录或文件名]
          -a 显示每个子文件的磁盘占用量(大小),默认只统计子目录的磁盘占用量
          -h 使用习惯单位显示磁盘占用量
          -s 统计总占大小,而不列出子目录子文件大小
注意:du命令和df命令的区别
          df命令是从文件系统考虑,不管考虑文件占用空间还要统计被命令或程序占用的空间(通常就是文件已经被删除,但是程序并没有释放空间)
          du命令是面向文件的,只会计算文件或目录占用的空间
          所以df看到的剩余空间才是真正的剩余空间


命令名称:fsck(file system check)
功能描述:文件系统修复
语法:fsck [-a/-y] [分区设备文件名]
          -a 不显示用户提示,自动修复文件系统
          -y 和-a作用一致,不过有些文件系统支持-y
注意:通常不需要手工执行,系统在开机之后会自动进行检测


功能描述:打印文件系统的超级块和快组信息
语法:dumpe2fs [分区设备文件名]

这里写图片描述

    使用dump2可以查看的以上信息,截取的并不全面,可以看到一些基本的信息,如数据块的大小,acl权限是否开启等

2. 挂载命令

    Linux系统中每个硬件都有一个设备文件名,如光盘,与此同时光盘也有它的一个盘符,我们需要将设备文件名和盘符连接起来才能通过访问盘符来访问这个硬件设备,连接的过程就叫做挂载

(1)查询与自动挂载

语法:mount [-la]
          查询系统中已经挂载的设备
          -l 显示卷标名称
          -a 根据配置文件/etc/fstab内容自动挂载

(2)挂载与卸载

语法:mount [-t 文件系统] [-L 卷标名] [-o 特殊权限] 设备文件名 挂载点
          -t 文件系统,如ext3,ext4,isso9660(光盘)
          -L 卷标名,卷标相当于给分区起别名,挂载指定卷标的分区,而不是安装设备文件名挂载
          -o 特殊权限,如remount重新挂载已经挂载的文件系统,一般在修改特殊权限后使用;exec/noexec设定是否允许在文件系统中执行可执行文件
例子:mount -o remount,noexec /home/
注意:操作的时候操作的是挂载点也就是盘符,而不应该是设备文件名
          挂载U盘时,因为U盘的设备文件名并不固定,所以可以使用fdisk -l查看U盘设备文件名在挂载的时候文件系统指定为vfat(fat32)


功能描述:卸载
语法:umount 设备文件名/挂载点

3. 支持NTFS文件系统

    Linux默认是不支持NTFS分区的,U盘可以正常挂载使用,而NTFS的移动硬盘是不能挂载使用。Linux内核中默认已经安装了大多数驱动,而NTFS的驱动并没有安装,所以可以在Linux内核中安装驱动,再把内核编译一遍,就能识别NTFS文件系统,但这种方法实际中并不常用;那么如何解决这个问题?

    通常在实际使用中是通过第三方软件来完成,如NTFS-3G插件,在使用中只需要下载源码包,解压,编译准备,编译,编译安装即可(源码包的安装在之前的Linux软件包管理中已经有提供)

    在挂载NTFS文件系统的硬盘时,文件类型为ntfs-3g即可

三、fdisk分区

1. fdisk命令分区过程

    首先使用虚拟机添加一块新硬盘,然后使用fdisk -l查看新硬盘是否被系统识别

这里写图片描述

功能描述:为硬盘分区
语法:fdisk /dev/sdb
提示:输入以上命令进入配置的选项如上图所示,在配置完成后如果提示分区表正在被占用则需要重启,也可以使用partprobe重新读取分区表信息


命令名称:mkfs(make file system)
功能描述:格式化分区
语法:mkfs -t ext4 /dev/sdb1
注意:注意不能格式化扩展分区
          格式化分区后只需要在讲分区进行挂载即可

2. 分区自动挂载与fstab文件修复

    以上通过mount命令挂载的分区在系统重启后就会丢失,可以通过将其写入/etc/fstab中,系统在开机的时候就会自动挂载,在重启之前,可以使用mount -a查看配置文件是否写错

(1) /etc/fstab

第一字段:分区设备文件名或UUID(硬盘唯一识别码)
第二字段:挂载点
第三字段:文件系统名称
第四字段:挂载参数
第五字段:指定分区是否被dump备份(0不备份,1每天备份,2不定期备份,只对分区有用,存放在分区中的lost+found中)
第六字段:指定分区是否被fsck检测(0不检测,其余代表检测优先级,1最高)

(2) 文件修复

    如果/etc/tstab文件配置出错,在重启的时候,会提示输入root密码,然后通过mount -o remount,rw / 为根分区重新挂载设置读写权限后进入/etc/fstab进行修复

四、swap分区分配

1. free命令

功能描述:查看内存与swap分区使用状态
语法:free
注意:cached 是指读取出来的数据保存在内存当中,当再次读取的时候,直接从内存中读取而不用进行磁盘的读操作,加速读操作
          buffer 是指写入数据时先把内容保存在内存中,当达到一定程度时再写入硬盘,加速写操作

2. 新建swap分区

    首先使用fdisk新建一个分区,然后在其中使用t选项修改分区的系统ID号位82,保存退出后格式化即可

3. 格式化swap分区

    格式化swap分区时和格式化普通的linux分区不同,不使用mkfs命令,而是使用mkswap swap分区号

4.加入/取消swap分区

语法:swapon/swapoff swap分区号
注意:如果需要将其设置为开启自动加入swap分区中,就需要依赖/etc/fstab文件

原创粉丝点击