上篇文章:嵌入式开发 Linux 常用命令系列 8 – 二进制转为16进制常用命令
下篇文章:嵌入式开发 Linux 常用命令系列 10 – linux 必用 跟踪系统调用和信号 命令 strace 详细介绍
1.1 df 命令
df
是用于显示文件系统的磁盘使用情况。df命令的名称来自 “disk filesystem
” 的缩写。它显示了每个挂载的文件系统的总空间、已用空间、可用空间以及其在整个文件系统中的使用比率。
以下是df
命令的一些常用选项:
-h
或 --human-readable
:以人类可读的格式(例如,KB,MB,GB)显示信息。
-T
或 --print-type
:显示每个文件系统的类型。
-a
或 --all
:显示所有文件系统,包括系统特殊文件系统。
-i
或 --inodes
:显示i节点信息而非块使用量。
以下是一些使用df
命令的示例:
- 显示所有文件系统的磁盘使用情况:
df
- 以人类可读的格式显示磁盘使用情况:
df -h
- 显示每个文件系统的类型和使用情况:
df -Th
- 显示特定文件系统的使用情况,例如 /dev/sda1:
df /dev/sda1
注意:在大多数Linux系统中,df命令可以在没有超级用户权限的情况下运行。
1.2 du 命令
du
用于查看文件和目录占用的磁盘空间。du
命令的名称来源于“disk usage
”的缩写。
以下是 du 命令的一些常用选项:
-h
或--human-readable
:以人类可读的格式(例如,KB,MB,GB)显示信息。-s
或--summarize
:仅显示总计,而不显示每个子目录的大小。-a
或--all
:包括文件和目录在内的所有项。-c
或--total
:除了显示各个目录和文件的大小之外,还显示总计。
以下是一些使用 du
命令的示例:
-
显示当前目录及其子目录的磁盘使用情况:
du
-
以人类可读的格式显示当前目录的磁盘使用情况:
du -h
-
显示特定目录的磁盘使用情况,例如 /home/user:
du -h /home/user
-
仅显示总计,不显示每个子目录的大小:
du -sh /home/user
-
显示当前目录的大小:
du -sh
-
显示某个目录或文件的大小:
du -sh ./device/
du -sh ./device/index.php
-
显示当前目录下所有文件的大小:
du -sh ./*
-
包括当前目录下的文件和子目录:
du -sh
du -sh xxx
显示总目录的大小,但是不会列出目录中的每一个文件
du -sh xxx/*
列出xxx下每个目录和文件所占的容量
- Linux 查找占用空间最大的文件与目录
du -h --max-depth=1
[02:12:31] (*^~^*) ~/sam/workbase/uefi$ du -h --max-depth=1
162M ./diags
100M ./edk2-libc
64M ./acpica
2.2M ./RELEASE
366M ./edk2
2.4G ./.repo
80M ./edk2-platforms
1.6G ./toolchain
369M ./Build
5.1G .
-
列出当前目录中的目录名不包括 device 字符串的目录的大小:
du -h --exclude='*device*'
-
列出的结果顺序排列:
du -s * | sort -n
-
列出的结果倒序排列:
du -s * | sort -nr
-
选出排在前面的10个
du -sh * | sort -nr | head
[02:11:12] (*^~^*) ~/sam/workbase/uefi$ du -sh * | sort -nr | head
369M Build
366M edk2
162M diags
100M edk2-libc
80M edk2-platforms
64M acpica
6.0M UEFI_EL3.fd
4.0K watcher.c
4.0K timestamp.h
4.0K test.py
- 选出排在后面的10个
du -s * | sort -nr | tail
注意:du
命令可能需要一些时间来运行,特别是在大型文件系统上。在大多数 Linux 系统中,du
命令可以在没有超级用户权限的情况下运行。
1.3 dd 命令
dd
常用于低级别的复制或转换文件,特别是对于设备文件。它可以对原始数据进行复制和转换,包括改变块的大小、转换字节顺序或者去除特定的字符。
以下是 dd
命令的一些常用选项:
if=FILE
:读取 FILE 文件作为输入。
of=FILE
:输出到 FILE 文件。
bs=BYTES
:同时设置读/写的块大小。
count=N
:仅复制输入文件的前 N 个块。
以下是一些使用 dd
命令的示例:
- 创建一个空的 1GB 文件:
dd if=/dev/zero of=output.file bs=1G count=1
- 创建一个磁盘镜像:
dd if=/dev/sda of=/path/to/image
- 从磁盘镜像复制回磁盘:
dd if=/path/to/image of=/dev/sda
- 将输入转换为大写:
echo "hello world" | dd conv=ucase
注意:dd
命令在处理设备文件时必须非常小心,因为它可以覆盖数据并导致数据丢失。在使用 dd
命令时,应始终检查你的命令以确保你知道它将做什么,特别是在操作磁盘或者其它设备时。