我看过很多关于如何获取磁盘驱动器(例如 USB)的挂载点的内容。好吧,问题是我想在插入 USB 后自动将 USB 中的所有文件夹复制到另一个文件夹(无需手动操作)。如果我使用C,那么我每次只能复制一个文件并使用一些循环,但不能复制整个文件夹,因此需要很长时间。所以我正在考虑在shell文件中使用cp命令来实现目标。我使用 sudo fdisk 来获取 USB 的挂载点,例如 /dev/sda1。但在复制命令中,我需要使用真实目录,例如 /media/*** (不是那个伪目录)。所以我想知道如何在 cp 命令中使用 /dev/sda1 或者至少使用它来查找 USB 的真实目录。
ps:我可能对挂载点有错误的理解,谢谢!
答案1
这个问题有点令人困惑,但我相信您是在问如何/media/myusb/
通过仅知道设备名称(例如)来找到安装点(例如/dev/sda1
)。例如,您可以使用findmnt
工具来完成此操作:
$ findmnt /dev/sda1
TARGET SOURCE FSTYPE OPTIONS
/media/myusb /dev/sda1 iso9660 ro,relatime
您还可以使用 搜索其他方向findmnt /media/myusb
或仅使用 列出所有安装点findmnt -l
。
您的系统可能没有findmnt
,所以让我也提供一个替代方案lsblk /dev/sda1
。该工具可能更强大,因为它可以列出根本未安装的分区(例如,如果您想检查它们的大小),但它仅在“一个方向”上工作。