Linux 磁盘管理命令df du dd

文章目录

  • 3.Linux 磁盘管理命令
    • 3.1 df:显示报告文件系统磁盘使用信息
      • 案例练习
    • 3.2 du:显示目录或者文件所占的磁盘空间
      • 案例练习
    • 3.3 dd:磁盘操作
      • 案例练习

3.Linux 磁盘管理命令

3.1 df:显示报告文件系统磁盘使用信息

  • 作用:查看磁盘信息,显示磁盘的文件系统与使用情形。

  • 用法:df [选项]… [文件]…

  • 主要选项如下:

    命令描述
    -a 或--all列出包括 BLOCK 为 0 的文件系统。
    --block-size=<区块大小>以指定的区块大小来显示区块数目。
    -h 或--human-readable以可读性较高的方式来显示信息。
    -H 或--si与-h 参数相同,但在计算时以 1000B 为换算单位而非 1024B。
    -i 或--inodes显示 inode 的信息。
    -k 或--kilobytes指定区块大小为 1024B。
    -l 或--local仅显示本地端的文件系统。
    -m 或--megabytes指定区块大小为 1 048 576B。
    --no-sync在取得磁盘使用信息前,不要执行 sync 指令,此为预设值。
    -P 或--portability使用 POSIX 的输出用法。
    --sync在取得磁盘使用信息前,先执行 sync 指令。
    -t<文件系统类型>或--type=<文件系统类型>仅显示指定文件系统类型的磁盘信息。
    -T 或--print-type显示文件系统的类型。
    -x<文件系统类型>或--exclude-type=<文件系统类型>不要显示指定文件系统类型的磁盘信息。
    --help显示帮助信息。
    --version显示版本信息。
    [文件]指定磁盘设备。

案例练习

(1)显示所有文件系统对 I-node 节点和磁盘块的使用情况,这时需要一个参数-i。

# df -i 
文件系统 Inode (I)已用 (I)可用 (I)已用% 挂载点
/dev/mapper/VolGroup00-LogVol00 
 			1795200 143723 1651477 9% / 
/dev/sda1	 26104 43 26061 1% /boot 
tmpfs 		48690 1 48689 1% /dev/shm 
none 		48668 4 48664 1% /var/lib/xenstored 

从上面这些信息可以看出每个文件系统中有多少可用的 I-node、其中有多少已被使用、还 剩余多少、它们所占的比例等整个硬盘的使用情况。因此,系统管理员需要了解这些情况。 有时会发现这样的情况:某些硬盘的容量超过了 100%。这是因为 Linux 系统为超级用户 保留了 10%的空间由它单独支配。也就是说,对于超级用户而言,它所见到的硬盘容量将是 110%。这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近 100%时,系统管 理员还可以正常工作。df 工具程序被广泛地用来生成文件系统的使用统计数据。它能显示系统 中所有文件系统的信息,包括它们的总容量、可用的空闲空间、目前的安装点等。

(2)以 MB 为单位显示/home 目录的文件系统使用情况。

## df –m /home/ 
文件系统 1M-块 已用 可用 	已用% 	挂载点
/dev/mapper/VolGroup00-LogVol00 
					 6789	 3895	 2544 	61% /

3.2 du:显示目录或者文件所占的磁盘空间

  • 作用:du 命令能显示关于硬盘使用情况的信息,它能显示某个目录下的所有文件和子目录 占用硬盘空间的大小。

  • 用法:du [选项]…[文件]…

  • 主要选项如下:

    a 或-all显示目录中个别文件的大小。
    -b 或-bytes显示目录或文件大小时,以字节为单位。
    -c 或--total除了显示个别目录或文件的大小外,同时显示所有目录或文件的大小总和。
    -D 或--dereference-args显示指定符号链接的源文件大小。
    -h 或--human-readable以 KB、MB、GB 为单位,提高信息的可读性。
    -H 或--si与-h 参数相同,但是 KB、MB、GB 以 1000 为换算单位。
    -k 或--kilobytes以 1024B 为单位。
    -l 或--count-links重复计算硬件链接的文件。
    -L<符号链接>或--dereference<符号链接>显示选项中所指定符号链接的源文件大小。
    -m 或--megabytes以 MB 为单位。
    -s 或--summarize仅显示总计。
    -S 或--separate-dirs显示个别目录的大小时,并不包含其子目录的大小。
    -x 或--one-file-xystem以一开始处理时的文件系统为准,若遇到其他不同的文件系统目录则略过。
    -X<文件>或--exclude-from=<文件>在<文件>中指定目录或文件。
    --exclude=<目录或文件>略过指定的目录或文件。
    --max-depth=<目录层数>超过指定层数的目录后,予以忽略。
    -0, --null结束于 0 字节的输出,而不是换行符。
    --help显示帮助。
    --version显示版本信息。

