![创建一个压缩文件并将其保存在 usb 上的命令,但无法在 linux 中检测到 usb](https://linux22.com/image/1267814/%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%8E%8B%E7%BC%A9%E6%96%87%E4%BB%B6%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BF%9D%E5%AD%98%E5%9C%A8%20usb%20%E4%B8%8A%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E4%BD%86%E6%97%A0%E6%B3%95%E5%9C%A8%20linux%20%E4%B8%AD%E6%A3%80%E6%B5%8B%E5%88%B0%20usb.png)
首先,我无法使用命令行在 Linux 上检测到 USB。我检查了目录 dev,但仍然找不到 usb。使用 df 命令检查了 usb。我插入并输入 df,然后拔下并再次输入 df,但没有任何变化。我们正在使用服务器 (telnet) 在 Windows 7 操作系统上使用 Linux 的命令行。
我遇到的第二个问题是如何执行我编写的 bash 脚本。似乎我无法将 .sh 文件放在 /usr/bin/ 中。我想让我的命令像普通命令一样在所有目录中可执行。抱歉,我在这方面还是新手。这是我长期使用 Windows 所导致的结果。
抱歉我的英语不好。提前谢谢您。
答案1
df 只会显示已安装的文件系统。您使用的 Linux 发行版可能会也可能不会自动安装 USB 驱动器。
在插入和移除 USB 驱动器时执行某些操作的正确方法是使用 udev 规则。请参阅http://reactivated.net/writing_udev_rules.html
您还可以使用 lsusb 命令查看 USB 总线上当前存在的内容。请参阅:http://linuxcommand.org/man_pages/lsusb8.html
哪种方法适合您的情况取决于您的具体用例。
答案2
由于您正在远程访问,因此它可能不会自动挂载,因为大多数“环境”上的桌面文件管理器是大多数系统上挂载这些媒体的工具。这很不幸,但这就是“用户友好”发行版的做法。
首先,你可以通过运行以下命令来检查 USB 是否正常工作:
/sbin/udevadm monitor
然后插入并拔出 USB 磁盘。您应该会看到一些事件被打印出来。插入后,查看 /dev/disk/by-id 并查看是否看到设备节点(符号链接)。
如果愿意的话,您可以像这样安装它:
mkdir /mnt/media1
mount -t auto /dev/disk/(fullpathtodevice) /mnt/media1
删除它之前你应该先卸载它。
您必须是超级用户(root)才能执行这些操作,或者由 root 和正确的组启用。
关于您的第二个问题,将自定义脚本用于主机范围的正确位置放在 中/usr/local/bin
。同样,您必须是 root 才能执行此操作。
答案3
操作系统未提供的程序的正确存放位置是 /usr/local/bin。大多数 Linux 发行版的 PATH 变量中都包含 /usr/local/bin 目录。
答案4
gby 是正确的 - df 只会检测已安装的文件系统。
我建议使用一个简单的fstab
规则,我在另一个答案中详细说明如何创建这里。
当然,这需要你真正山之后的文件系统 - 您的文件管理器(我使用 pcmanfm - 我知道 Thunar 也这样做)应该会检测到 fstab 中的这些行并将它们列为可挂载。如何挂载驱动器取决于文件管理器,但通常涉及右键单击图标并按Mount
。使用完驱动器后,卸载也一样。
你也可以做mount /dev/insert-usb-device-here
/umount /dev/insert-usb-device-here
毋庸置疑,在做这些事情之前你必须su
先sudo
root。