美文网首页
第九章 文件系统管理(分区和文件系统,df命令、du命令、fsc

第九章 文件系统管理(分区和文件系统,df命令、du命令、fsc

作者: 棉花糖7 | 来源:发表于2020-05-26 23:52 被阅读0次

    9.1 回顾分区和文件系统

    1、 分区类型

     主分区:总共最多只能分四个

     扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。

     逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区

    2、 分区表示方法

                                                            [    扩展分区        /dev/sda4      ]

    主分区1      主分区2      主分区3      [逻辑分区1 逻辑分区2  逻辑分区3]

    /dev/sda1  /dev/sda2  /dev/sda3  /dev/sda5  /dev/sda6 /dev/sda7

    (其中sd表示SCSI硬盘或者IDE硬盘,a表示第一块硬盘)

    其他分区方法:

                      [    扩展分区        /dev/sda2      ]

    主分区1    [逻辑分区1 逻辑分区2  逻辑分区3]   

    /dev/sda1 /dev/sda5  /dev/sda6 /dev/sda7

    注意:逻辑分区号一定是从5开始的

    3、 文件系统

    ext2:是ext文件系统的升级版本,Red Hat Linux7.2版本以前的系统默认都是ext2 文件系统。1993年发布,最大支持16TB 的分区和最大2TB的文件(1TB=1024GB=1024*1024KB)

    ext3: ext3文件系统是ext2文件系统的升级版本,最大的区别就是带日志功能,以在系统突然停止时提高文件系统的可靠性。支持最大16TB的分区和最大2TB的文件

    ext4:它是ext3文件系统的升级版。ext4 在性能、伸缩性和可靠性方面进行了大量改进。EXT4 的变化可以说是翻天覆地的,比如向下兼容EXT3、最大1EB文件系统和16TB文件、无限数量子目录、Extents连续数据块概念、多块分配、延迟分配、持久预分配、快速FSCK、日志校验、无日志模式、在线碎片整理、inode增强、默认启用barrier等。是CentOS 6.3的默认文件系统      (1EB=1024PB=1024*1024TB)



    9.2 文件系统常用命令

    9.2.1 df命令、du命令、fsck命令和dumpe2fs命令

    1、文件系统查看命令df

    [root@localhost ~]# df  [选项] [挂载点]

    选项: 

    -a 显示所有的文件系统信息,包括特殊文件系统,如 /proc、/sysfs 

    -h 使用习惯单位显示容量,如KB,MB或GB等 

    -T 显示文件系统类型 

    -m 以MB为单位显示容量 

    -k 以KB为单位显示容量。默认就是以KB为单位

    2、统计目录或文件大小

    [root@localhost ~]# du [选项] [目录或文件名]

    选项: 

    -a 显示每个子文件的磁盘占用量。默认只统计 子目录的磁盘占用量 

    -h 使用习惯单位显示磁盘占用量,如KB,MB  或GB等 

    -s 统计总占用量,而不列出子目录和子文件的 占用量

    如:

    [root@localhost ~]# du -sh /tmp

    80K    /tmp

    [root@localhost ~]# du -sh /root

    164M    /root

    [root@localhost ~]# du -h /tmp

    4.0K    /tmp/stickyTestDir/p

    8.0K    /tmp/stickyTestDir

    4.0K    /tmp/chattrDire/def

    12K    /tmp/chattrDire

    4.0K    /tmp/dtest

    4.0K    /tmp/.webmin

    4.0K    /tmp/.ICE-unix

    4.0K    /tmp/wangwuDir

    4.0K    /tmp/testDir

    8.0K    /tmp/project/def

    32K    /tmp/project

    80K    /tmp

    du命令和df命令的区别

    df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)

    du命令是面向文件的,只会计算文件或目录占用的空间

    3、文件系统修复命令fsck(少用)

    [root@localhost ~]# fsck [选项] 分区设备文件名

    选项:

    -a: 不用显示用户提示,自动修复文件系统

    -y: 自动修复。和-a作用一致,不过有些文件系统只支 持-y

    4、显示磁盘状态命令dumpe2fs

    [root@localhost ~]# dumpe2fs 分区设备文件名

    dumpe2fs命令为ext文件系统家族的命令,我的系统为CentOS7,文件系统为XFS,XFS默认支持ACL。可以使用 xfs_info  /dev/xxx查看'XFS`文件系统信息。

    如:[root@localhost ~]# dumpe2fs /dev/sda1


    9.2.2 挂载命令

    1、查询与自动挂载 (把设备和盘符连接起来的过程就叫做挂载)

    [root@localhost ~]# mount [-l]

    #查询系统中已经挂载的设备,-l会显示卷标名称 

    [root@localhost ~]# mount –a

    #依据配置文件/etc/fstab的内容,自动挂载 

    2、挂载命令格式 ( 把 [设备文件名] 挂载到 [挂载点] )

    [root@localhost ~]# mount [-t 文件系统] [-L 卷标名]  \

    [-o 特殊选项]  设备文件名 挂载点

    选项: 

    -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统 

    -L 卷标名: 挂载指定卷标的分区,而不是安装设备文件名挂载 

    -o 特殊选项:可以指定挂载的额外选项(图239)

    home下使用noexec权限,那么即使是root用户也无法执行

    如:重新挂载

    [root@localhost ~]# mount -o remount,noexec /home

    #重新挂载/boot分区,并使用noexec权限

    [root@localhost sh]# cd /home

    [root@localhost boot]# vi hello.sh

    [root@localhost boot]# chmod 755 hello.sh 

    [root@localhost boot]# ./hello.sh

    [root@localhost boot]# mount -o remount,exec /home

    #记得改回来啊,要不会影响系统启动的


    9.2.3 挂载光盘与U盘

    1、挂载光盘

    [root@localhost ~]# mkdir /mnt/cdrom/

    #建立挂载点(一个空目录)

    [root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/

    #挂载光盘

    [root@localhost ~]# mount  -t iso9660 /dev/sr0 /mnt/cdrom/ 

    上面两句命令都是可行的。因为([root@localhost home]# ll /dev/cdrom

    lrwxrwxrwx. 1 root root 3 5月  8 18:19 /dev/cdrom -> sr0

    说明 /dev/cdrom是//dev/sr0的软链接)

    (iso9660是系统默认的可以不写)

    故上面两句命令也可以写成:

    [root@localhost ~]# mount  /dev/cdrom /mnt/cdrom/

    #挂载光盘

    [root@localhost ~]# mount  /dev/sr0 /mnt/cdrom/ 

    2、卸载命令

    [root@localhost ~]# umount 设备文件名或挂载点 

    [root@localhost ~]# umount /mnt/cdrom

    或者 [root@localhost ~]# umount /dev/cdrom

    或者 [root@localhost ~]# umount /dev/sr0

    3、挂载U盘 (要在虚拟机内执行,不能在远程工具)

    [root@localhost ~]# fdisk –l

    #查看U盘设备文件名

    [root@localhost ~]# mkdir /mnt/usb

    [root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb/ 

    注意:Linux默认是不支持NTFS文件系统的 (FAT32识别为vfat)

    4.卸载U盘

    [root@localhost ~]# umount /dev/sdb1

    [root@localhost ~]# umount /mnt/usb


    9.2.4 支持NTFS文件系统

    1、 下载NTFS-3G插件

    http://www.tuxera.com/community/ntfs-3g- download/

    2、 安装NTFS-3G

    [root@localhost ~]# tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz

    #解压

    [root@localhost ~]# cd ntfs-3g_ntfsprogs-2013.1.13

    #进入解压目录

    [root@localhost ntfs-3g_ntfsprogs-2013.1.13]# ./configure

    #编译器准备。没有指定安装目录,安装到默认位置中

    [root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make

    #编译

    [root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make install

    #编译安装

    3、使用 [root@localhost ~]# mount -t ntfs-3g 分区设备文件名  挂载点

    如:mount -t ntfs-3g /dev/sdb1 /mnt/usb

    4.卸载

    [root@localhost ~]# umount /mnt/usb

    卸载之后才可以拔出


    9.3 fdisk分区

    9.3.1 fdisk命令分区过程(手动挂载,重启之后就失效了)

    1、添加新硬盘

    编辑此虚拟机

    2、查看新硬盘

    [root@localhost ~]# fdisk -l 

    (id中 82是linux swap分区 83是Linux分区)

    3、使用fdisk命令分区 (图253)

    [root@localhost ~]# fdisk /dev/sdb

    -n:添加

    -p:  查看有哪些分区

    4、重新读取分区表信息 (若分区被占用)

    [root@localhost ~]# partprobe 

    5、格式化分区 (打格段,建立node表)

    [root@localhost ~]# mkfs -t ext4 /dev/sdb1 

    6、建立挂载点并挂载

    [root@localhost ~]# mkdir /disk1

    [root@localhost ~]# mount /dev/sdb1 /disk1/

    [root@localhost ~]# mount /dev/sdb5 /disk1/

    7.查看

    [root@localhost ~]# df -h

    Filesystem      Size  Used Avail Use% Mounted on

    /dev/sda5        16G  2.6G  13G  18%     /

    tmpfs               498M    0  498M  0%     /dev/shm

    /dev/sda1      190M  65M  116M  36%    /boot

    /dev/sda2      1.9G  3.2M  1.8G  1%     /home

    /dev/sdb1      2.0G  3.1M  1.9G  1%     /disk1

    /dev/sdb5      2.0G  3.1M  1.9G  1%     /disk1


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

    注意:修改/etc/fstab这个文件要极其慎重,否则会造成系统崩溃

    1、/etc/fstab文件

     第一字段:分区设备文件名或UUID(硬盘通用唯一识别码)

     第二字段:挂载点

     第三字段:文件系统名称

     第四字段:挂载参数

     第五字段:指定分区是否被dump备份,0代表不备份,1 代表每天备份,2代表不定期备份

     第六字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,那么当然1的优先级比2高  (数字越小优先级越高)

    (可以通过 dumpe2fs -h /dev/sdb1 查看UUID)

    2、分区自动挂载 [root@localhost ~]# vi /etc/fstab

    …省略部分输出…

    /dev/sdb5              /disk5                  ext4    defaults        1 2

    [root@localhost ~]# mount -a

    #依据配置文件 /etc/fstab的内容,自动挂载

    3、/etc/fstab文件修复

    [root@localhost ~]# mount -o remount,rw /

    #将根分区重新挂载为读写权限,然后再修改 /etc/fstab/错误的内容即可


    9.4 分配swap分区(fdisk -l 查询分区情况)

    1、 新建swap分区

    [root@localhost ~]# fdisk /dev/sdb 

    新建一个逻辑分区 n , l ,默认开始柱面,+1G(分配1G),p(查看分区情况),t(改分区号),6(要修改的分区),82,w(保存退出)

    别忘记把分区ID改为82(swap的分区号是82)

    [root@localhost ~]# partprobe

    2、 格式化

    [root@localhost ~]# mkswap /dev/sdb6

    (如果报错,就重启)

    3、 加入swap分区

    [root@localhost ~]# swapon /dev/sdb6

    #把该分区加入系统真正的swap分区

    [root@localhost ~]# swapoff /dev/sdb6

    #取消swap分区

    4、 swap分区开机自动挂载 (写入系统文件,否则重启会失效)

    [root@localhost ~]# vi /etc/fstab

    /dev/sdb6        swap                    swap    defaults        0 0 

    (注意挂载点是swap,而不是 /swap 不是根分区下的Swap没有这个目录)

    [root@localhost ~]# mount -a

    看看是否报错,如果没有报错,开机就会自动挂载

    5、 free命令

    [root@localhost ~]# free  -m

    #查看内存与swap分区使用状况

    cached(缓存):是指把读取出来的数据保存在内存当中,当再次读取时,不用读取硬盘而直接从内存当中读取,加速了数据的读取过程

    buffer(缓冲):是指在写入数据时,先把分散的写入操作保存到内存当中,当达到一定程度再集中写入硬盘,减少了磁盘碎片和硬盘的反复寻道,加速了数据的写入过程

    相关文章

      网友评论

          本文标题:第九章 文件系统管理(分区和文件系统,df命令、du命令、fsc

          本文链接:https://www.haomeiwen.com/subject/xftiahtx.html