案例练习

(1)查看 tmp 目录使用情况。

# du /tmp 
4 /tmp/.X11-unix 
4 /tmp/VMwareDnD/23c61099 
12 /tmp/VMwareDnD/66ae4cf6 
20 /tmp/VMwareDnD 
4 /tmp/.font-unix 
4 /tmp/.ICE-unix 
8 /tmp/gconfd-root 
8 /tmp/orbit-root 
12 /tmp/tmp 
68 /tmp

通过上面的命令可以看到,每个命令占用的硬盘空间大小以块为单位,列在每行的最前面, 后面跟着目录名称。

(2)显示/usr 目录占用的空间,以 GB 为单位。

#du -s --si /usr 
2.8G /usr

(3)显示/tmp 目录下的子目录占用的空间。

du /tmp --max-depth=1 
4 /tmp/.X11-unix 
20 /tmp/VMwareDnD 
4 /tmp/.font-unix 
4 /tmp/.ICE-unix 
8 /tmp/gconfd-root 
8 /tmp/orbit-root 
12 /tmp/tmp 
68 /tmp

3.3 dd:磁盘操作

  • 作用:从标准输入或文件读取数据,依指定的用法来转换数据,再输出到文件、设备或标 准输出。

  • 用法:dd [操作符]…

    dd 选项

  • 主要选项如下:

    命令描述
    bs=<字节数>设置输入/输出的字节数。
    cbs=<字节数>设置转换的字节数。
    cout=<区块数>指定读取的区块数。
    ibs=<字节数>设置每次读取的字节数。
    if=<文件>指定文件作为读取的对象。
    obs=<字节数>设置每次输出的字节数。
    of=<文件>将结果输出到指定的文件。
    seek=<区块数>忽略指定的区块数,不进行输出。
    skip=<区块数>忽略指定的区块数,不进行读取。
    --help显示帮助信息。
    --version显示版本信息。
    conv=<关键字>转换方式。转换方式包括如下几种:
    ascii 将 EBCDIC 转换成 ASCII。
    ebcdic 将 ASCII 转换成 EBCDIC。
    ibm 将 ASCII 转换成 alternative EBCDIC。
    block 每一行输入,无论长短,输出都是 cbs 字节。
    unblock 用 lq 换行 rq 替换每个输入块(cbs 字节大小)末尾的空格。
    lcase 将大写字母转换成小写字母。
    ucase 将小写字母转换成大写字母。
    swab 交换每对输入字节。如果读入的字节数是奇数,则最后
    一个字节只是简单地复制到输出(因为没有能跟它交换的字节了)。
    noerror 发生读错误时,继续进行。
    notrunc 不截断输出文件。
    syn c 用 0 填充到每个输入块的末尾,使其大小为 ibs 字节。

说明 dd 是 Linux 的一个非常有用的命令,其作用是用指定大小的块复制一个文件,并在复制的同时进行指定的转换。

案例练习

(1)软盘互相复制。

要把一张软盘的内容复制到另一张软盘上,利用/tmp 作为临时存储区。把源盘插入驱动器 中,输入下述命令:

$ dd if =/dev/fd0 of = /tmp/tmpfile

复制完成后,将源盘从驱动器中取出,把目标盘插入,输入如下命令:

$ dd if = /tmp/tmpfile of =/dev/fd0

复制完成后,应该将临时文件删除。

$ rm /tmp/tmpfile

(2)把 net.i 文件写入软盘中,并设定读/写缓冲区的数目(注意:软盘中的内容会被完全 覆盖掉)。

$ dd if = net.i of = /dev/fd0 bs = 16384

(3)将文件 sfile 复制到文件 dfile 中。

$ dd if=sfile of=dfile

(4)整盘数据备份与恢复。

① 整盘数据备份。

将本地的/dev/hdx 整盘备份到/dev/hdy。

dd if=/dev/hdx of=/dev/hdy

将/dev/hdx 全盘数据备份到指定路径的 image 文件。

dd if=/dev/hdx of=/path/to/image 

备份/dev/hdx 全盘数据,并利用 gzip 工具进行压缩,保存到指定路径。

dd if=/dev/hdx | gzip /path/to/image.gz 
② 整盘数据恢复。

将备份文件恢复到指定盘。

dd if=/path/to/image of=/dev/hdx

将压缩的备份文件恢复到指定盘。

gzip -dc /path/to/image.gz | dd of=/dev/hdx

