df命令、du命令、磁盘分区

df命令

 

1、df命令简介

功 能:显示文件系统磁盘空间使用情况

语 法:df [选项]

补 充: 默认显示单位KB。

选项:

        -h:human readalbe,显示内容变为人类可读,优化显示内内容的可读性。

        -k:以KB为单位显示;

        -m:以M为单位显示;

        -i:查看inode的使用情况。

2、df命令使用

2.1、#df

[root@colinlinux ~]# df
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda2      16843776 1181668 15662108    8% /
devtmpfs         923836       0   923836    0% /dev
tmpfs            933648       0   933648    0% /dev/shm
tmpfs            933648    8796   924852    1% /run
tmpfs            933648       0   933648    0% /sys/fs/cgroup
/dev/sda1        201380  111444    89936   56% /boot
tmpfs            186732       0   186732    0% /run/user/0
[root@colinlinux ~]# 

第一列:磁盘分区名称,或文件系统名称;

第二列:磁盘总大小,默认单位KB,标题行的1k-块,对应单位,KB;

第三列:已使用空间,默认单位KB;

第四列:剩余可用空间,默认单位KB;

第五列:已使用空间百分比。如果已使用百分比达到90%以上,那么就应该关注了。磁盘分区太满会造成系统崩溃重启,甚至因为磁盘太满无法远程连接。

第六列:挂载点。挂载点实际就是系统中的一个目录,Linux的磁盘是不能直接访问的,需要有一个挂载点才能访问。系统通过挂载点,才能找到这个磁盘,进入磁盘读写数据。

磁盘知识补充:

计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。

linux、unix这类操作系统将系统中的一切都作为文件来管理。在windows中我们常见的硬件设备、磁盘分区等,在linux、unix中都被视作文件,对设备、分区的访问就是读写对应的文件。

挂载点实际上就是linux中的磁盘文件系统的入口目录,类似于windows中的用来访问不同分区的C:、D:、E:等盘符。其实winxp也支持将一个磁盘分区挂在一个文件夹下面,只是我们C:、D:这样的盘符操作用惯了,一般没有将分区挂到文件夹。

重启会被清空的文件系统

图中红色框内的文件系统或者叫磁盘分区,只要是名称中带有tmpfs的都是临时的磁盘分区,在这个磁盘分区的挂载点中即使写入了东西,重启或者退出后都会被清除。

/dev/shm是内存的挂载点,如果想要在内存里写东西,就可以放倒/dev/shm目录下。

 

062606_aJPf_3643875.png

2.2、#df -h

#df -h ,-h(human)选项会以人为可读的形式显示磁盘使用情况;

