【Linux】学习笔记(八) Linux 磁盘管理
2021/7/9 7:10:44
本文主要是介绍【Linux】学习笔记(八) Linux 磁盘管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
du与dfdu
(estimate file space usage)df
(report file system disk space usage)
df 查看磁盘容量
df
加上-h参数 更方便的查看 human-readable
df -h
du 查看目录的容量
# 默认同样以 块 的大小展示
du
# 加上`-h`参数,以更易读的方式展示
du -h
du -h #同--human-readable 以K,M,G为单位,提高信息的可读性。 du -a #同--all 显示目录中所有文件的大小。 du -s #同--summarize 仅显示总计,只列出最后加总的值。磁盘操作(很危险请在虚拟机中学习操作)
dd操作
-
dd
也可以用在备份硬件的引导扇区、获取一定数量的随机数据或者空数据等任务中 -
dd
程序也可以在复制时处理数据,例如转换字节序、或在 ASCII 与 EBCDIC 编码间互换。
dd
的命令行语句与其他的 Linux 程序不同,因为它的命令行选项格式为
选项=值
,而不是更标准的
--选项 值
或-选项=值
。
dd
默认从标准输入中读取,并写入到标准输出中,
但可以用选项
if
(input file,输入文件)和of
(output file,输出文件)改变。
学习样例
dd 实现数据输入
# 输出到文件 $ dd of=test bs=10 count=1 # 或者 dd if=/dev/stdin of=test bs=10 count=1 # 输出到标准输出 $ dd if=/dev/stdin of=/dev/stdout bs=10 count=1 # 注在打完了这个命令后,继续在终端打字,作为你的输入
从标准输入设备读入用户输入(缺省值,所以可省略)然后输出到 test 文件,
bs
(block size)用于指定块大小(缺省单位为 Byte,也可为其指定如'K','M','G'等单位),
count
用于指定块数量。如上图所示,我指定只读取总共 10 个字节的数据,
当我输入了“hello shiyanlou”之后加上空格回车总共 16 个字节(一个英文字符占一个字节)内容,
显然超过了设定大小。
使用
du
和cat
命令看到的写入完成文件实际内容确实只有 10 个字节(那个黑底百分号表示这里没有换行符),而其他的多余输入将被截取并保留在标准输入。
dd 实现数据转换
$ dd if=/dev/stdin of=test bs=10 count=1 conv=ucase
小写转大写存储
1 创建虚拟镜像
$ dd if=/dev/zero of=virtual.img bs=1M count=256 $ du -h virtual.img
2 mkfs 命令格式化磁盘(我们这里是自己创建的虚拟磁盘镜像)
$ sudo mkfs.ext4 virtual.img
将我们的虚拟磁盘镜像格式化为ext4
文件系统
3 使用 mount 命令挂载磁盘到目录树
$ mount -o loop -t ext4 virtual.img /mnt # 也可以省略挂载类型,很多时候 mount 会自动识别 # 以只读方式挂载 $ mount -o loop --ro virtual.img /mnt # 或者mount -o loop,ro virtual.img /mnt
3.2 使用 umount 命令卸载已挂载磁盘
# 命令格式 sudo umount 已挂载设备名或者挂载点,如: $ sudo umount /mnt
4 使用 fdisk 为磁盘分区
# 查看硬盘分区表信息 $ sudo fdisk -l
# 进入磁盘分区模式 $ sudo fdisk virtual.img
5 使用 losetup 命令建立镜像与回环设备的关联
$ sudo losetup /dev/loop0 virtual.img # 如果提示设备忙你也可以使用其它的回环设备,"ls /dev/loop*"参看所有回环设备 # 解除设备关联 $ sudo losetup -d /dev/loop0
6 kpartx 为各分区建立虚拟设备的映射
$ sudo apt-get install kpartx $ sudo kpartx -av /dev/loop0 # 取消映射 $ sudo kpartx -dv /dev/loop0
7 使mkfs 格式化各分区
$ sudo mkfs.ext4 -q /dev/mapper/loop0p1 $ sudo mkfs.ext4 -q /dev/mapper/loop0p5 $ sudo mkfs.ext4 -q /dev/mapper/loop0p6
8在/media
目录下新建四个空目录用于挂载虚拟磁盘:
$ mkdir -p /media/virtualdisk_{1..3}
# 挂载磁盘分区 $ sudo mount /dev/mapper/loop0p1 /media/virtualdisk_1 $ sudo mount /dev/mapper/loop0p5 /media/virtualdisk_2 $ sudo mount /dev/mapper/loop0p6 /media/virtualdisk_3 # 卸载磁盘分区 $ sudo umount /dev/mapper/loop0p1 $ sudo umount /dev/mapper/loop0p5 $ sudo umount /dev/mapper/loop0p6
查看效果
$ df -h
这篇关于【Linux】学习笔记(八) Linux 磁盘管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23linux 系统宝塔查看网站访问的命令是什么?-icode9专业技术文章分享
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南