1 filesystems bash rhel awk lsblk
亲爱的朋友和大学
\n我们有 rhel 7.5 版本的服务器,每台服务器都包含带文件系统的磁盘和不带文件系统的磁盘
\n通常sda- 是操作系统磁盘,并且sdb是已经有文件系统的磁盘,
使用以下lsblk语法,我们可以捕获具有文件系统类型的磁盘列表
lsblk --fs -o NAME,FSTYPE\nNAME FSTYPE\nsda\n\xe2\x94\x9c\xe2\x94\x80sda1 xfs\n\xe2\x94\x94\xe2\x94\x80sda2 LVM2_member\n \xe2\x94\x9c\xe2\x94\x80VG-LV_root xfs\n \xe2\x94\x9c\xe2\x94\x80VG-LV_swap swap\n \xe2\x94\x94\xe2\x94\x80VG-LV_var xfs\nsdb ext4\nsdc \nsdd\nRun Code Online (Sandbox Code Playgroud)\n我想知道如何匹配所有没有文件系统的磁盘
\n预期产出
\nsdc\nsdd\nRun Code Online (Sandbox Code Playgroud)\n所以我们尝试以下语法
\nlsblk --fs -o NAME,FSTYPE | awk '$2 == "" {print $1}'\nRun Code Online (Sandbox Code Playgroud)\n但我们得到以下结果
\nsda\nsdc\nsdd\nRun Code Online (Sandbox Code Playgroud)\n所以我们sda尽管如此sda有文件系统(XFS)
那么如何仅捕获real disks没有文件系统的文件-sdc / sdd
如果您lsblk支持--json输出格式,并且已经jq安装,则可以解析以下块设备(a)没有子设备(即未分区)和(b)本身没有定义的文件系统:
lsblk --fs --json |
jq -r '.blockdevices[] | select(.children == null and .fstype == null) | .name'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1601 次 |
| 最近记录: |