(5)备份与恢复 MBR 记录。

① 备份 MBR 记录。

备份磁盘开始的 512B 的 MBR 信息到指定文件。

dd if=/dev/hdx of=/path/to/image 
count=1 bs=512

② 恢复 MBR 记录。

将备份的 MBR 信息写到磁盘开始部分。

dd if=/path/to/image of=/dev/hdx

(6)复制内存资料到硬盘。

将内存里的数据复制到 root 目录下的 mem.bin 文件。

dd if=/dev/mem of=/root/mem.bin bs=1024 

要从光盘复制 iso 镜像,可复制光盘数据到 root 文件夹下,并保存为 cd.iso 文件。

dd if=/dev/cdrom of=/root/cd.iso

(7)增加 swap 分区文件大小。

创建一个足够大的文件(此处为 256MB)。

dd if=/dev/zero of=/swapfile bs=1024 count=262144

把这个文件变成 swap 文件。

mkswap /swapfile

启用这个 swap 文件。

swapon /swapfile

在每次开机的时候自动加载 swap 文件,需要在/etc/fstab 文件中增加一行。

/swapfile swap swap defaults 0 0

(8)销毁磁盘数据。

利用随机的数据填充硬盘。

dd if=/dev/urandom of=/dev/hda1

在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/hda1 将无法挂载,创建和复 制操作无法执行。

(9)修复硬盘。

当硬盘较长时间(比如一两年)放置不使用后,磁盘上会产生 magnetic flux point。当磁头 读到这些区域时会遇到困难,并可能导致 I/O 错误。当这种情况影响到硬盘的第一个扇区时, 可能导致硬盘报废。下面的命令有可能使这些数据起死回生。

dd if=/dev/sda of=/dev/sda

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/597065.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(论文阅读-优化器)Selectivity Estimation using Probabilistic Models

目录 摘要 一、简介 二、单表估计 2.1 条件独立Condition Independence 2.2 贝叶斯网络Bayesian Networks 2.3 查询评估中的贝叶斯网络 三、Join选择性估计 3.1 两表Join 3.2 概率关系模型 3.3 使用PRMs的选择性估计 四、PRM构建 4.1 评分标准 4.2 参数估计 4.3 结…

Adobe Illustrator 2024 for Mac:矢量图形设计软件

Adobe Illustrator 2024 for Mac是一款专为Mac用户设计的行业标准矢量图形设计软件。该软件以其卓越的性能和丰富的功能&#xff0c;为设计师和艺术家们提供了一个全新的创意空间。 作为一款矢量图形软件&#xff0c;Adobe Illustrator 2024 for Mac支持创建高质量的矢量图形&a…

Docker 的网络实现

简介 标准的 Docker 支持以下 4 类网络模式&#xff1a; 1&#xff09;host 模式&#xff1a;使用 --nethost 指定 2&#xff09;container 模式&#xff1a;使用–netcontainer:NAME_or_ID 指定 3&#xff09;none模式&#xff1a;使用 --netnone 指定 4&#xff09;bridge 模…

BEV下统一的多传感器融合框架 - FUTR3D

BEV下统一的多传感器融合框架 - FUTR3D 引言 在自动驾驶汽车或者移动机器人上&#xff0c;通常会配备许多种传感器&#xff0c;比如&#xff1a;光学相机、激光雷达、毫米波雷达等。由于不同传感器的数据形式不同&#xff0c;如RGB图像&#xff0c;点云等&#xff0c;不同模态…

JavaScript注释规范

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃 &#xff0c;大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端基础路线”&#xff0c;可获…

基于C++基础知识的循环语句

一、while循环 while循环语句形式如下&#xff1a; while(表达式){语句 } 循环每次都是执行完语句后回到表达式处重新开始判断&#xff0c;重新计算表达式的值&#xff0c;一旦表达式的值为假就退出循环。用花括号括起来的多条简单语句&#xff0c;花括号及其包含的语句被称…

ContEA阅读笔记

Facing Changes: Continual Entity Alignment for Growing Knowledge Graphs 面对变化&#xff1a;不断增长的知识图谱的持续实体对齐 Abstract 实体对齐是知识图谱(KG)集成中一项基本且重要的技术。多年来&#xff0c;实体对齐的研究一直基于知识图谱是静态的假设&#xff…

Day 41 343.整数拆分 96.不同的二叉搜索树

整数拆分 给定一个正整数 n&#xff0c;将其拆分为至少两个正整数的和&#xff0c;并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2输出: 1解释: 2 1 1, 1 1 1。 示例 2: 输入: 10输出: 36解释: 10 3 3 4, 3 3 4 36。说明: 你可以假设 …

