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.mzph.cn/pingmian/6995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Superset二次开发之XAxis 功能优化

背景: 以柱状图(来自Echarts 插件)为例,如果X轴data数据过长,影响图表体验,为此需要省略部分内容 superset-frontend\plugins\plugin-chart-echarts\src\Timeseries\transformProps.ts import {getBaselineSeriesForStream,getPadding,getTooltipTimeFormatter,getXAxis…

[开发|鸿蒙] 鸿蒙OS开发环境搭建(笔记,持续更新)

搭建开发环境流程&#xff1a; https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/installation_process-0000001071425528-V2 鸿蒙DevEco Studio 3.1.1 Release仅支持windows和mac系统 运行环境要求 为保证DevEco Studio正常运行&#xff0c;建议电脑配置…

16_Scala面向对象编程_函数

文章目录 1.声明Scala函数2.访问伴生对象3.空对象直接用的方法4.构造对象--通过object获取单例对象--直接new--scala独有apply()方式--scala有参构造--scala构造方法两大类使用辅构造如下上述代码主构造为辅助构造方法甚至可以多个多个辅助构造形参内容不能重不使用辅助构造和使…

EasyExcel导出工具类

目录 工具类 头部实体类&#xff08;要和工具类在同一个module或项目下&#xff09; 日期转换器 工具类 /*** 导出Excel工具类*/ public class EasyExcelUtil<T> {/*** 单sheet&#xff08;Map写入&#xff09;* param response 响应对象* param headList 头部集合* p…

Redis(五) Redis锁

结合前四期 Redis(一) Redis简介(Redis(一) Redis简介-CSDN博客) Redis(二) 可编程性(Redis(二) 可编程性-CSDN博客) Redis(三) 事务与发布订阅(Redis(三) 事务与发布订阅-CSDN博客) Redis(四) 主从、哨兵、集群环境搭建(Redis(四) 主从、哨兵、集群环境搭建-CSDN博客) (本文代…

[leetcode] 64. 最小路径和

文章目录 题目描述解题方法动态规划java代码复杂度分析 相似题目 题目描述 给定一个包含非负整数的 m x n 网格 grid &#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 说明&#xff1a;每次只能向下或者向右移动一步。 示例 1&#…

有什么好用的思维导图软件?6个软件教你快速进行思维导图的制作

有什么好用的思维导图软件&#xff1f;6个软件教你快速进行思维导图的制作 以下是六款常用且功能强大的思维导图软件&#xff0c;它们可以帮助您快速制作思维导图&#xff1a; 迅捷画图: 迅捷画图是一款在线思维导图工具&#xff0c;具有直观易用的界面和丰富的功能。用户可…

智驾重感知轻地图路线

1、前言 在自动驾驶中使用HD Map的优点显而易见&#xff1a;超视距感知能力、高精度、高丰富度。其局限性同样很明显&#xff1a;高成本、高覆盖度、低鲜度、受限法规等。比如&#xff0c;2022年&#xff0c;在地图法规收紧&#xff0c;和感知能力增强的双重背景下&#xff0c;…

你对后端系统的安全性有何理解

人生难免经受挫折 风雨过后就是彩虹 生活难免遭受苦难 雨过天晴终有阳光 一、后端安全性 后端安全性是指在开发和运行后端应用程序时&#xff0c;确保应用程序和其中存储的数据免受恶意攻击和不当访问的能力。以下是我对后端安全性的理解&#xff1a; 1. 认证和授权&#xff1a…

C# Solidworks二次开发:枚举应用实战(第十一讲)

大家好&#xff0c;今天继续介绍我们的枚举应用系列。 下面是今天要介绍的枚举值&#xff1a; &#xff08;1&#xff09;第一个为swsPVResultCombinationError_e&#xff0c;这个枚举值的含义为结合压力容器设计研究结果时的错误&#xff0c;下面是官方的具体枚举值&#xf…

sudo权限

目录 1.创建普通用户 2.修改sudo配置文件 3.加入用户组 4.测试 1.创建普通用户 useradd daboluopasswd daboluo 2.修改sudo配置文件 vim /etc/sudoers ## Allow root to run any commands anywhere root ALL(ALL) ALL daboluo ALL(ALL) ALL#添加此行后…

[力扣题解]225. 用队列实现栈

题目&#xff1a;225. 用队列实现栈 思路 用一个队列模拟栈&#xff1b; 假设有数字&#xff1a;1&#xff0c;2&#xff0c;3&#xff1b; pop 队列里是这样的存的&#xff1a;3&#xff0c;2&#xff0c;1&#xff1b; 作为一个栈&#xff0c;应该弹出最后进来的那一个3&…

武汉星起航:策略升级,亚马逊平台销售额持续增长显实力

武汉星起航电子商务有限公司&#xff0c;一家致力于跨境电商领域的企业&#xff0c;于2023年10月30日在上海股权托管交易中心成功挂牌展示&#xff0c;这一里程碑事件标志着公司正式踏入资本市场&#xff0c;开启了新的发展篇章。公司董事长张振邦在接受【第一财经】采访时表示…

Layer1 公链竞争破局者:Sui 生态的全面创新之路

随着 Sui 生态逐渐在全球范围内树立起声望&#xff0c;并通过与 Revolut 等前沿金融科技平台合作&#xff0c;推广区块链教育与应用&#xff0c;Sui 生态的未来发展方向已成为业界瞩目的焦点。如今&#xff0c;Sui 的总锁定价值已攀升至 5.93 亿美元&#xff0c;充分展示了其在…

考虑需求响应的微网优化调度模型【粒子群算法】【matlab】

目录 1 主要内容 1.1 模型约束条件 1.2 粒子群算法优化过程 2 部分代码 3 效果图 4 下载链接 1 主要内容 该模型构建了考虑需求响应的微电网优化调度模型&#xff0c;并采用粒子群算法&#xff08;PSO&#xff09;进行优化求解&#xff0c;模型主体有储能、风电、光伏、微…

兄弟Brother数控机床网络IP配置设置教程

1、进入通讯参数页面 首先按下面板的数据库按钮&#xff1a; 按F6&#xff0c;选择通信参数&#xff1a; 2、调整网络和远程访问参数 数据改写&#xff08;从属&#xff09;从否改为是&#xff0c;远程操作从无效改为有效&#xff1a; 更改ip地址、网关、子网掩码等&#xff…

pcm转MP3怎么转?只需3个步骤~

PCM&#xff08;Pulse Code Modulation&#xff09;是一种用于数字音频编码的基础技术&#xff0c;最早起源于模拟音频信号数字化的需求。通过PCM&#xff0c;模拟音频信号可以被精确地转换为数字形式&#xff0c;为数字音频的发展奠定了基础。 MP3文件格式的多个优点 MP3的优…

面试二十五、remove和earse的区别

vector中erase的作用是删除掉某个位置position或一段区域&#xff08;begin, end)中的元素&#xff0c;减少其size&#xff0c;返回被删除元素下一个元素的位置。 vector中remove的作用是将范围内为val的值都remove到后面&#xff0c;返回新的_last值&#xff08;非val部分的en…

LeetCode-741. 摘樱桃【数组 动态规划 矩阵】

LeetCode-741. 摘樱桃【数组 动态规划 矩阵】 题目描述&#xff1a;解题思路一&#xff1a;动态规划&#xff0c;定推初遍举。解题思路二&#xff1a;倒序循环解题思路三&#xff1a;0 题目描述&#xff1a; 给你一个 n x n 的网格 grid &#xff0c;代表一块樱桃地&#xff0…

git/gerrit使用遇到的问题

Push时出现的多个问题及其解决 branch【...】not found 这个错误通常出现在 Git 命令中指定的分支名称中包含特殊字符或者语法错误时。需要确保指定的分支名称是正确的&#xff0c;并且没有任何不支持的字符。 例如&#xff0c;如果分支名称是 feature/branch&#xff0c;应该…