zoukankan      html  css  js  c++  java
  • 第九讲 文件系统管理

     9.1 回顾分区和文件系统
    9.2 文件系统常用命令
    9.3 fdisk分区
    9.4 /etc/fstab文件修复
    9.5 分配swap分区
    1、分区类型
    主分区:总共最多只能分四个 // /dev/sda1....4
    扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。
    逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区// /dev/sda5开始
    2、文件系统
    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命令和dump2fs命令
    9.2.2 挂载命令
    9.2.3 挂载光盘与U盘
    9.2.4 支持NTFS文件系统
    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 统计总占用量,而不列出子目录和子文件的 占用量
    du命令和df命令的区别
    df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)
    du命令是面向文件的,只会计算文件或目录占用的空间
    3、文件系统修复命令fsck        //超哥说自己用了这个把系统搞崩溃了,有心理阴影,所以能不用就不用了
    [root@localhost ~]# fsck [选项] 分区设备文件名
    选项:
    -a: 不用显示用户提示,自动修复文件系统
    -y: 自动修复。和-a作用一致,不过有些文件系统只支持-y
    4、显示磁盘状态命令dumpe2fs  //数据块有1k,2k,一般4k,4096
    [root@localhost ~]# dumpe2fs 分区设备文件名  
    
    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 特殊选项:可以指定挂载的额外选项
    参数 说明
    atime/noatime
    更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新
    async/sync
    异步/同步,默认为异步
    auto/noauto
    自动/手动,mount –a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认为自动
    defaults
    定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项
    exec/noexec  //把/home分区设置成不能执行,这样万一用户上传了病毒,它就不能发作。 /home分区单独分区时用作用户服务器,给用户上传数据
    执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许
    remount
    重新挂载已经挂载的文件系统,一般用于指定修改特殊权限
    rw/ro
    读写/只读,文件系统挂载时,是否具有读写权限,默认是rw
    suid/nosuid
    具有/不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认是具有
    user/nouser
    允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只有root可以挂载分区
    usrquota
    写入代表文件系统支持用户磁盘配额,默认不支持
    grpquota
    写入代表文件系统支持组磁盘配额,默认不支持
    
    [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、挂载光盘    /dev/sr0设备名固定
    [root@localhost ~]# mkdir /mnt/cdrom/
    #建立挂载点
    [root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/    //文件系统类型默认就是,所以可以忽略
    #挂载光盘
    [root@localhost ~]# mount /dev/sr0 /mnt/cdrom/
    2、卸载命令
    [root@localhost ~]# umount 设备文件名或挂载点
    [root@localhost ~]# umount /mnt/cdrom
    3、挂载U盘
    [root@localhost ~]# fdisk –l
    #查看U盘设备文件名
    [root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb/
    注意:Linux默认是不支持NTFS文件系统的    //windows中fat32到linux是vfat
    
    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 分区设备文件名 挂载点
    9.3 fdisk分区
    9.3.1 fdisk命令分区过程
    9.3.2 分区自动挂载与fstab文件修复
    1、添加新硬盘
    2、查看新硬盘
    [root@localhost ~]# fdisk -l
    3、使用fdisk命令分区
    [root@localhost ~]# 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    附加功能(仅专家)
    
    4、重新读取分区表信息
    [root@localhost ~]# partprobe    //养成习惯,分区完成后必须执行
    5、格式化分区
    [root@localhost ~]# mkfs -t ext4 /dev/sdb1
    6、建立挂载点并挂载
    [root@localhost ~]# mkdir /disk1
    [root@localhost ~]# mount /dev/sdb1 /disk1/   // !重启失效,必须重新挂载
    9.3.2 分区自动挂载与fstab文件修复
    1、/etc/fstab文件
    第一字段:分区设备文件名或UUID(硬盘通用唯一识别码)
    第二字段:挂载点
    第三字段:文件系统名称
    第四字段:挂载参数
    第五字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份
    第六字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,那么当然1的优先级比2高
    2、分区自动挂载
    [root@localhost ~]# vi /etc/fstab
    …省略部分输出…
    /dev/sdb5 /disk5 ext4 defaults 1 2
    3、/etc/fstab文件修复
    [root@localhost ~]# mount -o remount,rw /
    9.4 分配swap分区
    1、新建swap分区
    [root@localhost ~]# fdisk /dev/sdb
    别忘记把分区ID改为82
    2、格式化
    [root@localhost ~]# mkswap /dev/sdb1
    3、加入swap分区
    [root@localhost ~]# swapon /dev/sdb1
    #加入swap分区
    [root@localhost ~]# swapoff /dev/sdb1
    #取消swap分区
    4、swap分区开机自动挂载
    [root@localhost ~]# vi /etc/fstab
    /dev/sdb1 swap swap defaults 0 0
    5、free命令
    [root@localhost ~]# free #查看内存与swap分区使用状况
    cached(缓存):是指把读取出来的数据保存在内存当中,当再次读取时,不用读取硬盘而直接从内存当中读取,加速了数据的读取过程
    buffer(缓冲):是指在写入数据时,先把分散的写入操作保存到内存当中,当达到一定程度再集中写入硬盘,减少了磁盘碎片和硬盘的反复寻道,加速了数据的写入过程
  • 相关阅读:
    Oracle备份恢复之无备份情况下恢复undo表空间
    Oracle HA 之 测试RAC的功能
    (转)Python——functools
    (转)Python标准库:内置函数print(*objects, sep=' ', end=' ', file=sys.stdout, flush=False)
    (转)用Python写堡垒机项目
    (转)Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)
    (转)Linux中的位图
    (转)Python标准库02 时间与日期 (time, datetime包)
    (转)Python 3 collections.defaultdict() 与 dict的使用和区别
    (转)python高级:列表解析和生成表达式
  • 原文地址:https://www.cnblogs.com/aprilapril/p/5391949.html
Copyright © 2011-2022 走看看