Java基础教程 - 5 数组

更好的阅读体验&#xff1a;点这里 &#xff08; www.doubibiji.com &#xff09; 更好的阅读体验&#xff1a;点这里 &#xff08; www.doubibiji.com &#xff09; 更好的阅读体验&#xff1a;点这里 &#xff08; www.doubibiji.com &#xff09; 5 数组 前面我们保存数据…

前端基础学习html(1)

1.标题标签.h1,h2...h6 2.段落标签p 换行标签br 3.加粗strong(b) /倾斜em(i) /删除 del(s) /下划线ins(u) 4.盒子&#xff1a;div //一行一个 span//一行多个 5.img :src alt title width height border 图片src引用&#xff1a;相对路径 上级/同级/中级 绝对路径&#xff…

直播话术核心逻辑,学了轻松提高销量!沈阳直播运营培训

直播话术到底该怎么说&#xff1f; 产品话术说得好&#xff0c;直播间一次就能卖出去上万件产品&#xff1b;产品话术说不好&#xff0c;直播间半个月也卖不出去10件产品。 我们上次就有跟大家说过产品话术的具体流程&#xff0c;但发现还有更多朋友居然还是不能够很好地完成一…

2024/5/6 QTday1

自由发挥应用场景&#xff0c;实现登录界面。 要求&#xff1a;尽量每行代码都有注释。 #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//窗口相关设置this->resize(350,470);this->setFixedSize(350,470);//窗口标题this-&g…

一个简单的仓库出入库管理软件的流程是什么样的?有哪些功能?

身为仓库文员&#xff0c;我深知仓库管理对于公司运营的重要性。仓库是公司物资的中转站&#xff0c;其管理的好坏直接关系到公司的运营效率和成本控制。然而&#xff0c;传统的仓库管理方式往往存在着效率低下、易出错等问题&#xff0c;为了解决这些问题&#xff0c;我们需要…

uboot图形界面配置

文章目录 一、环境安装二、配置默认项2.图形界面 三、图形配置项的来源1.mainmenu主界面 一、环境安装 &#x1f4a6;uboot 或 Linux 内核可以通过输入“make menuconfig”来打开图形化配置界面&#xff0c;menuconfig是一套图形化的配置工具&#xff0c;需要 ncurses 库支持。…

2024年电工杯数学建模竞赛A题B题思路代码分享

您的点赞收藏是我继续更新的最大动力&#xff01; 欲获取更多电工杯学习资料&#xff0c;可点击如下卡片链接 点击链接加入群聊【2024电工杯】&#xff1a;http://qm.qq.com/cgi-bin/qm/qr?_wv1027&k_PrjarulWZU8JsAOA9gnj_oHKIjFe195&authKeySbv2XM853pynlnXiv6M58…

解决github的remote rejected|git存储库的推送保护

前言 git存储库的推送保护。当你试图推送代码到GitHub仓库时&#xff0c;由于存在与主分支&#xff08;master&#xff09;相关的仓库规则违规行为&#xff0c;推送会被拒绝了。这种保护机制帮助确保只有经过授权和符合规定的代码才能被合并到主分支&#xff0c;从而保护了主分…

网络聊天室:通过Servlet和JSP,结合session和application实现(文末附源码)

目录 一.成品效果 二.代码部分 chat.jsp ChatServlet 一.成品效果 在启动成功后&#xff0c;我们就可以在任意俩个浏览器页面中相互发消息&#xff0c;如图所示左边屏幕使用的是Edge浏览器&#xff0c;右图使用的是火狐浏览器。当然笔者这里只是简单实现最基本的一些功能&…

【LeetCode刷题记录】105. 从前序与中序遍历序列构造二叉树 106. 从中序与后序遍历序列构造二叉树

105 从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,1…

Linux--IIC驱动编程实验

对于 I2C 主机驱动&#xff0c;一旦编写完成就不需要再做修改&#xff0c;其他的 I2C 设备直接调用主机驱动提供的 API 函数完成读写操作即可。这个正好符合 Linux 的驱动分离与分层的思想&#xff0c;因此 Linux内核也将 I2C 驱动分为两部分&#xff1a; ①、 I2C 总…

盘一盘接口测试的那些痛点,你现在会解决了吗

前言 说到接口测试&#xff0c;想必大家一定不会陌生。接口测试就是测试系统组件间&#xff0c;接口对接是否顺畅的一种测试。包括测试数据能否交换、能否传递、能否正常控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系&#xff0c;等等。 由于接口测试主要是检测系统…
最新文章