热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

linux查看硬盘大小与挂载硬盘的实现

这篇文章主要介绍了linux查看硬盘大小与挂载硬盘的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

linux的硬盘有挂载和未挂载两种(类似windows上的硬盘分区(C、D、E盘))

(1)查看已经挂载的硬盘大小:df -h

(2)查看详细的硬盘分区情况(包括挂载和未挂载两种的硬盘大小):fdisk -l

介绍:

(1)df用于检查文件系统磁盘占用情况

(2)du检查磁盘空间占用情况

(3)fdisk用于磁盘分区

详解:

1.df

df命令可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息,它也可以显示所有文件系统对i节点和磁盘块的使用情况。

df命令各个选项的含义如下:

  -a:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
  -k:以k字节为单位显示。
  -i:显示i节点信息,而不是磁盘块。
  -t:显示各指定类型的文件系统的磁盘空间使用情况。
  -x:列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
  -T:显示文件系统类型。

我们先看看使用df命令的例子:

//列出各文件系统的磁盘空间使用情况
#df
Filesystem   1k-blocks  Used Available Use% Mounted on
/dev/hda5    381139  332921  28540 93% /
/dev/hda1    46636  6871  37357 16% /boot
/dev/hda3    10041144 6632528 2898556 70% /home
none     127372   0 127372 0% /dev/shm
/dev/hda2    27474876 24130460 1948772 93% /usr
/dev/hda6    256667 232729  10686 96% /var

第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。

◆用户也许会感到奇怪,第3,4列块数之和不等于第2列中的块数。这是因为默认的每个分区都留了少量空间供系统管理员使用的缘故。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use%列表示普通用户空间使用的百分比,若这一数字达到100%,分区仍然留有系统管理员使用的空间。

最后,Mounted on列表示文件系统的安装点。

//列出各文件系统的i节点使用情况。
#df - - /proc
/dev/hda1    12048  38 12010 1% /boot
none      0  0  0 ia
Filesystem   Inodes IUsed IFree IUse% Mounted on
/dev/hda5    98392 23919 74473 25% /
none      0  0  0 - /dev/pts
/dev/hda3   1275456 355008 920448 28% /home
none     31843  1 31842 1% /dev/shm
/dev/hda2   3489792 133637 3356155 4% /usr
/dev/hda6    66264 9876 56388 15% /var

//列出文件系统的类型。
#df -T
Filesystem Type 1k-blocks  Used Available Use% Mounted on
/dev/hda5  ext3  381139 332921  28540 93% /
/dev/hda1  ext3  46636  6871  37357 16% /boot
/dev/hda3  ext3 10041144 6632528 2898556 70% /home
none   tmpfs  127372   0 127372 0% /dev/shm
/dev/hda2  ext3 27474876 24130460 1948772 93% /usr
/dev/hda6  ext3  256667 232729  10686 96% /var2

2. du

du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况,统计目录(或文件)所占磁盘空间的大小。该命令的功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出指定目录,则对当前目录进行统计。

df命令的各个选项含义如下:

  -s:对每个Names参数只给出占用的数据块总数。
  -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
  -b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。
  -k:以1024字节为单位列出磁盘空间使用情况。
  -c:最后再加上一个总计(系统默认设置)。
  -l:计算所有的文件大小,对硬链接文件,则计算多次。
  -x:跳过在不同文件系统上的目录不予统计。
  -h:转化成方便阅读的2M、2G这种格式的显示出来。

下面举例说明du命令的使用:

//查看/mnt目录占用磁盘空间的情况
#du –abk /mnt
1  /mnt/cdrom
1  /mnt/floppy
3  /mnt

//列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间
#du
3684 ./log
84  ./libnids-1.17/doc
720  ./libnids-1.17/src
32  ./libnids-1.17/samples
1064 ./libnids-1.17
4944 .

输出清单中的第1列是以块为单位计的磁盘空间容量,第2列列出目录中使用这些空间的目录名称。

◆这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数:

#du –s /mnt 
3  /mnt

//列出所有文件和目录所占的空间(使用a选项),并以字节为单位(使用b选项)来计算大小
#du –ab /root/mail
6144 mail/sent-mail
1024 mail/saved-messages
8192 mail

3、fdisk

fdisk可以划分磁盘分区。下面给出使用Fdisk命令进行磁盘分区的操作步骤:

#fdisk /dev/had //使用/dev/had作为默认的分区设备
Command (m for help): m //选择命令选项
Command action

 a toggle a bootable flag
 b edit bsd disklabel
 c toggle the dos compatibility flag
 d delete a partition
 l list known partition types
 m print this menu
 n add a new partition
 o create a new empty DOS partition table
 p print the partition table
 q quit without saving changes
 s create a new empty Sun disklabel
 t change a partition's system id
 u change display/entry units
 v verify the partition table
 w write table to disk and exit
 x extra functionality (experts only)

用户通过提示键入“m”,可以显示Fdisk命令各个参数的说明。

Fdisk有很多参数,可是经常使用的只有几个。

◆在Linux分区过程,一般是先通过p参数来显示硬盘分区表信息,然后根据信息确定将来的分区。如下所示:

Disk /dev/sda: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 Device Boot Start  End Blocks Id System
/dev/hda1 *  41  522 3871665 83 Linux
/dev/hda2    1  40 321268+ 82 Linux swap

Partition table entries are not in disk order
Command (m for help):

◆如果想完全改变硬盘的分区格式,就可以通过d参数一个一个地删除存在的硬盘分区。删除完毕,就可以通过n参数来增加新的分区。当按下“n”后,可以看到如下所示:

Command (m for help): n
Command action
 e extended
 p primary partition (1-4)
 p
 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

通过如上的操作,就可以按照需要成功地划分磁盘分区了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • Java中提取字符串的最后一部分
    本文介绍了如何使用Java中的substring()和split()方法来提取字符串的最后一部分,特别是在处理包含特殊字符的路径时的方法与技巧。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 本文详细介绍了在 Linux Bash 环境下使用的各种快捷键,包括命令编辑、控制、历史命令重用及特殊命令等,帮助用户提高操作效率。 ... [详细]
  • 本文详细介绍了几种有效的方法来解决Windows 10系统中常见的内存不足问题,包括手动终止不必要的进程、增加虚拟内存以及使用第三方软件进行系统优化。 ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • 本文介绍了用户界面(User Interface, UI)的基本概念,以及在iOS应用程序中UIView及其子类的重要性和使用方式。文章详细探讨了UIView如何作为用户交互的核心组件,以及它与其他UI控件和业务逻辑的关系。 ... [详细]
  • 本文探讨了线性表中元素的删除方法,包括顺序表和链表的不同实现策略,以及这些策略在实际应用中的性能分析。 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • 探讨在开发Windows应用程序时,如何高效地管理和存储大量库存及生产需求数据的方法。 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 本文提供了一个关于AC自动机(Aho-Corasick Algorithm)的详细解析与实现方法,特别针对P3796题目进行了深入探讨。文章不仅涵盖了AC自动机的基本概念,还重点讲解了如何通过构建失败指针(fail pointer)来提高字符串匹配效率。 ... [详细]
  • 本报告记录了嵌入式软件设计课程中的第二次实验,主要探讨了使用KEIL V5开发环境和ST固件库进行GPIO控制及按键响应编程的方法。通过实际操作,加深了对嵌入式系统硬件接口编程的理解。 ... [详细]
author-avatar
年轮033
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有