终端查找usb信息的命令是什么?

use*_*764 6 command-line usb

我知道我可以通过进入/media/user/nameOfFlashdrive文件管理器找到我的闪存驱动器的名称。但是,是否有终端命令可以输入闪存驱动器的名称,它会告诉我驱动器的连接位置,例如/dev/sdb1

Jac*_*ijm 3

您可以简单地使用:

\n\n
lsblk | grep <flashdrive>\n
Run Code Online (Sandbox Code Playgroud)\n\n

这将在我的情况下输出,运行

\n\n
$ lsblk | grep Passport\n\xe2\x94\x94\xe2\x94\x80sdb1   8:17   0   1,8T  0 part /media/jacob/My Passport1\n\xe2\x94\x94\xe2\x94\x80sdc1   8:33   0 698,6G  0 part /media/jacob/My Passport\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以在其中看到设备和安装点。如您所见,我有两个 USB 驱动器,名为My Passport

\n\n

仅获取设备

\n\n
$ lsblk | grep Passport | awk '{ print $1 }'\n\xe2\x94\x94\xe2\x94\x80sdb1\n\xe2\x94\x94\xe2\x94\x80sdc1\n
Run Code Online (Sandbox Code Playgroud)\n\n

相同,但输出更精确:

\n\n
$ lsblk | grep Passport | awk -F'[\xe2\x94\x80 ]' '{ print $2 }'\nsdb1\nsdc1\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者,按照 @kos 的建议(谢谢!)甚至更简单,使用lsblk选项(这将在输出中的设备之前-l省略):\xe2\x94\x94\xe2\x94\x80

\n\n
$ lsblk -l | grep Passport | awk '{ print $1 }'\nsdb1\nsdc1\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者(也如@kos建议的那样),您可以不使用该grep命令,仅使用lsblkand awk

\n\n
$ lsblk -l | awk '/Passport/{ print $1 }'\nsdb1\nsdc1\n
Run Code Online (Sandbox Code Playgroud)\n\n

解释

\n\n
    \n
  • lsblk将列出您安装的所有设备
  • \n
  • grep <flashdrive>只会列出与您的设备名称匹配的行,如下所示:

    \n\n
    \xe2\x94\x94\xe2\x94\x80sdc1   8:33   0 698,6G  0 part /media/jacob/My Passport\n
    Run Code Online (Sandbox Code Playgroud)
  • \n
  • awk -F'[\xe2\x94\x80 ]' '{ print $2 }'将用两个分隔符分割该行:

    \n\n
    \xe2\x94\x80\n
    Run Code Online (Sandbox Code Playgroud)\n\n

    (这是 \xe2\x94\x94\xe2\x94\x80 中的第二个字符)

    \n\n

    和一个空间。

  • \n
\n\n

随后,我们就可以轻松得到我们需要的部分了。

\n