Linux学习之 df命令, du命令,磁盘分区

一、df命令

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

[root@localhost ~]# df
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda2      28289540 1022236 27267304    4% /
devtmpfs         494224       0   494224    0% /dev
tmpfs            504076       0   504076    0% /dev/shm
tmpfs            504076    6908   497168    2% /run
tmpfs            504076       0   504076    0% /sys/fs/cgroup
/dev/sda1        201380   99168   102212   50% /boot
tmpfs            100816       0   100816    0% /run/user/0
[root@localhost ~]# 

tmpfs、devtmpfs 临时的文件系统,/dev、/dev/shm 为内存分区,默认大小为内存的1/2,如果我们把文件放在这个分区下,相当于放在内存中,好处是读写速度很快,坏处是系统重启文件会丢失

上面swap分区没看到,我们可以是free命令查看,默认单位是kb:

[root@localhost ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1008152      115220      753236        6908      139696      733472
Swap:       2097148           0     2097148
[root@localhost ~]# 
df -k 以K为单位
df -m 以m为单位
df -h 以合适单位来显示
df -i 以inode来显示

df -T 可用显示磁盘文件类型

例如:df -h

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

df -i

[root@localhost ~]# df -i
文件系统          Inode 已用(I)  可用(I) 已用(I)% 挂载点
/dev/sda2      14151680   25955 14125725       1% /
devtmpfs         123556     380   123176       1% /dev
tmpfs            126019       1   126018       1% /dev/shm
tmpfs            126019     474   125545       1% /run
tmpfs            126019      16   126003       1% /sys/fs/cgroup
/dev/sda1        102400     327   102073       1% /boot
tmpfs            126019       1   126018       1% /run/user/0
[root@localhost ~]# 

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

df -T

[root@localhost ~]# df -T
文件系统       类型        1K-块    已用     可用 已用% 挂载点
/dev/sda2      xfs      28289540 1021700 27267840    4% /
devtmpfs       devtmpfs   494224       0   494224    0% /dev
tmpfs          tmpfs      504076       0   504076    0% /dev/shm
tmpfs          tmpfs      504076    6940   497136    2% /run
tmpfs          tmpfs      504076       0   504076    0% /sys/fs/cgroup
/dev/sda1      xfs        201380   99168   102212   50% /boot
tmpfs          tmpfs      100816       0   100816    0% /run/user/0
[root@localhost ~]# 

二、du命令

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

  • du -s 查看目录本身
  • du –c表示最后加总,不常用
  • du -h 表示系统自动调节单位
  • du -sb 以字节(b)单位,可以查看文件真实大小
  • du -k 以k为单位
  • du -m 以m为单位
[root@localhost ~]# du -s
32	.
[root@localhost ~]# du -s /tmp/
4	/tmp/

[root@localhost ~]# du -sh /root
32K	/root
[root@localhost ~]# du -c /root
4	/root/.ssh
32	/root
32	总用量
[root@localhost ~]# 

du -sb 查看文件的真实大小,和ls -lb查看大小一样(它们单位为b字节)

[root@localhost ~]# du -sb /root
4867	/root
[root@localhost ~]# du -sb /root/anaconda-ks.cfg
1418	/root/anaconda-ks.cfg
[root@localhost ~]# ls -lb /root/anaconda-ks.cfg
-rw-------. 1 root root 1418 1月  13 00:47 /root/anaconda-ks.cfg
[root@localhost ~]# 
  • 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读取的大小是一样的


三、磁盘分区

fdisk命令:

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

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    57018367    28303360   83  Linux
/dev/sda3        57018368    61212671     2097152   82  Linux swap / Solaris
[root@localhost ~]# 
[root@localhost ~]# fdisk -l /dev/sda
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00000235


   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    57018367    28303360   83  Linux
/dev/sda3        57018368    61212671     2097152   82  Linux swap / Solaris


fdisk 命令如果不加-l选项,就会进入磁盘分区模式

[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。


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




命令(输入 m 获取帮助):
分区最常用的几个命令:
  • p :表示打印当前磁盘的分区情况
  • n:表示建立一个新的分区
  • w:表示保存
  • q:表示退出
  • d:表示删除已分区
命令(输入 m 获取帮助):p

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    57018367    28303360   83  Linux
/dev/sda3        57018368    61212671     2097152   82  Linux swap / Solaris

命令(输入 m 获取帮助):
注意:这里的p表示主分区,e表示扩展分区,l表示逻辑分区


发布了29 篇原创文章 · 获赞 4 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章