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

2022-06-29 15:26:20 浏览数 (1)

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 磁盘分区

增加虚拟磁盘

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

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

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

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

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

“指定磁盘容量”这里可以自由分配大小,设定”最大磁盘大小”为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

0 人点赞