[root@colinlinux ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda2        17G  1.2G   15G    8% /
devtmpfs        903M     0  903M    0% /dev
tmpfs           912M     0  912M    0% /dev/shm
tmpfs           912M  8.6M  904M    1% /run
tmpfs           912M     0  912M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs           183M     0  183M    0% /run/user/0

2.2、#df -k

#df -k ,-k选项会以KBytes为单位显示磁盘使用情况;

[root@colinlinux ~]# df -k
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda2      16843776 1181596 15662180    8% /
devtmpfs         923836       0   923836    0% /dev
tmpfs            933648       0   933648    0% /dev/shm
tmpfs            933648    8796   924852    1% /run
tmpfs            933648       0   933648    0% /sys/fs/cgroup
/dev/sda1        201380  111444    89936   56% /boot
tmpfs            186732       0   186732    0% /run/user/0

2.3、#df -m

#df -m ,-m选项会以MBytes为单位显示磁盘使用情况;

[root@colinlinux ~]# df -m
文件系统       1M-块  已用  可用 已用% 挂载点
/dev/sda2      16449  1154 15296    8% /
devtmpfs         903     0   903    0% /dev
tmpfs            912     0   912    0% /dev/shm
tmpfs            912     9   904    1% /run
tmpfs            912     0   912    0% /sys/fs/cgroup
/dev/sda1        197   109    88   56% /boot
tmpfs            183     0   183    0% /run/user/0

2.4、#df -i

创建好分区后,一旦格式化就创建好了inode。inode多少和磁盘分区大小有关。如果inode使用量满了的话,即使df查看到已用空间百分比还有剩余,也无法写入了。

 

[root@colinlinux ~]# df -i
文件系统         Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda2      8427008   32463 8394545       1% /
devtmpfs        230959     384  230575       1% /dev
tmpfs           233412       1  233411       1% /dev/shm
tmpfs           233412     455  232957       1% /run
tmpfs           233412      16  233396       1% /sys/fs/cgroup
/dev/sda1       102400     330  102070       1% /boot
tmpfs           233412       1  233411       1% /run/user/0

2.5、#df -a

查看全部的文件系统情况;

[root@colinlinux ~]# df -a
文件系统          1K-块    已用     可用 已用% 挂载点
rootfs                -       -        -     - /
sysfs                 0       0        0     - /sys
proc                  0       0        0     - /proc
devtmpfs         923836       0   923836    0% /dev
securityfs            0       0        0     - /sys/kernel/security
tmpfs            933648       0   933648    0% /dev/shm
devpts                0       0        0     - /dev/pts
tmpfs            933648    8768   924880    1% /run
tmpfs            933648       0   933648    0% /sys/fs/cgroup
cgroup                0       0        0     - /sys/fs/cgroup/systemd
pstore                0       0        0     - /sys/fs/pstore
cgroup                0       0        0     - /sys/fs/cgroup/blkio
cgroup                0       0        0     - /sys/fs/cgroup/cpu,cpuacct
cgroup                0       0        0     - /sys/fs/cgroup/freezer
cgroup                0       0        0     - /sys/fs/cgroup/cpuset
cgroup                0       0        0     - /sys/fs/cgroup/memory
cgroup                0       0        0     - /sys/fs/cgroup/net_cls,net_prio
cgroup                0       0        0     - /sys/fs/cgroup/devices
cgroup                0       0        0     - /sys/fs/cgroup/hugetlb
cgroup                0       0        0     - /sys/fs/cgroup/perf_event
cgroup                0       0        0     - /sys/fs/cgroup/pids
configfs              0       0        0     - /sys/kernel/config
/dev/sda2      16843776 1181592 15662184    8% /
selinuxfs             0       0        0     - /sys/fs/selinux
systemd-1             -       -        -     - /proc/sys/fs/binfmt_misc
mqueue                0       0        0     - /dev/mqueue
debugfs               0       0        0     - /sys/kernel/debug
hugetlbfs             0       0        0     - /dev/hugepages
/dev/sda1        201380  111444    89936   56% /boot
binfmt_misc           0       0        0     - /proc/sys/fs/binfmt_misc
tmpfs            186732       0   186732    0% /run/user/0
[root@colinlinux ~]#

2.6、#df 文件或目录

直接#df 文件或目录,会显示文件或目录所在挂载点的相关情况,也可以用与查看文件挂载点。

[root@colinlinux ~]# df /tmp/colin.txt 
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda2      16843776 1181596 15662180    8% /
[root@colinlinux ~]# df /root/
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda2      16843776 1181596 15662180    8% /
[root@colinlinux ~]# 

 

du命令

1、du命令简介

功 能:可以查看某个目录或文件的占用磁盘空间的大小,这里是指的文件占用磁盘的块的大小,单位默认KB,

语 法:df [选项] [参数]

补 充: 默认显示单位KB。

选项:

        -h:human readalbe,显示内容变为人类可读,优化显示内内容的可读性。

        -s或--summarize 仅显示总计,只列出最后加总的值。默认单位KB;

        -b:以Byte为单位显示;

        -k:以KB为单位显示;

        -m:以M为单位显示;

        -a:显示目录所有文件;

 

2、du命令用法

2.1、du

直接使用#du命令,会列出当前路径下的文件占用磁盘块情况;第一列的数字是占用磁盘块的大小,单位KB;

[root@colinlinux test1]# cd 
[root@colinlinux ~]# cd /tmp/test1/
[root@colinlinux test1]# ls
a.txt  b.txt  dir_t
[root@colinlinux test1]# du
4	./dir_t
12	.
[root@colinlinux test1]# 

2.2、#du 文件/目录

#du 目录

和直接在目录下使用du一样,会显示当前目录和目录下的目录占用磁盘的情况;

[root@colinlinux ~]# cd /tmp/test1/
[root@colinlinux test1]# ls
a.txt  b.txt  dir_t
[root@colinlinux test1]# du
4	./dir_t
12	.
[root@colinlinux test1]# du /tmp/test1/
4	/tmp/test1/dir_t
12	/tmp/test1/
[root@colinlinux test1]# 
#du 文件

可以查看这个文件占用磁盘块大小;

[root@colinlinux ~]# cd /tmp/test1/
[root@colinlinux test1]# ls
a.txt  b.txt  dir_t
[root@colinlinux test1]# du a.txt 
4	a.txt
[root@colinlinux test1]# 

2.3、#du -s 文件/目录

#du -s 文件/目录,显示的是总计的磁盘占用情况,不加-s显示的是分开的磁盘使用情况;

[root@colinlinux /]# du /root/
4	/root/.ssh
44	/root/
[root@colinlinux /]# du -s /root/
44	/root/
[root@colinlinux /]# 

 

2.4、#du -a 目录

#du -a 目录,-a选项后面一般跟一个目录,这样可以查看所有的目录所有文件或目录的磁盘占用情况;

[root@colinlinux /]# du -a /root/
4	/root/.bash_logout
4	/root/.bash_profile
4	/root/.bashrc
4	/root/.cshrc
4	/root/.tcshrc
4	/root/anaconda-ks.cfg
8	/root/.bash_history
4	/root/.ssh/authorized_keys
4	/root/.ssh
4	/root/.viminfo
4	/root/.lesshst
44	/root/
[root@colinlinux /]# 

2.5、du -sh和ls不同

du查看文件大小,是统计的文件占用块的大小,这里磁盘的块大小是4KB,即使文件没写满显示也是大小4KB,一个块里只能是一个文件;

ls -l查看文件大小,是统计的文件本身的大小;

 

[root@colinlinux /]# du -sh /etc/passwd
4.0K	/etc/passwd
[root@colinlinux /]# ls -lh /etc/passwd
-rw-r--r--. 1 root root 1.2K 11月  2 06:56 /etc/passwd
[root@colinlinux /]# 

2.6、#du -sb和#ls -l

du -sb查看到的和ls -l 查看到的大小一致,因为du -sb是以字节为单位显示大小,ls -l 也是按照字节大小统计的,所以才会一样;

 

[root@colinlinux /]# du -sb /etc/passwd
1172	/etc/passwd
[root@colinlinux /]# ls -l /etc/passwd
-rw-r--r--. 1 root root 1172 11月  2 06:56 /etc/passwd
[root@colinlinux /]# 

磁盘分区

1、服务器添加硬盘;

服务器添加硬盘,实际上服务器是支持热拔插硬盘的,开机状态下直接插上硬盘就可以识别出来。

2、给虚拟机添加磁盘;

选择虚拟机设置,选择添加

071318_280D_3643875.png

选择添加硬件类型为硬盘

071810_kERF_3643875.png

选择创建何种硬盘(选择默认的SCSI即可)

071820_TPMA_3643875.png

选择磁盘(选择创建新虚拟磁盘)

071830_61go_3643875.png

指定磁盘容量(设置大小)

071841_q9qc_3643875.png

指定磁盘文件,这里默认选择完成,退出。

071851_3WEu_3643875.png

选择确定,退出。

071900_pQGF_3643875.png

3、fdisk命令,给磁盘分区

功 能:fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。采用问答式界面。

语 法:df [选项] [参数]

选 项:    -l:列出指定的外围设备的分区表状况;

参 数:

补 充:

[root@colinlinux /]# fdisk
用法:
 fdisk [选项] <磁盘>    更改分区表
 fdisk [选项] -l <磁盘> 列出分区表
 fdisk -s <分区>        给出分区大小(块数)

选项:
 -b <大小>             扇区大小(512、1024、2048或4096)
 -c[=<模式>]           兼容模式:“dos”或“nondos”(默认)
 -h                    打印此帮助文本
 -u[=<单位>]           显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
 -v                    打印程序版本
 -C <数字>             指定柱面数
 -H <数字>             指定磁头数
 -S <数字>             指定每个磁道的扇区数

[root@colinlinux /]# 

3.1、#fdisk -l

列出目前系统的磁盘情况;

[root@colinlinux /]# fdisk -l

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    34119679    16854016   83  Linux
/dev/sda3        34119680    41930751     3905536   82  Linux swap / Solaris
[root@colinlinux /]# 

上图中明显只有一块磁盘,刚刚添加的磁盘没有列出来,系统没有识别出来。因为是虚拟机,不像真实服务器支持热拔插,需要重新启动才能识别。

#reboot重启

从虚拟机的右下角也可以看到,有两块磁盘了。

072625_MkvT_3643875.png

重新登录进系统,再次#fdisk -l,查看系统磁盘情况,可以看到有两块磁盘了。

072638_Eqfs_3643875.png

 

3.2、#fdisk 磁盘路径 给磁盘分区

常用选项:

m,显示帮助列表;

n,增加一个新分区;

p,打印出分区列表;blocks单位是KB;

w,写入列表到分区中并退出,其实就是保存退出;

q,直接退出;

d,删除分区;

#fdisk /dev/sdb

072737_gXcl_3643875.png

输入m可以获取帮助信息

常用选项:

n,增加一个新分区;

p,打印出分区列表;

w,写入列表到分区中并退出,其实就是保存退出;

d,删除分区;

072754_njOx_3643875.png

输入p,打印一下分区列表,显示还没有任何分区;

072806_raO4_3643875.png

输入n,增加分区。

显示结果:选择p,表示主分区;选择e,表示扩展分区;

fdisk划分分区有个格式叫做MBR分区,MBR分区最高支持2T,超过2T就不能使用fdisk划分分区了,另外划分分区最多只能有4个主分区primary,如果想要划分多个分区,需要设置一个扩展分区,然后在扩展分区中再划分逻辑分区。扩展分区可以没有。

主分区primary + 扩展分区extended 小于等去4;

072823_02BK_3643875.png

输入p选择设置主分区;

设置主分区号,这里自己设置,我们设置成1;(注:主分区号,只能设置成1到4

设置扇区起始值,这里选择默认即可;

设置分区大小,这里自己设置,我们设置为+2G,分配2G给主分区1;

072845_rjI4_3643875.png

输入p,打印分区列表就发现这里多了一块分区了。

072854_GKvC_3643875.png

当我们划分到3个主分区的时,再划分分区就发现提示有3个主分区,0个扩展分区,1个空闲可用,这表示还有一个主名额可以用,如果划分为了主分区,再划分就没有了。

072907_dWNu_3643875.png

当划分到4个主分区的时候,如果再输入n,添加新分区就会提示:如果想要创建比4个更多的分区,必须把一个主分区替换成扩展分区;

072920_7BPE_3643875.png

输入d选择删除分区号,默认从后往前删除,默认删除4,这里选择删除3,删除后查看一下,发现分区3已经被删除了。这里说明主分区的分区号是1到4,可以不连续,但是不能大于4;

072941_GeaW_3643875.png

输入n,继续添加分区,输入e,添加扩展分区,给扩展分区划分4G;(因为添加磁盘是天机的10G,所以主分区和逻辑分区之和不能大于10G)

072954_t7mA_3643875.png

输入p,查看分区列表。

Blocks中4194304单位KB,就是刚刚添加的扩展分区,

ID号,是主分区或者是逻辑分区都是83,5是扩展分区;

System,Extended就是扩展分区;

073006_Zs0Y_3643875.png

当添加了逻辑分区后,因为4个主分区名额已满,就只会提示添加逻辑分区了。

这里添加1G的逻辑分区;

073027_7zwR_3643875.png

查看分区列表可以看到,扩展分区下面多出了一个ID号83的分区,类型是linux;

073037_KiH9_3643875.png

查看当前分区情况,然后删除主分区2,和逻辑分区5;

073106_YDsC_3643875.png

删除分区2,发现没问题;

073122_TuFH_3643875.png

删除分区5,发现sdb5还在,但是对比分区的start和end,可以发现现在的sdb5其实是刚刚的sdb6。

逻辑分区的分区号必须连续,而主分区则不是;

073214_k7xJ_3643875.png

输入q,直接退出不保存;

再次进入分区模式,目前还没有任何分区,现在直接添加一个扩展分区,

073229_PiJ0_3643875.png

添加完扩展分区后就会发现再添加分区的时候提示内容变成了

Partition type:

p primary (0 primary, 1 extended, 3 free)

l logical (numbered from 5)

0个主分区,一个扩展分区,三个可用;

逻辑分区号从5开始;

 

说明:主分区和扩展分区的分区号,必须在0-4,不必连续;

但是逻辑分区的分区号,则必须从5开始,而且必须连续;

073255_IAyN_3643875.png

这里我们添加逻辑分区的时候,只要选择l,就会默认自动从当前逻辑分区号增加1,不用人为输入分区号,以保证逻辑分区号连续;

073303_n1q4_3643875.png

小结:扩展分区和逻辑分区

扩展分区虽然有起始值终止值,有大小,但是真正占有空间的是扩展分区内部的逻辑分区,扩展分区本身不支持格式化,不能直接在扩展分区里写入数据,扩展分区只是逻辑分区的限定外壳,真正起作用的是逻辑分区。

parted分区GPT格式

 

fdisk分区工具,它的分区格式为MBR,特点是,最多分4个主分区,磁盘大小不能超过2T。而GPT分区格式,突破了这些限制,它没有主分区、扩展分区、逻辑分区之分,在一块磁盘上最多可以分128个分区出来,支持大于2T的分区,最大卷可达18EB。

parted 工具常用功能:

当在命令行输入parted后,进入parted命令的交互模式。输入help会显示帮助信息。下面就简单介绍一下常用的功能

1、check 简单检查文件系统。建议用其他命令检查文件系统,比如fsck

2、help 显示帮助信息

3、mklabel 创建分区表, 即是使用msdos(MBR)还是使用gpt,或者是其他方式分区表

4、 mkfs 创建文件系统。该命令不支持ext3 格式,因此建议不使用,最好是用parted分好区,然后退出parted交互模式,用其他命令进行分区,比如:mkfs.ext3

5、mkpart 创建新分区。

格式:mkpart PART-TYPE  [FS-TYPE]  START  END

PART-TYPE 类型主要有primary(主分区), extended(扩展分区), logical(逻辑区). 扩展分区和逻辑分区只对msdos。

fs-type   文件系统类型,主要有fs32,NTFS,ext2,ext3等

start end 分区的起始和结束位置。

6、mkpartfs 建立分区及其文件系统。目前还不支持ext3文件系统,因此不建议使用该功能。最后是分好区后,退出parted,然后用其他命令建立文件系统。

7、print 输出分区信息。该功能有3个选项,

free 显示该盘的所有信息,并显示磁盘剩余空间

number 显示指定的分区的信息

all 显示所有磁盘信息

8、resize 调整指定的分区的大小。目前对ext3格式支持不是很好,所以不建议使用该功能。

9、rescue 恢复不小心删除的分区。如果不小心用parted的rm命令删除了一个分区,那么可以通过rescue功能进行恢复。恢复时需要给出分区的起始和结束的位置。然后parted就会在给定的范围内去寻找,并提示恢复分区。

10、rm 删除分区。命令格式 rm  number 。如:rm 3 就是将编号为3的分区删除

11、select 选择设备。当输入parted命令后直接回车进入交互模式是,如果有多块硬盘,需要用select 选择要操作的硬盘。如:select /dev/sdb

12、set 设置标记。更改指定分区编号的标志。标志通常有如下几种:boot  hidden   raid   lvm 等。

boot 为引导分区,hidden 为隐藏分区,raid 软raid,lvm 为逻辑分区。

如:set 3  boot  on   设置分区号3 为启动分区

注:以上内容为parted常用的功能,由于该工具目前对ext3支持得不是很好,因此有些功能无法应用,比如move(移动分区)和resize等。

 

parted分区功能事例。

1、用命令模式 为/dev/sdb创建gpt类型文件分区表,并分500G分区。然后为该分区创建ext3文件系统。并将该分区挂载在/test文件夹下。

#  parted  /dev/sdb  mklabel     —创建分区表

#  parted  /dev/sdb  mkpart  ext3  0  500000    —创建500G分区/dev/sdb1

# mkfs.ext3  /dev/sdb1      —-将分区/dev/sdb1格式化成ext3格式文件系统

# mount  /dev/sdb1 /test   —将/dev/sdb1 挂载在/test下

如果让系统自动挂载/dev/sdb1 需手工编辑/etc/fstab文件。并在文件末尾添加如下内容:

/dev/sdb1             /test                ext3    defaults        0 0

2、创建大小为4G的交互分区。由于已经创建了500G的/dev/sdb1 ,因此再创建的分区为/dev/sdb2

# parted /dev/sdb mkpart swap 500000 504000 —创建4G分区/dev/sdb2

# mkswap  /dev/sdb2   —-将/dev/sdb2创建为交换分区

# swapon /dev/sdb2   —-激活/dev/sdb2

如果让系统自动挂载/dev/sdb2这个交换分区,需手工编辑/etc/fstab文件。并在文件末尾添加如下内容:

/dev/sdb2             swap                swap    defaults        0 0

3、恢复被误删除的分区(也可以参考testdisk命令)。由于parted直接写磁盘,因此一旦不小心删除了某一分区,建议立即用rescue恢复。下面通过事例来理解恢复过程。

# parted /dev/sdb mkpart ext3 504000 514000 —-创建10G分区/dev/sdb3

# mkfs.ext3 /dev/sdb3  —将/dev/sdb3格式化成ext3文件系统。

# parted /dev/sdb rm 3 —-删除/dev/sdb3

# parted /dev/sdb rescue 504000 514000    —依照屏幕提示,输入yes即可恢复被误删除分区

 

 

 

转载于:https://my.oschina.net/codepencil/blog/1560173

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值