zoukankan      html  css  js  c++  java
  • du命令、df命令、磁盘分区

    df:汇报文件系统的磁盘使用空间
    [root@localhost ~]# df
    文件系统 1K-块 已用 可用 已用% 挂载点
    /dev/sda3 29140072 1022920 28117152 4% /
    devtmpfs 496332 0 496332 0% /dev
    tmpfs 506188 0 506188 0% /dev/shm
    tmpfs 506188 6904 499284 2% /run
    tmpfs 506188 0 506188 0% /sys/fs/cgroup
    /dev/sda1 201380 99180 102200 50% /boot
    tmpfs 101240 0 101240 0% /run/user/0
    第一列:磁盘分区的名字
    第二列:磁盘总大小,单位是KB
    第三列:是已使用多少,单位也是KB
    第四列:是可用多少空间,单位是KB
    第五列:是已用百分比,这是我们最为关注的一项,如果到80%~90%我们就要注意了。
    第六列:是挂载点,就是linux中的目录。
    linux的磁盘不能直接访问,只能通过挂载点访问
    df还有一个参数h加上这个参数后,他可以按照磁盘的大小显示适当的单位

    [root@localhost ~]# df -h
    文件系统 容量 已用 可用 已用% 挂载点
    /dev/sda3 28G 999M 27G 4% /
    devtmpfs 485M 0 485M 0% /dev
    tmpfs 495M 0 495M 0% /dev/shm
    tmpfs 495M 6.8M 488M 2% /run
    tmpfs 495M 0 495M 0% /sys/fs/cgroup
    /dev/sda1 197M 97M 100M 50% /boot
    tmpfs 99M 0 99M 0% /run/user/0

    我们也可以以M单位来显示
    [root@localhost ~]# df -m
    文件系统 1M-块 已用 可用 已用% 挂载点
    /dev/sda3 28458 999 27459 4% /
    devtmpfs 485 0 485 0% /dev
    tmpfs 495 0 495 0% /dev/shm
    tmpfs 495 7 488 2% /run
    tmpfs 495 0 495 0% /sys/fs/cgroup
    /dev/sda1 197 97 100 50% /boot
    tmpfs 99 0 99 0% /run/user/0

    其中的tmpfs是一个临时文件系统,即使在挂载点中写入文件,重启是也会消失,我们需要关注的是dev文件,swap则要用fell这个命令查看
    [root@localhost ~]# free
    total used free shared buff/cache available
    Mem: 1012376 126624 755076 6904 130676 731804
    Swap: 2097148 0 2097148

    df还有一个参数是-i,这是查看这个分区有多少inode和inode的使用情况的,inode的多少和你磁盘分区大小是有关系的
    [root@localhost ~]# df -i
    文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
    /dev/sda3 14577152 26453 14550699 1% /
    devtmpfs 124083 388 123695 1% /dev
    tmpfs 126547 1 126546 1% /dev/shm
    tmpfs 126547 466 126081 1% /run
    tmpfs 126547 16 126531 1% /sys/fs/cgroup
    /dev/sda1 102400 327 102073 1% /boot
    tmpfs 126547 1 126546 1% /run/user/0

    有时候我们会遇到这种情况,明明磁盘有空间,但是就是写不进去文件,这时候我们就要用df -i来查看inode是否有剩余,如果inode已经没有剩余了,就算是磁盘有空间,我们也不可能再往里写入文件了。

    du:查看文件大小,常用参数可以加sh
    [root@localhost ~]# du -sh /root
    32K /root
    以合适的单位显示文件大小

    磁盘分区
    在日常工作中,我们经常要给设备增加一块磁盘,给他分区,格式化,挂载等。
    首先我们先在虚拟机中增加一块磁盘,然后保持默认。在服务器上,我们可以热拔插硬盘的。
    怎样查看我们新增加的硬盘呢?输入命令fdisk,除此之外,它还可以给磁盘分区。
    刚开始我们会查不到新加的硬盘,只要重启一下就可以查到了

    [root@localhost ~]# fdisk -l

    磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xbade897a

    设备 Boot Start End Blocks Id System

    磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x000b36d5

    设备 Boot Start End Blocks Id System
    /dev/sda1 * 2048 411647 204800 83 Linux
    /dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris
    /dev/sda3 4605952 62914559 29154304 83 Linu

    /dev/sdb就是我们新加的硬盘
    下面我们要给/dev/sdb/分区
    分区命令是fdisk /dev/sdb/
    [root@localhost ~]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。

    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。

    在这里我们要记住几个常用的字母
    命令(输入 m 获取帮助):m
    命令操作
    a toggle a bootable flag
    b edit bsd disklabel
    c toggle the dos compatibility flag
    d delete a partition(删除一个分区)
    g create a new empty GPT partition table
    G create an IRIX (SGI) partition table
    l list known partition types
    m print this menu
    n add a new partition(重新创建一个新分区)
    o create a new empty DOS partition table
    p print the partition table(打印分区列表)
    q quit without saving changes(退出不保存)
    s create a new empty Sun disklabel
    t change a partition's system id
    u change display/entry units
    v verify the partition table
    w write table to disk and exit(退出保存)
    x extra functionality (experts only)
    首先我们先输入p打印一下
    命令(输入 m 获取帮助):p

    磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xbade897a

    设备 Boot Start End Blocks Id System
    发现下面什么都没有,然后我们新建一个分区,输入n
    命令(输入 m 获取帮助):n
    Partition type:
    p primary (0 primary, 0 extended, 4 free)
    e extended
    Select (default p):
    这里的p代表主分区,e代表扩展分区,一个磁盘中只能有4个主分区,如果我想划分多个,那我们可以划分3个主分区和1个扩展分区,然后我们可以扩展分区中划分逻辑分区。
    然后我们开始分区,首先分主分区,所以我们要先输入字母“n”新建
    命令(输入 m 获取帮助):n
    Partition type:
    p primary (0 primary, 0 extended, 4 free)
    e extended
    然后我们输入字母“p”,这是主分区
    Select (default p): p
    下一步是给分区编号,默认分区编号是1-4,所以我们只要按照顺序来就可以。
    分区号 (1-4,默认 1):1
    下一步是起始的扇面,这里默认的是2048
    起始 扇区 (2048-10485759,默认为 2048):
    将使用默认值 2048
    然后我们给这个分区设置大小,比如我们要给这个分区设置大小为2G,这里要注意的是,表示磁盘大小的字母一定要是大写。
    Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+2G

    分区 1 已设置为 Linux 类型,大小设为 2 GiB
    然后我们会看到上面的提示↑

    我们也可以输入字母“p”查看一下
    命令(输入 m 获取帮助):p

    磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xbade897a

    设备 Boot Start End Blocks Id System
    /dev/sdb1 2048 4196351 2097152 83 Linux

    然后我们默认往下分,直到我们分了4个主分区后,会出现如下的提示
    If you want to create more than four partitions, you must replace a
    primary partition with an extended partition first.
    如果要创建四个以上的分区,则必须首先用扩展分区替换主分区。意思就是我们必须要删除一个主分区,然后再去创建一个扩展分区。

    然后我们输入字母“d”
    命令(输入 m 获取帮助):d

    下面会出现1-4序号,我们只要选择一个序号输入就可以,我们选择了4号,然后确认。
    分区号 (1-4,默认 4):4

    然后会显示4号分区已删除
    分区 4 已删除

    然后我们输入字母“e”建立逻辑分区,和分主分区的步骤一样。
    命令(输入 m 获取帮助):n
    Partition type:
    p primary (3 primary, 0 extended, 1 free)
    e extended
    Select (default e): e
    已选择分区 4
    起始 扇区 (8390656-10485759,默认为 8390656):
    将使用默认值 8390656
    Last 扇区, +扇区 or +size{K,M,G} (8390656-10485759,默认为 10485759):+900M
    分区 4 已设置为 Extended 类型,大小设为 900 MiB
    然后我们就会发现分区4的类型以是Extended,而不再是Linux,然后我们继续向下分。

    命令(输入 m 获取帮助):n
    All primary partitions are in use这时候的分区就不再分主分区和扩展分区了,而是只能添加逻辑分区。
    添加逻辑分区 5
    起始 扇区 (8392704-10233855,默认为 8392704):
    将使用默认值 8392704
    Last 扇区, +扇区 or +size{K,M,G} (8392704-10233855,默认为 10233855):+500M
    分区 5 已设置为 Linux 类型,大小设为 500 MiB

    命令(输入 m 获取帮助):n
    All primary partitions are in use
    添加逻辑分区 6
    起始 扇区 (9418752-10233855,默认为 9418752):
    将使用默认值 9418752
    Last 扇区, +扇区 or +size{K,M,G} (9418752-10233855,默认为 10233855):+400M
    值超出范围。
    Last 扇区, +扇区 or +size{K,M,G} (9418752-10233855,默认为 10233855):+300M
    分区 6 已设置为 Linux 类型,大小设为 300 MiB

    然后 我们查看一下,又多了两个分区,sdb5,和sdb6
    设备 Boot Start End Blocks Id System
    /dev/sdb1 2048 4196351 2097152 83 Linux
    /dev/sdb2 4196352 6293503 1048576 83 Linux
    /dev/sdb3 6293504 8390655 1048576 83 Linux
    /dev/sdb4 8390656 10233855 921600 5 Extended
    /dev/sdb5 8392704 9416703 512000 83 Linux
    /dev/sdb6 9418752 10033151 307200 83 Linux
    这里面的我们还可以看出在,Id号是查看分区类型的,83代表主分区或者逻辑分区,5代表扩展分区,而blocks下面的数字是磁盘的大小,单位是k。

    如果我们对我们的分区不满意,那我们就可以删除他,删除的时候只要输入相应的磁盘编号,磁盘编号就在每行的第一列最后一个数字,比如/dev/sdb4 ,那么这个磁盘的编号就是3号,然后输入字母“d”就可以删除。
    命令(输入 m 获取帮助):d

    比如,下面会出现1-4序号,我们只要选择一个序号输入就可以,我们选择了4号,然后确认。
    分区号 (1-4,默认 4):4

    然后会显示4号分区已删除
    分区 4 已删除。

    如果我们想重新分区,那么就直接输入“q”退出。

    然后我们重新划分,这次我们直接先划分一个扩展分区

    命令(输入 m 获取帮助):n
    Partition type:
    p primary (0 primary, 0 extended, 4 free)
    e extended
    Select (default p): e
    分区号 (1-4,默认 1):1
    起始 扇区 (2048-10485759,默认为 2048):+3G
    Last 扇区, +扇区 or +size{K,M,G} (6291456-10485759,默认为 10485759):
    将使用默认值 10485759
    分区 1 已设置为 Extended 类型,大小设为 2 GiB
    命令(输入 m 获取帮助):n
    Partition type:
    p primary (0 primary, 1 extended, 3 free)
    l logical (numbered from 5)
    这时候我们发现提示变了,提示直接是让我们划分主分区还是逻辑分区。

    然后我们划分一个主分区
    命令(输入 m 获取帮助):n
    Partition type:
    p primary (0 primary, 1 extended, 3 free)
    l logical (numbered from 5)
    Select (default p): p
    分区号 (2-4,默认 2):3
    起始 扇区 (6293504-10485759,默认为 6293504):
    将使用默认值 6293504
    Last 扇区, +扇区 or +size{K,M,G} (6293504-10485759,默认为 10485759):+1G
    分区 3 已设置为 Linux 类型,大小设为 1 GiB

    然后我们在划分一个逻辑分区
    命令(输入 m 获取帮助):n
    Partition type:
    p primary (1 primary, 1 extended, 2 free)
    l logical (numbered from 5)
    Select (default p): l
    添加逻辑分区 5
    起始 扇区 (4096-6293503,默认为 4096):
    将使用默认值 4096
    Last 扇区, +扇区 or +size{K,M,G} (4096-6293503,默认为 6293503):+1G
    分区 5 已设置为 Linux 类型,大小设为 1 GiB

    输入“p”查看一下

    设备 Boot Start End Blocks Id System
    /dev/sdb1 2048 6293503 3145728 5 Extended
    /dev/sdb3 6293504 8390655 1048576 83 Linux
    /dev/sdb5 4096 2101247 1048576 83 Linux
    这事我们发现,磁盘的序号出现了不连续的现象,然后我们连续划分多个逻辑分区,再查看一下

    设备 Boot Start End Blocks Id System
    /dev/sdb1 2048 6293503 3145728 5 Extended
    /dev/sdb3 6293504 8390655 1048576 83 Linux
    /dev/sdb5 4096 2101247 1048576 83 Linux
    /dev/sdb6 2103296 2308095 102400 83 Linux
    /dev/sdb7 2310144 2719743 204800 83 Linux
    /dev/sdb8 2721792 2926591 102400 83 Linux

    然后我们删除分区6,然后再查询
    命令(输入 m 获取帮助):d
    分区号 (1,3,5-8,默认 8):6
    分区 6 已删除
    设备 Boot Start End Blocks Id System
    /dev/sdb1 2048 6293503 3145728 5 Extended
    /dev/sdb3 6293504 8390655 1048576 83 Linux
    /dev/sdb5 4096 2101247 1048576 83 Linux
    /dev/sdb6 2310144 2719743 204800 83 Linux
    /dev/sdb7 2721792 2926591 102400 83 Linux
    这时我们发现,虽然我们已经删除了分区6,但是查看后依然有分区6的编号存在

    所以我们得出结论逻辑分区必须要连续,主分区和扩展分区可以不连续。当我们先分扩展分区的话,那系统就会提示我们下一步是要分主分区,还是逻辑分区,主分区和扩展分区的总和小于4,也就是说一块磁盘的只能有4个主分区,逻辑分区是从第5个号开始,而且是连续的。扩展分区不知处格式化,他只是个壳子,真正装数据的是扩展分区下面的逻辑分区。

    转载于:https://blog.51cto.com/13067688/2070421

  • 相关阅读:
    【算法学习笔记】27.动态规划 解题报告 SJTU OJ 1254 传手绢
    【算法学习笔记】26.扫描维护法 解题报告 SJTU OJ 1133 数星星
    【算法学习笔记】25.贪心法 均分纸牌问题的分析
    【算法学习笔记】24.记忆化搜索 解题报告 SJTU OJ 1002 二哥种花生
    【算法学习笔记】23.动态规划 解题报告 SJTU OJ 1280 整装待发
    【算法学习笔记】22.算法设计初步 二分查找 上下界判断
    【算法学习笔记】21.算法设计初步 求第k个数 划分法 快排法
    【算法学习笔记】20.算法设计初步 归并排序 求逆序数
    【算法学习笔记】19.算法设计初步 最大子列和问题的几种方法
    【算法学习笔记】18.暴力求解法06 隐式图搜索2 八数码问题 未启发
  • 原文地址:https://www.cnblogs.com/twodog/p/12137529.html
Copyright © 2011-2022 走看看