unix fdisk:获取知道其系统的设备字符串


0

我正在将一个NTFS磁盘附加到RHEL。

要安装它,我需要知道分区名称,我稍后将在其中使用 mount 命令。

我需要一个字符串 Device 名字,知道什么 System 它属于。

fdisk -l

该命令返回:

Disk /dev/sdb: 15.0 GB, 15032385536 bytes, 29360128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0xdf77eb64

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1             128    29358079    14678976   83  Linux

Disk /dev/sda: 31.5 GB, 31457280000 bytes, 61440000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x000c46d3

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    61439999    30206976   83  Linux

Disk /dev/sdc: 1862 MB, 1862270976 bytes, 3637248 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0xf9fa7844

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1             128     3635199     1817536    7  HPFS/NTFS/exFAT

我很想得到一个字符串 /dev/sdc1,因为它的系统是 HPFS/NTFS/exFAT

我怎么能得到一个 Device 知道它应格式化为 HPFS/NTFS/exFAT


1
有点不清楚你的意思是“设备启动字符串” - 你在追求UUID吗?您也许可以通过运行获得额外的洞察力 lsblkblkid。你所指的似乎只是设备ID /dev/sda 是第一个检测到的磁盘和 sda1 bit指的是它的第一个分区。 sdb 是第二个,依此类推。
r0berts

但是如果你只是在获得字符串/ dev / sdc1之后,因为它在包含NTFS的行上,你可以简单地这样做: fdisk -l | grep NTFS | cut -f 1 -d " "
r0berts

@ r0berts我很想得到一个“/ dev / sdc1”字符串。我不确定下次这样做时会有哪个名字,可能是“/ dev / sdc2”或其他东西。这对我来说主要是得到一个名称,它对应于“NTFS”系统
experimenter

1
看一下 /dev/disk/by-label/,/ dev / disk / by-partlabel /`等,并使用这些,例如在 /etc/fstab。它们不会在靴子等之间发生变化,你应该总是使用其中之一而不是 /dev/sd* 名字(可以改变)。
dirkt

Answers:


1

好的,您想从命令的输出中提取字符串。以这种方式使用UNIX心爱的小型简单命令链接:

fdisk -l | grep NTFS | cut -f 1 -d " "

fdisk 输出通常的信息 - 如你所知。 | 是管道符号,表示将输出提供给下一个命令,而不是屏幕。 grep 然后只提取包含NTFS和的行 cut 提取行的第一个字段,列分隔符在这种情况下是空格。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.