bash - 识别内部驱动器与 USB 驱动器 bash

标签 bash

我认为我有一个很好的方法来确定哪些驱动器是内部驱动器,哪些驱动器是外部驱动器(USB)。直到我遇到这个:

/var/log/messages*

    Sep 24 03:40:02 myHostName kernel: sd 0:0:0:0: [sda] 3907029164 512-byte logical blocks: (2.00 TB/1.81 TiB)
    Sep 24 03:40:02 myHostName kernel: sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
    Jul 21 14:57:01 myHostName kernel: sd 6:0:0:0: [sdb] 3907029164 512-byte logical blocks: (2.00 TB/1.81 TiB)
    Jul 22 06:45:39 myHostName kernel: sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
    Jul 22 15:06:30 myHostName kernel: sd 0:0:0:0: [sda] 3907029164 512-byte logical blocks: (2.00 TB/1.81 TiB)
    Jul 22 15:06:30 myHostName kernel: sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
    Jul 25 15:13:06 myHostName kernel: sd 7:0:0:0: [sdc] 3907029164 512-byte logical blocks: (2.00 TB/1.81 TiB)
    Jul 26 15:19:39 myHostName kernel: sd 0:0:0:0: [sda] 3907029164 512-byte logical blocks: (2.00 TB/1.81 TiB)
    Jul 26 15:19:39 myHostName kernel: sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
    Jul 26 15:23:28 myHostName kernel: sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)

此系统上的 SDA 和 SDB 驱动器从内部交换到外部!有人知道如何在 Linux 中识别哪些设备是内部设备,哪些设备是外部设备吗?我需要查看历史记录,因此我确实需要能够回顾以前安装的设备。我的旧方法是查看“sdb-sdX”的所有内容,忽略 sda。这在上面的机器上是有缺陷的。我什至不知道它是如何做到这一点的。一直以为SDA是第一个内部设备。

最佳答案

我用它来识别驱动器是否可弹出(USB):-

diskutil info /dev/disk[n|s{n}] | grep Ejectable

磁盘工具为您提供所有磁盘的序列号。

关于bash - 识别内部驱动器与 USB 驱动器 bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19099065/

相关文章:

linux - 为尾部输出着色

python - 允许 Rsync 读取 python 进程打开的文件,而不会导致 python 进程失败

bash - 有没有办法编写 ghci session 脚本?

bash - 我可以使用与 bash 和 zsh 相同的语法循环遍历关联数组的键吗

bash - 如何正确使用包含多个参数(可能包含空格)的 bash 变量

linux - 为什么我不能执行这个脚本?

python - Python shutil 模块中的 shutil.move() 方法

regex - sed正则表达式用同名变量替换值

string - 为什么 base64 在 Mac 上对我的文件进行编码不会生成正确的 base64 字符串?

linux - 获取父级最后一个命令的退出状态