Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash获取硬盘驱动器路径_Bash_Hard Drive - Fatal编程技术网

Bash获取硬盘驱动器路径

Bash获取硬盘驱动器路径,bash,hard-drive,Bash,Hard Drive,有没有办法从插入计算机的闪存驱动器中执行bash脚本来获取计算机硬盘的符号路径(例如/dev/sda)?它总是/dev/sda吗?这里的“计算机硬盘”我想你指的是引导Linux的根文件系统。您可以使用df实用程序检查/安装到的内容: $ df / Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 10317828 7824696 1969016 80% /

有没有办法从插入计算机的闪存驱动器中执行bash脚本来获取计算机硬盘的符号路径(例如/dev/sda)?它总是/dev/sda吗?

这里的“计算机硬盘”我想你指的是引导Linux的根文件系统。您可以使用df实用程序检查
/
安装到的内容:

$ df / 
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             10317828   7824696   1969016  80% /
$ df / | grep / | cut -d" " -f1
/dev/sda1
$

/dev/sda1
只是驱动器的第一个分区
/dev/sda
。在我的例子中,它也是
dev/sda
,但您肯定不能保证它总是这样。如果是IDE磁盘,您可能会看到
/dev/hda
<代码>/dev/sda通常是SATA或SCSI
/dev/sdb
将是系统上的第二个磁盘,依此类推。

它可能不同于
sda
。如果计算机有4个硬盘怎么办

您可以以root(或sudo)身份运行
fdisk-l
,检查可引导设备。通常是
C:
驱动器。但这并不意味着该设备包含windows

可以在硬盘(II)上安装Windows,但可以从磁盘(I)启动

因此,
fdisk-l
方法可以帮助您找到该机器上的可引导分区/磁盘。您可以检查FS是否可能是windows系统FS(例如FAT32/NTFS)。但它无法告诉您该磁盘是否安装了windows(那些windows系统文件)


此外,如果计算机有4个磁盘,并在每个磁盘上安装winOS,则安装了4个windows。比如说多引导系统。除了挂载那些分区并检查FS之外,我找不到合适的解决方案来查找这些磁盘。

不,这不是我的意思。如果我将运行Ubuntu的闪存驱动器插入一台安装了windows的计算机,我想知道包含windows的硬盘的路径。好吧,我想我误解了。我本来打算更新我的答案,但看起来@Kent在他的答案中完全涵盖了这一点。所以我要投他的票。