第一、关于df和du
1、df : 查看磁盘的容量
1)rootfs : 系统启动时内核载入内存之后,在挂载真正的磁盘之前的一
个临时文件系统,通常主机会在系统启用后用磁盘上的文件系统替
换,而在一些嵌入式系统中只存在一个
2)Ramfs : 用于实现磁盘缓存机制作为动态可调整大小的基于ram的文件系统
roofs通常是Ramfs或者tfpms的一个实例
3)/dev/sda2/:对应着物理主机硬盘上的分区 a:第几块硬盘 2:分区
号
4) 1k-block: 表示以磁盘块大小的方式表示容量
5)df -h: 查看磁盘容量,容量以人能看懂的形式输出 (K , M,G)
2、du :查看目录的容量
du -h:以更容易读的方式展出
-d :指定查看目录的深度
eg:
du -h -d 数字n 目录 :只查看(n+1)级目录的信息
du -a :显示目录中所有文件大小
du -s :仅显示总计
二、简单的磁盘管理
命令dd: 用于转换、复制文件、备份硬件的引导扇区、获取一定数
量的随机数据或空数据、在复制时处理数据(转换字节序
和在 ASCII与EBCDIC编码间互换等)
dd命令行语句: 选项=值,默认从标准输入中读取,写入到标准输出
可以改变:if(input file,输入文件)
of(output file ,输出文件)
从标准输入中读取,输出到文件(不是默认):
( 注: bs : 指定块大小 count:指定块数量 )
1) dd of=输出文件 bs=数字 count=数字
(dd后可以加 if=/dev/stdin)
2)在终端打字作为输入
3)cat 输出文件 :终端输出已输入内容
从标准输入中读取,则自动输出到标准输出
1) dd if=/dev/stdin of=/dev/stdout bs=数字 count=数字
2) 在终端打字作为输入
3) 终端自动输出
注意: 若输入内容超过了设定大小,则超过的部分会被截取并保留在标
标准输入
将输入的英文字符转换为大写再写入文件:
dd if=输入文件 of=输出文件 bs=数字 count=数字 conv=ucase
关于loop:
/dev/loop/:使得文件可以如同块设备一般被访问的伪设备,将文件变为
设备文件
目的: 一个包含完整文件系统的文件(设备文件)可以被挂载,循环
挂载来挂载包含文件系统的文件,使处在文件系统中的文件得以
被访问。
设备文件常被用作光盘或者磁盘镜像。
设备文件出现在挂载点目录,如果挂载目录本身有文件,那这些
文件在挂载后被禁止使用。
(具体案例)
1、创建虚拟镜像文件:
1) 从/dev/zero/设备创建一个容量为256M的空白文件:
dd if=/dev/zero of=virtual.img bs=1M count=256
2)查看输出文件大小:
du -h virtual.img
2、将创建的文件格式化(写入文件系统)
(将我们自己创建的虚拟磁盘镜像格式化为ext4文件系统)
sudo mkfs.ext4 virtual.img
附:
查看linux支持的文件系统:
ls -l Pb/modules/$(uname -r)/kernel/fs
3、将磁盘挂载到目录树
挂载好的文件、目录、设备、以及特殊文件可以提供给用户使用
1) 查看主机已经挂载的文件系统:
sudo mount
->输出结果每一行格式:
设备名 on 挂载点 type 文件系统类型 挂载选项(eg:只读)
2)挂载创建的虚拟磁盘镜像到/mnt 目录:
mount -o loop -t ext4 virtual.img /mnt
以只读方式挂载:
mount -o loop --ro virtual.img /mnt
(或者mount -o loop,ro virtual.img /mnt)
注:
mount的常用操作:
mount -o 操作选项 -t 文件系统类型 【-w|--rw|--ro】
文件系统源 挂载点
可以省略文件系统类型,mount一般可以识别,-w|--rw|--ro为挂载选项
附: 卸载已挂载磁盘:
sudo umount /mnt 已挂载设备名或者挂载点
4、为磁盘分区
1)查看硬盘分区表信息:
sudo fdisk -l
->输出结果包括: 扇区大小 (磁盘上划分区域)
I/O大小 (输入输出端口) 等
2)进入磁盘分区模式:(分区前规划好分区方案,这里为三个分区)
sudo fdisk virtual.img
输入P查看结果
5、建立镜像与回环设备的关联
sudo losetup /dev/loop/0 virtual.img
(如果设备忙,可以使用其他的回环设备)
附: ls /dev/loop* :查看所有回环设备
sudo losetup -d /dev/loop0 : 解除与回环设备的关联
6、为各分区建立虚拟设备的映射
1)安装kpartx工具:
sudo apt-get install kpartx
2)建立映射
sudo kpartx -av /dev/loop0
附: 取消映射: sudo kpartx -dv /dev/loop0
7、格式化各分区(前边是格式化整个虚拟磁盘镜像文件)
sudo mkfs.ext4 -q /dev/mapper/loop0...
(有几个分区就格式化几个)
8、挂载虚拟磁盘
1) 新建几个空目录
mkdir -p /media7irtualdisk_{1..3}
2)挂载磁盘分区
sudo mount /dev/mapper/loop0p1 /media7irtualdisk_1
sudo mount /dev/mapper/loop0p1 /media7irtualdisk_2
sudo mount /dev/mapper/loop0p1 /media7irtualdisk_3
附:
卸载磁盘分区:
sudo umount /dev/mapper/loop0p1
9、分区已完成,查看磁盘的分区情况
df -h
三、有趣打印
以一种动物说话的形式打印出一段话
1)安装
sudo apt-get install cowsay
2)默认情况下是一头牛
cowsay 一段话
3)加-l参数 可以选择 所有支持的动物(不仅动物)
cowsay -l
4)选择动物种类打印
cowsay -f 动物种类 一段话
附: 可以和fortune 一起使用
fortune | cowsay -f 动物种类
四 、作业
du -a -h -d 1 目录 | sort