我想知道如何检查目录(在我的 RaspberryPi 上)是否位于外部驱动器上。
我认为我正确安装了 WD MyPassport,并且能够通过 /media/pi/MyPassport 对其进行写入。然而,发生了一些事情,它创建了一个MyPassport1
文件夹,这似乎实际上是外部驱动器。所以我有/media/pi/MyPassport
,/media/pi/MyPassport1
当外部连接时。
我删除了外部驱动器,但仍然可以看到(并访问/读/写)/media/pi/MyPassport
...因此发生了移动外部目录并/media/pi/MyPassport
在本地创建的事情。
我想在复制数据的脚本中包含该脚本,以便在复制之前MyPassport
首先检查是否/media/pi/MyPassport
确实位于外部驱动器上。
那可能吗?
编辑:我现在知道外部驱动器被称为.../MyPassport1
,所以可以查看该目录是否存在,然后继续复制...但我更一般地问,有没有办法检查目录是否确实是外部目录通过 USB 连接驱动器?
答案1
这很简单,如果你使用命令df -h folder_name
,它会显示文件系统。例如
如果我使用命令,我已将驱动器安装在/mnt/xxx
, 文件夹中
df -h /mnt
/dev/sda1 96G 81G 11G 89% /
因为/dev/sda1
是安装在/
文件夹上的,并且mnt
, 是其中的一个目录。
df -h /mnt/uuid
/dev/sda5 98G 57G 42G 58% /mnt/uuid
因此,在您的脚本中您可以使用:
if [ "$(df -h /media/pi/MyPassport | grep -o /media/pi/USB)" = "/media/pi/USB" ]
then
echo "USB is mounted"
else
echo "USB is not mounted"
copy....
fi
您还可以将if
语句简化为:
if [ "$(df -h /media/pi/MyPassport | grep -o /media/pi/USB)" ]
因为它将检查退出状态。
答案2
您可以使用命令 'df -h' 检查设备的安装位置。然后您可以导航到该文件夹并访问该设备的内容。