Linux下如何将c盘分区df -h的分区名给截取出来?

您所在的位置: &
df、du、fdisk:Linux磁盘管理三板斧的使用心得
df、du、fdisk:Linux磁盘管理三板斧的使用心得
磁盘是Linux系统中一项非常重要的资源,如何对其进行有效的管理直接关系到整个系统的性能问题。在常用的命令当中,df用于检查文件系统磁盘占用情况,du检查磁盘空间占用情况,而fdisk用于磁盘分区,是作者比较常用的三个命令,下面分享一些这方面的使用心得。
【51CTO独家特稿】磁盘是Linux系统中一项非常重要的资源,如何对其进行有效的管理直接关系到整个系统的性能问题。对Linux磁盘管理稍微有一些学习和经验的朋友们应该都知道df、du和fdisk这三个常用命令:df用于检查文件系统磁盘占用情况,du检查磁盘空间占用情况,而fdisk用于磁盘分区。这三个工具是本人在进行Linux磁盘管理时常用的工具,下面跟大家分享一些使用心得。
作者介绍:李洋(),博士毕业于中科院计算所。10多年来一直从事计算机网络信息安全研发工作,曾主持和参与多项国家重点项目以及信息安全系统和企业信息安全系统的研发工作。具有Linux系统应用、管理、安全及内核的研发经验,擅长网络安全技术、协议分析、Linux系统安全技术、Linux系统及网络管理、Linux内核开发等。
df命令可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息,它也可以显示所有文件系统对i节点和磁盘块的使用情况。
df命令各个选项的含义如下:
-a:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-k:以k字节为单位显示。
-i:显示i节点信息,而不是磁盘块。
-t:显示各指定类型的文件系统的磁盘空间使用情况。
-x:列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
-T:显示文件系统类型。
我们先看看使用df命令的例子:
//列出各文件系统的磁盘空间使用情况
Filesystem
Available Use% Mounted on
0% /dev/shm
第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。
◆用户也许会感到奇怪,第3,4列块数之和不等于第2列中的块数。这是因为默认的每个分区都留了少量空间供系统管理员使用的缘故。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use%列表示普通用户空间使用的百分比,若这一数字达到100%,分区仍然留有系统管理员使用的空间。
最后,Mounted on列表示文件系统的安装点。
//列出各文件系统的i节点使用情况。
Filesystem
IFree IUse% Mounted on
1% /dev/shm
//列出文件系统的类型。
Filesystem
Used Available Use% Mounted on
0% /dev/shm
du的英文原义为&disk usage&,含义为显示磁盘空间的使用情况,统计目录(或文件)所占磁盘空间的大小。该命令的功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出指定目录,则对当前目录进行统计。
df命令的各个选项含义如下:
-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。
-k:以1024字节为单位列出磁盘空间使用情况。
-c:最后再加上一个总计(系统默认设置)。
-l:计算所有的文件大小,对硬链接文件,则计算多次。
-x:跳过在不同文件系统上的目录不予统计。
下面举例说明du命令的使用:
//查看/mnt目录占用磁盘空间的情况
#du &abk /mnt
/mnt/cdrom
/mnt/floppy
//列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间
./libnids-1.17/doc
./libnids-1.17/src
./libnids-1.17/samples
./libnids-1.17
输出清单中的第1列是以块为单位计的磁盘空间容量,第2列列出目录中使用这些空间的目录名称。
◆这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数:
#du &s /mnt
//列出所有文件和目录所占的空间(使用a选项),并以字节为单位(使用b选项)来计算大小
#du &ab /root/mail
mail/sent-mail
mail/saved-messages
fdisk可以划分磁盘分区。下面给出使用Fdisk命令进行磁盘分区的操作步骤:
#fdisk /dev/had
//使用/dev/had作为默认的分区设备
Command (m for help): m
//选择命令选项
Command action
toggle a bootable flag
edit bsd disklabel
toggle the dos compatibility flag
delete a partition
list known partition types
print this menu
add a new partition
create a new empty DOS partition table
print the partition table
quit without saving changes
create a new empty Sun disklabel
change a partition's system id
change display/entry units
verify the partition table
write table to disk and exit
extra functionality (experts only)
用户通过提示键入&m&,可以显示Fdisk命令各个参数的说明。
Fdisk有很多参数,可是经常使用的只有几个。
◆在Linux分区过程,一般是先通过p参数来显示硬盘分区表信息,然后根据信息确定将来的分区。如下所示:
Disk /dev/sda: 4294 MB,
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot
Linux swap
Partition table entries are not in disk order
Command (m for help):
◆如果想完全改变硬盘的分区格式,就可以通过d参数一个一个地删除存在的硬盘分区。删除完毕,就可以通过n参数来增加新的分区。当按下&n&后,可以看到如下所示:
Command (m for help): n
Command action
primary partition (1-4)
Partiton number(1-4):1
First cylinder(1-1023):1
Last cylinder or + size or +sizeK or + sizeM(1-1023):+258M
这里要选择新建的分区类型,是主分区还是扩展分区;并选择p或是e。然后就是设置分区的大小。
◆要提醒注意的是,如果硬盘上有扩展分区,就只能增加逻辑分区,不能增加扩展分区。
◆在增加分区的时候,其类型都是默认的Linux Native,如果要把其中的某些分区改变为其他类型,例如Linux Swap或FAT32等,可以通过命令t来改变,当按下&t&改变分区类型的时候,系统会提示要改变哪个分区、以及改变为什么类型(如果想知道系统所支持的分区类型,键入l),如下所示:
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap)
改变完了分区类型,就可以按下&w&,保存并退出。如果不想保存,那么可以选择&q&直接退出,如下所示:
Command (m for help):w
通过如上的操作,就可以按照需要成功地划分磁盘分区了。
【独家特稿,转载请注明原文作者和出处。】
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&&&的更多文章
PaaS(Platform as a Service)是业界一个比较热门的话题。Cloud F
随着云计算、物联网、大数据、移动互联网的大发展,你应该知道这些。
讲师: 126人学习过讲师: 25人学习过讲师: 55人学习过
Storm是一个开源的分布式实时计算系统,可以简单、可
霾欲静而风不止,又是雾霾黄色预警时,北京最近的天气
经过八个月的开发,openSUSE 13.1在其官网正式发布。o
本书对开发XML应用程序给予了详细指导,其中一些应用程序甚至对于您来说是完全陌生的。这些应用程序包括XML 1.0,以及与XSLT、XQ
51CTO旗下网站df命令是linux下查看磁盘容量的常用命令。可以列出block数量,总容量,使用率等。这次使用python编写一个类似功能的模块,顺便学习一下df的原理。
直接输入df命令可以看到
Filesystem
1k-blocks
Mounted on
blocks个数
使用的容量
接下来就是这些参数怎么来的问题。
df命令是linux下查看磁盘容量的常用命令。可以列出block数量,总容量,使用率等。这次使用python编写一个类似功能的模块,顺便学习一下df的原理。
直接输入df命令可以看到
Filesystem
1k-blocks
Mounted on
blocks个数
使用的容量
接下来就是这些参数怎么来的问题。
/etc/mtab文件
/etc/mtab可以读出的是已经挂载的盘的信息,包括磁盘设备,挂载点,文件系统类型等。和/etc/mtab相似的有一个文件,是/etc/fstab,二者的区别在于,/etc/mtab记录的是当前系统挂载的分区的信息,/etc/fstab更像配置文件,启动时会自动加载/etc/fstab文件内容。
os.statvfs()函数
系统中的df命令应该调用了linux的函数statfs(),这里我使用python,调用的是 os.statvfs()函数。
需要的头文件
import statvfs
vfs=os.statvfs(“目录”)返回这个目录所在磁盘的信息。
F_BSIZE = 0 # 首选block大小
Preferred file system block size
F_FRSIZE = 1 # 基本文件block大小
Fundamental file system block size
F_BLOCKS = 2 #文件系统block总数
Total number of file system blocks (FRSIZE)
F_BFREE = 3 #空闲block数量
Total number of free blocks
F_BAVAIL = 4 #
非超级用户可用的block数量
Free blocks available to non-superuser
F_FILES = 5 # 总的文件节点数量
Total number of file nodes
F_FFREE = 6 #空闲的文件节点的数量
Total number of free file nodes
F_FAVAIL = 7 #非超级用户可用的空闲文件节点数量
Free nodes available to non-superuser
F_FLAG = 8 # Flags (see your local statvfs man page)
F_NAMEMAX = 9 # Maximum file name length
读取有多种方式,比如vfs[0],vfs.f_bsize,vfs[F_BSIZE],都可以读取首选block大小的值。
计算容量就是 block大小*block数量
from __future__ import division
vfs=os.statvfs("目录")
k_blocks=vfs.f_bsize*vfs.f_blocks/1024
used=vfs.f_bsize*(vfs.f_blocks-vfs.f_bfree)/1024
available=vfs.f_bsize*vfs.f_bavail/1024
use=round(used/(used+available)*100,2)
为什么use不是由used/k_blocks
看上去,使用量/总容量 就是使用率,但是忽略了一点
总容量=使用量+未使用量+不可使用量
所以其实重点就是在于这个不可使用量,使用率=使用量/(使用量+未使用量)
才是正确的值。
未解决的问题:
/dev/mapper/fedora-root
刚发现这个文件系python的计算值不对,路径明显和以往不同。后面去研究一下是什么情况。应该是新的技术。
转载请注明: >>
用云栖社区APP,舒服~
【云栖快讯】首届阿里巴巴中间件技术峰会,揭秘阿里10年分布式技术沉淀!阿里高可用体系核心缔造者、全链路压测创始人,DRDS与TDDL负责人等大咖出场,干货分享,不可错过!&&
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...
RDS是一种稳定可靠、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、PostgreSQL、高...
2017杭州云栖大会火热抢票
Loading...[Linux命令] df 显示磁盘空间实用情况_Linux教程_Linux公社-Linux系统门户网站
你好,游客
[Linux命令] df 显示磁盘空间实用情况
来源:Linux社区&
作者:Linux
显示磁盘空间的使用情况.
df [options] [filesystem-list]
实用程序df(disk free) 报告每个挂载设备的总空间和空闲空间.
df和du显示的磁盘空间使用情况不一致的原因及处理
Linux命令之cd
Linux命令之cat
Linux命令之alias/unalias
Linux命令解析:su root和su -root
Linux命令之 交互式输入read
当不带任何参数调用df时,用户将获得本地系统上每个挂载设备的空闲空间.
filesystem 是一个或者多个路径名的可选列表,路径名用来指定要涵盖其空间实用情况的文件系统,该参数用于Mac OS X和一些Linux 系统上.可以使用设备路径名或者挂载目录的路径名来指定挂载文件系统.
以两个连接字符开头(--)的选项仅用于Linux.除非特别指出,否则以一个连接字符开头(-)的单字符选项可以用于OS X和Linux.
--all -a 报告块大小为0的文件系统,例如,/dev/proc.通常df将不报告这些文件系统.
--block-size=sz -B szsz用来指定报告实用的单位(默认情况下块大小为1KB).
-g (gigabyte)以GB为单位显示块大小(仅用于OS X).
--si-H 以KB(千字节),MB(兆字节),和GB(千兆字节)为单位显示块大小.实用1024的幂.
--human-readable -h以KB(千字节),MB(兆字节),和GB(千兆字节)为单位显示块大小.实用1024的幂.
--inodes-i报告已使用和未使用的索引节点的编号,而不按块的情况报告.
-k(kilobyte)以KB为单位显示块大小.
--local-l显示本地文件系统.
-m(megabyte) 以MB为单位报告大小(仅用于OS X).
在Mac OS X下,df实用程序支持BLOCKSIZE环境变量,忽略小于512字节或者大于1GB的块.
在Mac OS X下,已使用和未使用的inode(-i 选项)的个数在HFS+文件系统上没有意义.这些文件系统上,只要文件系统商行有空闲空间,就可以创建新文件.
下面的示例中,df显示了本地系统上所有已经挂载的文件系统的信息:
@linux:~$ dfFilesystem& & 1K-blocks& & Used Available Use% Mounted on/dev/sda6& & & % /none& & & & & & & & & 4& & & & 0& & & & 4& 0% /sys/fs/cgroupudev& & & & & & 1944100& & & & 4& % /devtmpfs& & & & & & 390968& & 1184& & % /runnone& & & & & & & & 5120& & & & 0& & & 5120& 0% /run/locknone& & & & & & 1954836& & 20& 2% /run/shmnone& & & & & & & 102400& & & 52& & % /run/user@linux:~$
下面的示例通过-l和-h选项调用df,生成便于阅读的本地文件系统列表,大小以MB和GB为单位.
@linux:~$ df -lhFilesystem& & & Size& Used Avail Use% Mounted on/dev/sda6& & & 272G& 21G& 237G& 9% /none& & & & & & 4.0K& & 0& 4.0K& 0% /sys/fs/cgroupudev& & & & & & 1.9G& 4.0K& 1.9G& 1% /devtmpfs& & & & & 382M& 1.2M& 381M& 1% /runnone& & & & & & 5.0M& & 0& 5.0M& 0% /run/locknone& & & & & & 1.9G& 23M& 1.9G& 2% /run/shmnone& & & & & & 100M& 52K& 100M& 1% /run/user@linux:~$
下面示例显示了/分区的相关信息,分区以MB为单位:
@linux:~$ df -BM /Filesystem& & 1M-blocks& Used Available Use% Mounted on/dev/sda6& & & & 118M& 242333M& 9% /gopain@gopain:~$
显示NFS文件系统的相关信息:
@linux:~$ df -ht nfsdf: no file systems processed@linux:~$
由于我的磁盘没有该文件系统.......
本文永久更新链接地址:
相关资讯 & & &
& (10/09/:51)
& (02/02/:27)
& (11/15/:47)
& (03/09/:28)
& (12/28/:23)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款你正在使用的浏览器版本过低,将不能正常浏览和使用知乎。linux系统下的df命令参数详解
作者:佚名
字体:[ ] 来源:互联网 时间:06-05 19:29:54
linux中df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息
linux中df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 语法:df [选项] 说明:linux中df命令可显示所有文件系统对i节点和磁盘块的使用情况。 该命令各个选项的含义如下: -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。 -k 以k字节为单位显示。 -i 显示i节点信息,而不是磁盘块。 -t 显示各指定类型的文件系统的磁盘空间使用情况。 -x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。 -T 显示文件系统类型。 功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 语法:df [选项] 说明:linux中df命令可显示所有文件系统对i节点和磁盘块的使用情况。 说明:linux中df命令各个选项的含义如下: -a或--all:包含全部的文件系统; --block-size=&区块大小&:以指定的区块大小来显示区块数目; -h或--human-readable:以可读性较高的方式来显示信息; -H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes; -i或--inodes:显示inode的信息; -k或--kilobytes:指定区块大小为1024字节; -l或--local:仅显示本地端的文件系统; -m或--megabytes:指定区块大小为1048576字节; --no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值; -P或--portability:使用POSIX的输出格式; --sync:在取得磁盘使用信息前,先执行sync指令; -t&文件系统类型&或--type=&文件系统类型&:仅显示指定文件系统类型的磁盘信息; -T或--print-type:显示文件系统的类型; -x&文件系统类型&或--exclude-type=&文件系统类型&:不要显示指定文件系统类型的磁盘信息; --help:显示帮助; --version:显示版本信息。例1:列出各文件系统的磁盘空间使用情况。 $ df Filesystem 1 K-blocks Used Available Use% Mounted on /dev/hda2
97% / linux中df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的安装点。 例2:列出各文件系统的i节点使用情况。 $ df -ia Filesystem Inodes IUsed IFree Iused% Mounted on /dev/ hda2 43 % / none 0 0 0 0% /proc localhost:(pid221) 0 0 0 0% /net 例3:列出文件系统的类型。 $ df -T Filesystem Type 1K-blocks Used Available use% Mounted on /dev/hda2 ext2
97% / 本例中的文件系统是ext2类型的 [root@rac1 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1
82% / none
% /dev/shm /dev/sda2
42% /u01 /dev/sde1 04 % /ocfs 该条命令显示了服务器上所有分区的使用情况。它还包括了几个有用的参数来帮助格式化输出: -a显示系统所有的分区,在平常默认情况下 不显示0块的分区 [root@rac1 ~]# df -a Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1
82% / none 0 0 0 - /proc none 0 0 0 - /sys none 0 0 0 - /dev/pts none
% /dev/shm /dev/sda2
42% /u01 none 0 0 0 - /proc/sys/fs/binfmt_misc sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs configfs 0 0 0 - /config ocfs2_dlmfs 0 0 0 - /dlm /dev/sde1 04 % /ocfs oracleasmfs 0 0 0 - /dev/oracleasm -h更具目前磁盘空间和使用情况 以更易读的方式显示 [root@rac1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 2.9G 2.3G 521M 82% / none 209M 0 209M 0% /dev/shm /dev/sda2 4.5G 1.8G 2.5G 42% /u01 /dev/sde1 512M 80M 433M 16% /ocfs -H根上面的-h参数相同,不过在根式化的时候,采用1000而不是1024进行容量转换 [root@rac1 ~]# df -H Filesystem Size Used Avail Use% Mounted on /dev/sda1 3.1G 2.4G 546M 82% / none 219M 0 219M 0% /dev/shm /dev/sda2 4.8G 1.9G 2.7G 42% /u01 /dev/sde1 537M 84M 454M 16% /ocfs -k以单位显示磁盘的使用情况 [root@rac1 ~]# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1
82% / none
% /dev/shm /dev/sda2
42% /u01 /dev/sde1 04 % /ocfs -l显示本地的分区的磁盘空间使用率,如果服务器nfs了远程服务器的磁盘,那么在df上加上-l后系统显示的是过滤nsf驱动器后的结果 -i显示inode的使用情况。linux采用了类似指针的方式管理磁盘空间影射.这也是一个比较关键应用。 实例 查看系统磁盘设备,默认是KB为单位:
[root@LinServ-1&~]&&
文件系统&&&&&&&&&&&&&&&1K-块&&&&&&&&已用&&&&&可用&已用%&挂载点 &&
/dev/sda2&&&&&&&&&&&&&&%&/ &&
/dev/sda1&&&&&&&&&&&&&&1019208&&&&&62360&&&&904240&&&7%&/boot &&
tmpfs&&&&&&&&&&&&&&&&&&1032204&&&&&&&&&0&&&1032204&&&0%&/dev/shm &&
/dev/sdb1&&&&&&&&&&&&&&&&8%&/data1&&
使用-h选项以KB以上的单位来显示,可读性高:
[root@LinServ-1&~]&&
文件系统&&&&&&&&&&&&&&容量&&已用&可用&已用%&挂载点 &&
/dev/sda2&&&&&&&&&&&&&140G&&&27G&&106G&&21%&/ &&
/dev/sda1&&&&&&&&&&&&&996M&&&61M&&884M&&&7%&/boot &&
tmpfs&&&&&&&&&&&&&&&&1009M&&&&&0&1009M&&&0%&/dev/shm &&
/dev/sdb1&&&&&&&&&&&&&2.7T&&209G&&2.4T&&&8%&/data1&&
查看全部文件系统:
[root@LinServ-1&~]&&
文件系统&&&&&&&&&&&&&&&1K-块&&&&&&&&已用&&&&&可用&已用%&挂载点 &&
/dev/sda2&&&&&&&&&&&&&&%&/ &&
proc&&&&&&&&&&&&&&&&&&&&&&&&&0&&&&&&&&&0&&&&&&&&&0&&&-&&/proc &&
sysfs&&&&&&&&&&&&&&&&&&&&&&&&0&&&&&&&&&0&&&&&&&&&0&&&-&&/sys &&
devpts&&&&&&&&&&&&&&&&&&&&&&&0&&&&&&&&&0&&&&&&&&&0&&&-&&/dev/pts &&
/dev/sda1&&&&&&&&&&&&&&1019208&&&&&62360&&&&904240&&&7%&/boot &&
tmpfs&&&&&&&&&&&&&&&&&&1032204&&&&&&&&&0&&&1032204&&&0%&/dev/shm &&
/dev/sdb1&&&&&&&&&&&&&&&&8%&/data1 &&
none&&&&&&&&&&&&&&&&&&&&&&&&&0&&&&&&&&&0&&&&&&&&&0&&&-&&/proc/sys/fs/binfmt_misc&&
大家感兴趣的内容
12345678910
最近更新的内容

我要回帖

更多关于 如何将c盘分区 的文章

 

随机推荐