前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >三周第四次课(4月9日) 4.1 df命令 4.2 du命令 4.3/4.4 磁盘分区

三周第四次课(4月9日) 4.1 df命令 4.2 du命令 4.3/4.4 磁盘分区

作者头像
全栈程序员站长
发布2022-06-29 15:26:20
7290
发布2022-06-29 15:26:20
举报
文章被收录于专栏:全栈程序员必看

4.1 df命令

命令df(disk filesystem)用于查看盘的信息 默认以K为单位;

代码语言:javascript
复制
[root@linux-151 ~]# df
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda3      16561152 1109608 15451544    7% /
devtmpfs         928056       0   928056    0% /dev
tmpfs            937872       0   937872    0% /dev/shm
tmpfs            937872    8804   929068    1% /run
tmpfs            937872       0   937872    0% /sys/fs/cgroup
/dev/sda1        201380  111468    89912   56% /boot
tmpfs            187576       0   187576    0% /run/user/0
  • tmpfs、devtmpfs 临时的文件系统,/dev、/dev/shm 为内存分区,默认大小为内存的1/2,如果我们把文件放在这个分区下,相当于放在内存中,好处是读写速度很快,坏处是系统重启文件会丢失; 这里我们只看到了装系统时分的/分区和/boot分区;swap分区没看到,我们可以是free命令查看:
代码语言:javascript
复制
[root@linux-151 ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1875748      133240     1504172        8820      238336     1568400
Swap:       4194300           0     4194300
默认单位是KB
  • df -k 以K为单位
  • df -m 以m为单位
  • df -h 以合适单位来显示
  • df -i 以inode来显示
  • df -T 可用显示磁盘文件类型
df -k
代码语言:javascript
复制
[root@linux-151 ~]# df -k
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda3      16561152 1109492 15451660    7% /
devtmpfs         928056       0   928056    0% /dev
tmpfs            937872       0   937872    0% /dev/shm
tmpfs            937872    8804   929068    1% /run
tmpfs            937872       0   937872    0% /sys/fs/cgroup
/dev/sda1        201380  111468    89912   56% /boot
tmpfs            187576       0   187576    0% /run/user/0
df -m
代码语言:javascript
复制
[root@linux-151 ~]# df -m
文件系统       1M-块  已用  可用 已用% 挂载点
/dev/sda3      16173  1084 15090    7% /
devtmpfs         907     0   907    0% /dev
tmpfs            916     0   916    0% /dev/shm
tmpfs            916     9   908    1% /run
tmpfs            916     0   916    0% /sys/fs/cgroup
/dev/sda1        197   109    88   56% /boot
tmpfs            184     0   184    0% /run/user/0
df -h
代码语言:javascript
复制
[root@linux-151 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        16G  1.1G   15G    7% /
devtmpfs        907M     0  907M    0% /dev
tmpfs           916M     0  916M    0% /dev/shm
tmpfs           916M  8.6M  908M    1% /run
tmpfs           916M     0  916M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs           184M     0  184M    0% /run/user/0
df -i
代码语言:javascript
复制
[root@linux-151 ~]# df -i
文件系统         Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3      8285696   28104 8257592       1% /
devtmpfs        232014     392  231622       1% /dev
tmpfs           234468       1  234467       1% /dev/shm
tmpfs           234468     472  233996       1% /run
tmpfs           234468      16  234452       1% /sys/fs/cgroup
/dev/sda1       102400     330  102070       1% /boot
tmpfs           234468       1  234467       1% /run/user/0

注意:inode号是磁盘格式化的时候就自动按一定的比例4k:1分配好了,当创建一个文件是就会拿一个inode给这个文件使用。inode里面存的是文件的相关属性比如大小,权限,属组和存在磁盘的位置,如果创建文件提示空间不够,但是df查看磁盘空间的时候,发现还有空间,但是就是创建不了,这个时候就应该是inode被占满了,可以通过删除文件来回收inode

df -T

可用显示磁盘文件类型

代码语言:javascript
复制
[root@linux-151 ~]# df -T
文件系统       类型        1K-块    已用     可用 已用% 挂载点
/dev/sda3      xfs      16561152 1109492 15451660    7% /
devtmpfs       devtmpfs   928056       0   928056    0% /dev
tmpfs          tmpfs      937872       0   937872    0% /dev/shm
tmpfs          tmpfs      937872    8804   929068    1% /run
tmpfs          tmpfs      937872       0   937872    0% /sys/fs/cgroup
/dev/sda1      xfs        201380  111468    89912   56% /boot
tmpfs          tmpfs      187576       0   187576    0% /run/user/0

4.2 du命令

命令du(disk useage)用来查看某个目录或文件所占空间的大小

  • du -s 查看目录本身
  • du –c表示最后加总,不常用
  • du -h 表示系统自动调节单位,
  • du -sb 以字节(b)单位,可以查看文件真实大小
  • du -k 以k为单位
  • du -m 以m为单位
代码语言:javascript
复制
[root@linux-151 ~]# du -s /tmp/
144	/tmp/
代码语言:javascript
复制
[root@linux-151 ~]# du -sh /root
128K	/root
[root@linux-151 ~]# du -c /root
16	/root/.ssh
0	/root/123
128	/root
128	总用量
  • du -sb 查看文件的真实大小,和ls -lb查看大小一样(它们单位为b字节)
代码语言:javascript
复制
[root@linux-151 ~]# du -sb /root/anaconda-ks.cfg
1422	/root/anaconda-ks.cfg
[root@linux-151 ~]# ls -lb /root/anaconda-ks.cfg
-rw-------. 1 root root 1422 4月 9 23:35 /root/anaconda-ks.cfg  
  • anaconda-ks.cfg实际大小是1.4K,占用了1个block,所以du –k查看时4k
代码语言:javascript
复制
[root@linux-151 ~]# du -k  /root/anaconda-ks.cfg
4	/root/anaconda-ks.cfg
[root@linux-151 ~]# ls -lh /root/anaconda-ks.cfg
-rw-------. 1 root root 1.4K 4月 9 23:35 /root/anaconda-ks.cfg
  • du -sh 和ls -lh 查看文件大小的区别:
  • 对于同一个文件,一般du -sh 出来的比ls -lh 的要大,这是由于k引起来的。原因是在格式化磁盘分区时,磁盘会被分割成一个个的block块,一个block是4K大小,且一个block只能放一个文件,如果这个文件很大,如大于4K,一个block是放不了的,需要另放在其他的块里;如果一个文件很小,不到4K,这个快也不会再放其他的文件了,这样du -sh其实是读取文件的block的大小,ls -lh读取的是文件本身大小。如果一个文件的大小正好是4K或者4K的倍数,则du -sh 和ls -lh读取的大小是一样的

4.3/4.4 磁盘分区

增加虚拟磁盘
002315_1FIV_3804357.png
002315_1FIV_3804357.png

在当前的虚拟机选项卡点击鼠标右键,选择”设置”;

此时会弹出”虚拟机设置”对话框。在左侧选中”硬盘”,然后点击下方的”添加”按钮;

“添加硬件向导”中“硬件类型”选择硬盘,点击下一步;

002406_KEaa_3804357.png
002406_KEaa_3804357.png

“选择磁盘类型”这里保持默认不用更改任何指标,直接点击”下一步”按钮;

“选择磁盘”对话框里也保持默认,直接点击”下一步”按钮;

“指定磁盘容量”这里可以自由分配大小,设定”最大磁盘大小”为20GB,点击下一步;

继续点击”完成”按钮,最终完成添加新的虚拟机磁盘。虽然磁盘已经添加了,但系统暂时还不能被识别,需要重启一下系统才可以。

fdisk命令
  • fdisk -l 查看磁盘分区信息
  • fdisk -l /dev/sda 查看指定磁盘分区信息
  • fdisk 只能划分小于2T的分区,超过2T要用part来分区。
  • 主分区+扩展分区大于等于4
  • 扩展分区下面可以建逻辑分区,逻辑分区从sdb5开始
代码语言:javascript
复制
[root@linux-151 ~]# fdisk -l

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     8800255     4194304   82  Linux swap / Solaris
/dev/sda3         8800256    41943039    16571392   83  Linux
代码语言:javascript
复制
[root@linux-151 ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
  • fdisk 命令如果不加-l选项,就会进入磁盘分区模式
代码语言:javascript
复制
[root@linux-151 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

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

Device does not contain a recognized partition table
使用磁盘标识符 0xa74ee364 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):

分区最常用的几个命令:

  • p :表示打印当前磁盘的分区情况
  • n:表示建立一个新的分区
  • w:表示保存
  • q:表示退出
  • d:表示删除已分区
代码语言:javascript
复制
命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364

   设备 Boot      Start         End      Blocks   Id  System


创建分区:
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended

注意:这里的p表示主分区,e表示扩展分区,l表示逻辑分区

创建第一个主分区:

代码语言:javascript
复制
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5
分区 1 已设置为 Linux 类型,大小设为 3 KiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048        2053           3   83  Linux

创建第二个主分区:

代码语言:javascript
复制
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (2054-41943039,默认为 4096):
将使用默认值 4096
Last 扇区, +扇区 or +size{K,M,G} (4096-41943039,默认为 41943039):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048        2053           3   83  Linux
/dev/sdb2            4096     4198399     2097152   83  Linux

第三个主分区:

代码语言:javascript
复制
命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (2054-41943039,默认为 4198400):
将使用默认值 4198400
Last 扇区, +扇区 or +size{K,M,G} (4198400-41943039,默认为 41943039):+1G
分区 3 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048        2053           3   83  Linux
/dev/sdb2            4096     4198399     2097152   83  Linux
/dev/sdb3         4198400     6295551     1048576   83  Linux

第4个主分区:

代码语言:javascript
复制
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
No free sectors available

命令(输入 m 获取帮助):d
分区号 (1-4,默认 4):4
分区 4 已删除

命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): p
已选择分区 4
起始 扇区 (2054-41943039,默认为 6295552):
将使用默认值 6295552
Last 扇区, +扇区 or +size{K,M,G} (6295552-41943039,默认为 41943039):+5G
分区 4 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048        2053           3   83  Linux
/dev/sdb2            4096     4198399     2097152   83  Linux
/dev/sdb3         4198400     6295551     1048576   83  Linux
/dev/sdb4         6295552    16781311     5242880   83  Linux
  • 注意:创建完4个主分区后,我们再想创建新分区的时候,提示:如果你想创建超过四个分区,你必须换一个主分区和一个扩展分区。
代码语言:javascript
复制
命令(输入 m 获取帮助):n
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.

我们删除一个主分区,分区号4

代码语言:javascript
复制
命令(输入 m 获取帮助):d
分区号 (1-4,默认 4):4
分区 4 已删除

创建扩展分区:

代码语言:javascript
复制
命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e
已选择分区 4
起始 扇区 (2054-41943039,默认为 6295552):
将使用默认值 6295552
Last 扇区, +扇区 or +size{K,M,G} (6295552-41943039,默认为 41943039):+5
分区 4 已设置为 Extended 类型,大小设为 3 KiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048        2053           3   83  Linux
/dev/sdb2            4096     4198399     2097152   83  Linux
/dev/sdb3         4198400     6295551     1048576   83  Linux
/dev/sdb4         6295552     6295557           3    5  Extended

创建扩展分区后,我们再创建分区的时候:提示只能创建逻辑分区了

代码语言:javascript
复制
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (6297600-12587007,默认为 6297600):
将使用默认值 6297600
Last 扇区, +扇区 or +size{K,M,G} (6297600-12587007,默认为 12587007):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048        2053           3   83  Linux
/dev/sdb2            4096     4198399     2097152   83  Linux
/dev/sdb3         4198400     6295551     1048576   83  Linux
/dev/sdb4         6295552    12587007     3145728    5  Extended
/dev/sdb5         6297600    10491903     2097152   83  Linux

注意:如果觉得分区错误,想重新分区,可以按q回车直接退出,然后再重新分区; 如果不想要某个分区,可以按d 回车删除相应的分区号。

代码语言:javascript
复制
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf9e111da
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1         6293504    16779263     5242880    5  Extended
/dev/sdb3            2048     6293503     3145728   83  Linux
/dev/sdb5         6295552     8392703     1048576   83  Linux
/dev/sdb6         8394752    10491903     1048576   83  Linux
/dev/sdb7        10493952    16779263     3142656   83  Linux

上面例子 分了1个主分区/dev/sdb3 ,一个扩展分区/dev/sdb1,其他的全是逻辑分区, 逻辑分区号一定是从5开始,连续的,前4个分区号是留个主分区和扩展分区。

  • 注意:扩展分区不能格式化,不支持写数据;扩展分区相当于一个盒子,里面是逻辑分区。数据都写在逻辑分区中。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/101725.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • df -k
  • df -m
  • df -h
  • df -i
  • df -T
  • 4.2 du命令
  • 4.3/4.4 磁盘分区
    • 增加虚拟磁盘
      • fdisk命令
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档