Linux_基础_磁盘管理

磁盘分区概述

分区示意图

分区方式

MBR 分区:
  1. 最多支持四个主分区
  2. 系统只能安装在主分区
  2. 扩展分区要占一个主分区
  4. MBR最大只支持2TB,但拥有最好的兼容性

GTP 分区:
  1. 支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
  2. 最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)
  3. windows7 64位以后支持gtp

分区方案

挂载目录说明:
/            # 根目录,唯一必须挂载的目录
/home        # 家目录,相当于“我的文档”
/usr         # 应用程序目录。大部分的软件都安装在这里
/var         # 变量文件目录,服务器方面的应用,单独分区可以提高服务器的性能
/boot        # 引导文件目录,开机启动时加载的一些文件
/tmp         # 临时文件目录
swap         # 交换分区,充当虚拟内存


分区方案:
1. 个人使用:
/            # 剩余空间
/boot        # 100~200MB   
swap         # 内存大小*1~1.5倍

2. 服务器使用:
/            # 剩余空间 
/boot        # 100~200MB   
/home        # 硬盘大小*60% 
/var         # 硬盘大小*10%
/usr         # 硬盘大小*20%
swap         # 内存大小*1~1.5倍

或
/            # 剩余空间 
/boot        # 100~200MB   
/home        # 硬盘大小*4%            
/var         # 硬盘大小*70%            
/usr         # 硬盘大小*6%
/tmp         # 硬盘大小*10%    
swap         # 内存大小*1~1.5倍


分区方案关键点:
1. 大数据库一般要加大/usr挂载点
2. 多用户、下载类、多存储文件等要加大/home挂载点
3. 文件小,用户多要注意/tmp和/var挂载点大小

磁盘设备信息

lsblk:列出块设备信息

语法:
    lsblk <选项> <参数> 

选项:
    -a, --all                           # 显示所有设备
    -b, --bytes                         # 以bytes方式显示设备大小
    -d, --nodeps                        # 不显示 slaves 或 holders
    -D, --discard                       # 打印时丢弃能力
    -e, --exclude <list>                # 排除设备 (default: RAM disks)
    -f, --fs                            # 显示文件系统信息
    -i, --ascii                         # 只使用 ascii 字符
    -m, --perms                         # 显示权限信息
    -l, --list                          # 使用列表格式显示
    -n, --noheadings                    # 不显示标题
    -o, --output <list>                 # 输出列
    -P, --pairs                         # 使用key="value"格式显示
    -r, --raw                           # 使用原始格式显示
    -t, --topology                      # 显示拓扑结构信息

参数:
    设备文件                             # 指定要显示信息的设备文件

实例:
    lsblk -f                            # 以树状列出系统分区和挂载信息

磁盘分区

fdisk:查看磁盘使用情况和分区

语法:
    fdisk <选项> <参数> 

选项:
    -b<分区大小>                          # 指定每个分区的大小
    -l                                   # 列出指定的外围设备的分区表状况
    -s<分区编号>                          # 将指定的分区大小输出到标准输出上,单位为区块
    -u                                   # 搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址

参数:
    设备文件                              # 指定要进行分区或者显示分区的硬盘设备文件

实例:
    fdisk -l                             # 显示分区情况
    fdisk /dev/sdb                       # 开始对/sdb分区

菜单操作:
    a                                    # 设置启动分区
    b                                    # 编辑分区标签
    c                                    # 切换dos兼容性标志
    d                                    # 删除分区
    l                                    # 显示分区类型
    m                                    # 输出帮助信息
    n                                    # 新建分区
        e                                # e是扩展分区
        p                                # p是主分区
    o                                    # 新建DOS分区表
    p                                    # 打印分区表
    q                                    # 退出不保存
    s                                    # 新建Sun磁盘标签
    t                                    # 设置分区号
    u                                    # 改变显示的单位
    v                                    # 检查验证分区表
    w                                    # 保存分区表
    x                                    # 扩展应用,高级功能

磁盘格式化

mkfs:设备上创建Linux文件系统

语法:
    mkfs <选项> <参数> 

选项:
    fs                                   # 指定建立文件系统时的参数
    -t<文件系统类型>                    # 指定要建立何种文件系统
    -v                                   # 显示版本信息与详细的使用方法
    -V                                   # 显示简要的使用方法
    -c                                   # 在制做档案系统前,检查该partition是否有坏轨

参数:
    文件系统                              # 指定要创建的文件系统对应的设备文件名
    块数                                # 指定文件系统的磁盘块数

实例:
    mkfs -t ext4 /dev/sdb1               # 将sdb1分区格式化为ext4格式

