lsblk和df和du和free的区别
`lsblk` 和 `df` 是两个在 Linux 系统中用于查看磁盘信息的常用命令,但它们提供的信息和侧重点有所不同。
1. **`lsblk` 命令**:
- `lsblk` 代表 "list block devices",即列出块设备信息。
- 它显示系统中所有可用的块设备(如硬盘、光驱、USB 设备等)及其分区,包括它们的大小、类型、挂载点等信息。在 Linux 中,块设备通常以 /dev
目录下的设备文件形式存在,如 /dev/sda
、/dev/hda
等
- `lsblk` 以树状结构展示设备间的层次关系,这有助于理解设备的物理结构和逻辑分区。
- 它不会显示 RAM 盘的信息。
- 常用参数包括 `-a`(显示所有设备,包括空设备),`-f`(显示文件系统信息),`-o`(定制输出列)等。
- 示例:`lsblk -f` 会显示块设备及其文件系统信息 。
2. **`df` 命令**:
- `df` 代表 "disk free",即磁盘空闲空间。
- 它用于显示文件系统的磁盘空间使用情况,包括总大小、已用空间、可用空间、已用百分比以及挂载点。
- `df` 专注于文件系统级别的信息,而不是块设备。
- 常用参数包括 `-h`(以人类可读的格式显示),`-i`(显示 inode 使用情况),`-t`(仅显示指定类型的文件系统)等。
- 示例:`df -h` 会以易读的格式显示文件系统的使用情况 。
总结来说,`lsblk` 更侧重于显示块设备及其分区的物理和逻辑结构,而 `df` 则专注于文件系统的使用情况。两者可以互补使用,以获得系统的完整磁盘信息。例如,您可以先用 `lsblk` 查看磁盘和分区的布局,然后用 `df` 检查这些分区的磁盘使用情况 。
在 Linux 系统中,`du`、`df` 和 `free` 是三个常用的命令,它们都与磁盘空间和内存使用情况相关,但各自关注不同的方面:
### 1. `du`(Disk Usage)
- **用途**:`du` 命令用于检查文件和目录的磁盘使用情况。
- **显示内容**:它显示指定文件和目录占用的磁盘空间量。
- **常用选项**:
- `-h` 或 `--human-readable`:以易读的格式(例如 KB、MB、GB)显示大小。
- `-s` 或 `--summarize`:仅显示总计的磁盘使用量,而不显示子目录的详细使用情况。
- `-a` 或 `--all`:显示目录中每个文件的磁盘使用量。
- `--max-depth=N`:限制输出的目录深度。
**示例**:
```bash
du -sh /path/to/directory
```
这将显示指定目录的总磁盘使用量,以易读的格式显示。
### 2. `df`(Disk Free)
- **用途**:`df` 命令用于显示文件系统的磁盘空间使用情况。
- **显示内容**:它显示每个挂载的文件系统(如分区、磁盘、目录等)的总空间、已用空间、可用空间以及挂载点。
- **常用选项**:
- `-h` 或 `--human-readable`:以易读的格式显示磁盘空间。
- `-i` 或 `--inodes`:显示 inode 的使用情况,而不是磁盘空间。
- `-l` 或 `--local`:仅显示本地文件系统的信息。
- `-T` 或 `--type`:显示文件系统的类型。
**示例**:
```bash
df -h
```
这将显示所有挂载的文件系统的磁盘空间使用情况,以易读的格式显示。
### 3. `free`
- **用途**:`free` 命令用于显示系统内存(RAM)的使用情况。
- **显示内容**:它显示总内存、已用内存、可用内存、交换空间(swap)等信息。
- **常用选项**:
- `-h` 或 `--human-readable`:以易读的格式显示内存大小。
- `-m`:以 MB 为单位显示内存大小。
- `-g`:以 GB 为单位显示内存大小。
**示例**:
```bash
free -h
```
这将显示系统内存的使用情况,以易读的格式显示。
### 总结
- **`du`**:关注文件和目录的磁盘使用情况。
- **`df`**:关注整个文件系统的磁盘空间使用情况。
- **`free`**:关注系统内存(RAM)和交换空间的使用情况。
这三个命令是 Linux 系统中检查磁盘和内存使用情况的基础工具,它们提供了不同层面的信息,帮助用户了解和管理系统资源。