df
命令查看磁盘的容量; 默认以块的大小展示
df -h 加上 `-h` 参数,以更易读的方式展示
使用 du
命令查看目录的容量(默认同样以块的大小展示,加上 `-h` 参数,以更易读的方式展示)
du -h -d 0 ~ # 只查看 1 级目录的信息
du -h -d 1 ~ # 查看 2 级目录的信息
du -h # 同 --human-readable 以 K,M,G 为单位,提高信息的可读性。
du -a # 同 --all 显示目录中所有文件的大小。
du -s # 同 --summarize 仅显示总计,只列出最后加总的值。
sort 对文件行或者标准输出行记录排序后输出.
head 输出文件内容的前面部分.
du -a | sort -n -r | head -n 10 表示当前目录下占用最大的前十个文件。
dd
的命令行语句与其他的 Linux 程序不同,因为它的命令行选项格式为 选项=值,而不是更标准的 --选项 值 或 -选项=值。dd
默认从标准输入中读取,并写入到标准输出中,但可以用选项 if
(input file,输入文件)和 of
(output file,输出文件)改变。dd
命令用于转换和复制文件,不过它的复制不同于 cp。
dd of=test bs=10 count=1 或者 dd if=/dev/stdin of=test 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
使用 dd 命令创建虚拟镜像文件
从 /dev/zero
设备创建一个容量为 256M 的空文件:
dd if=/dev/zero of=virtual.img bs=1M count=256
du -h virtual.img
然后我们要将这个文件格式化(写入文件系统)
使用 mkfs 命令格式化磁盘
你可以在命令行输入 sudo mkfs
然后按下 <Tab>
键,你可以看到很多个以 mkfs 为前缀的命令,这些不同的后缀其实就是表示着不同的文件系统,可以用 mkfs 格式化成的文件系统。
简单的使用下面的命令来将我们的虚拟磁盘镜像格式化为 ext4
文件系统:
sudo mkfs.ext4 virtual.img
可以看到实际 mkfs.ext4
是使用 mke2fs
来完成格式化工作的。