一行 ls 命令显示符号链接

Jur*_*nao 3 unix symbolic-link command-line ls

如何仅使用一个ls命令来显示/dev目录中的所有符号链接?

我知道ls -l,仅此而已。

use*_*ser 8

执行此操作的正常方法是使用find,如果它可用。使用 GNU find(可能还有其他),您可以执行以下操作:

find /dev -type l -ls
Run Code Online (Sandbox Code Playgroud)

其中-type l条件表示仅匹配符号链接。这会给你类似的输出(在这里只复制几行):

1971    0 lrwxrwxrwx   1 root     root           10 Mar 25 19:29 /dev/disk/by-uuid/593596f4-a5a1-4e87-b985-b0196c2a067b -> ../../sda3
1952    0 lrwxrwxrwx   1 root     root           10 Mar 25 19:31 /dev/disk/by-uuid/7db08eaf-1d68-4aa3-a8e0-7e62489efb0f -> ../../sdb1
1933    0 lrwxrwxrwx   1 root     root           10 Mar 25 19:29 /dev/disk/by-uuid/a2d18bff-a710-43a8-b41a-fb39b814a165 -> ../../sda1
4209    0 lrwxrwxrwx   1 root     root           10 Mar 26 08:22 /dev/disk/by-path/pci-0000:00:12.2-usb-0:3:1.0-scsi-0:0:0:0-part1 -> ../../sdc1
Run Code Online (Sandbox Code Playgroud)

您可以用-ls您喜欢的任何操作替换该操作(-print并且-exec想到有用)。

除此之外,我想你可以使用类似的东西ls -l /dev/disk/by-id | grep ^l,但解析 ls 的输出通常是一个坏主意