linux 上的 df 列出了以下分区统计信息。
-bash-4.1# df 文件系统 1K-blocks Used 可用使用% Mounted on /dev/sda3 1918217320 1473337340 347440136 81% / tmpfs 32970328 0 32970328 0% /dev/shm /dev/sda1 482214 148534 308781 33% /boot /dev/sdd1 1922860884 1638599284 186585876 90% /disk5 /dev/sdc1 1922858352 1474925416 350257336 81% /disk2 /dev/sdb1 1922858352 1028783752 796399000 57% /disk4
如果我想获取分区名称的列表,例如:“/dev/sda3 /dev/sda1 /dev/sdc1...” 我该如何在 bash 中执行此操作?
小智 8
要以 root 身份列出为设备定义的所有分区,请运行:
lsblk
或者
fdisk -l
或者
猫 /proc/分区
还有@Giedrius Rekasius 提到的
fdisk -l /dev/sda | grep '^/dev' | 剪切 -d' ' -f1
df将仅显示已安装的分区。如果这是您想要的,那么从df输出中提取设备节点,grep以“/dev”开头的行和cut剩余输出中的第一列:
df | grep '^/dev' | cut -d' ' -f1
Run Code Online (Sandbox Code Playgroud)
或将它们列在以空格分隔的一行中:
df | grep '^/dev' | cut -d' ' -f1 | tr '\n' ' '
Run Code Online (Sandbox Code Playgroud)
如果您想获取不一定挂载的分区列表,则可以以 root 身份运行fdisk -l并可选择指定设备来扫描分区:
fdisk -l [device...]
Run Code Online (Sandbox Code Playgroud)
如果您未指定任何设备,则 fdisk 将使用 中提到的设备(/proc/partitions如果该文件存在)。
Fdisk 将以类似的格式输出信息,df以便提取设备节点,您可以执行与以下所述相同的操作df:
fdisk -l | grep '^/dev' | cut -d' ' -f1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5175 次 |
| 最近记录: |