磁盘挂载

mount:加载文件系统到指定的挂载点

语法:
    mount <选项> <参数> 

选项:
    -V                                    # 显示程序版本
    -l                                    # 显示已加载的文件系统列表
    -h                                    # 显示帮助信息并退出
    -v                                    # 冗长模式,输出指令执行的详细信息
    -n                                    # 加载没有写入文件“/etc/mtab”中的文件系统
    -r                                    # 将文件系统加载为只读模式
    -a                                    # 加载文件“/etc/fstab”中描述的所有文件系统
-t     # 指定档案系统形态,通常不必指定,mount会自动选择正确形态 参数: 设备文件名   # 指定要加载的文件系统对应的设备名 加载点 # 指定加载点目录 实例: mount
/dev/sdb1 /mnt/mymount # 将sdb1分区挂载到mymount目录

磁盘卸载

umount:卸载已经加载的文件系统

语法:
    umount <选项> <参数> 

选项:
    -a                                    # 卸除/etc/mtab中记录的所有文件系统
    -n                                    # 卸除时不要将信息存入/etc/mtab文件中
    -r                                    # 若无法成功卸除,则尝试以只读的方式重新挂入文件系统
    -t<文件系统类型>                     # 仅卸除选项中所指定的文件系统
    -v                                    # 执行时显示详细的信息

参数:
    文件系统                            # 指定要卸载的文件系统或者其对应的设备文件名

实例:
    umount -v /dev/sda1                   # 通过设备名卸载  
    umount -v /mnt/mymount/               # 通过挂载点卸载 

磁盘情况查询

df:显示磁盘分区空间使用情况

语法:
    df <选项> <参数> 

选项:
    -a或--all                                       # 包含全部的文件系统
    --block-size=<区块大小>                          # 以指定的区块大小来显示区块数目
    -h或--human-readable                            # 以可读性较高的方式来显示信息
    -H或--si                                        # 与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes
    -i或--inodes                                    # 显示inode的信息
    -k或--kilobytes                                 # 指定区块大小为1024字节
    -l或--local                                     # 仅显示本地端的文件系统
    -m或--megabytes                                 # 指定区块大小为1048576字节
    --no-sync                                    # 在取得磁盘使用信息前,不要执行sync指令,此为预设值
    -P或--portability                               # 使用POSIX的输出格式
    --sync                                       # 在取得磁盘使用信息前,先执行sync指令
    -t<文件系统类型>或--type=<文件系统类型>           # 仅显示指定文件系统类型的磁盘信息
    -T或--print-type                                # 显示文件系统的类型
    -x<文件系统类型>或--exclude-type=<文件系统类型>   # 不要显示指定文件系统类型的磁盘信息

参数:
    文件                               # 指定文件系统上的文件

实例:
    df                                  # 查看系统磁盘设备,默认是KB为单位
    df -h                               # 查看系统磁盘设备,以KB以上的单位显示

du:显示文件或目录磁盘空间使用情况

语法:
    du <选项> <参数> 

选项:
    -a或-all                                # 显示目录中个别文件的大小
    -b或-bytes                              # 显示目录或文件大小时,以byte为单位
    -c或--total                             # 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
    -D或--dereference-args                  # 显示指定符号连接的源文件大小
    -h或--human-readable                    # 以K,M,G为单位,提高信息的可读性
    -H或--si                                # 与-h参数相同,但是K,M,G是以1000为换算单位
    -k或--kilobytes                         # 以KB(1024bytes)为单位输出
    -l或--count-links                       # 重复计算硬件链接的文件
    -L<符号链接>或--dereference<符号链接>    # 显示选项中所指定符号链接的源文件大小
    -m或--megabytes                         # 以MB为单位输出
    -s或--summarize                         # 仅显示总计,只列出最后加总的值
    -S或--separate-dirs                     # 显示个别目录的大小时,并不含其子目录的大小
    -x或--one-file-xystem                   # 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过
    -X<文件>或--exclude-from=<文件>          # 在<文件>指定目录或文件
    --exclude=<目录或文件>                   # 略过指定的目录或文件
    --max-depth=<目录层数>                # 超过指定层数的目录后,予以忽略
    
参数:
    文件                                    # 指定文件系统上的文件

实例:
    du                                    # 显示目录或者文件所占空间
    du -h                                 # 显示目录或者文件所占空间,以K,M,G为单位显示
du -ach --max-depth=1 /opt    # 显示opt目录磁盘占用空间,深度为1
原文地址:https://www.cnblogs.com/Small-music/p/9224591.html