我需要找到在我的 Linux 操作系统中搜索未使用磁盘的最佳方法
例如,从下面的输出中我们可以看到 sde 未安装并且似乎是可用磁盘(我们需要可用磁盘才能在他上创建 FS 然后安装到某个文件夹)
请建议找到可用磁盘的最佳方法是什么?使用命令行或使用 awk / sed / perl 等命令行,以捕获未使用的磁盘
sda 用于操作系统
lsblk | grep disk | grep -v fd0
sda 8:0 0 150G 0 disk
sdb 8:16 0 20G 0 disk /jeded
sdc 8:32 0 20G 0 disk /var/mmn
sdd 8:48 0 20G 0 disk /var/nrdd
sde 8:64 0 20G 0 disk
预期输出应该是 sde
- 还有一些其他命令可以将磁盘查看为 sfdisk -s 或 fdisk -l ,但我们要查找的是哪个磁盘是空闲磁盘(没有 FS / 已安装)
答案1
尝试这个:
lsblk --noheadings --raw | awk '$1~/s.*[[:digit:]]/ && $7==""'
答案2
在 Ubuntu 18.04 上,一种选择是使用命令
lsblk | grep -v '^loop'
我的例子的输出是
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
└─sda1 8:1 0 1.8T 0 part /raid
nvme1n1 259:0 0 477G 0 disk
nvme0n1 259:1 0 477G 0 disk
├─nvme0n1p1 259:2 0 800M 0 part /boot/efi
├─nvme0n1p2 259:3 0 5G 0 part
└─nvme0n1p3 259:4 0 471.2G 0 part /
输出显示磁盘nvme1n1
未在使用中且未安装在任何位置。
另一个命令来识别没有分区的磁盘
fdisk -l | grep -v 'Disk /dev/loop' | grep -v '^Units' | grep -v '^Sector' | grep -v 'I/O'