我已经阅读了很多关于realpath
命令以及它是如何readlink -f
被现在推荐的弃用的。我也在一些地方看到,之所以引入 realpath 是因为 readlink 中缺少这样的功能,而且一旦引入,就不再需要 realpath 并且大多数操作系统供应商都停止了对它的支持。
我提出问题的原因是,我也看到很多人将 推荐readlink -f
为“非常相似”的命令realpath
,这就是困扰我的原因,因为没有人详细说明“非常相似”的部分。实际差异是什么?
我正在尝试将参数组合到ls
命令中以列出目录内容。我基本上想要实现的是列出取消引用所有链接的目录,但明确显示列出的项目是一个链接。我尝试组合--dereference
和--classify
选项,但没有显示链接符号 ( @
),我得到了 a,*
因为链接针对的是一个可执行文件。
关于如何获得这样的结果的任何想法?我对ls
命令以外的其他选择持开放态度。
编辑:
我实际上使用ls
命令中的其他选项。我当前的命令及其选项如下:
ls -ogq -LB --group-directories-first --time-style=long-iso
Run Code Online (Sandbox Code Playgroud)
我打算在我正在构建的应用程序中解析输出,并且不能使用带有箭头 ( ->
)的默认链接输出。目录中的其他项目(例如文件夹和文件)也必须列出。
编辑(2):
澄清一下,我正在开发一个 Java 应用程序,它使用 SSH2 API 连接到服务器并列出目录。然后,使用 jsTree jQuery 插件将列表中的结果用于填充树。目前我上面引用的命令给了我以下输出:
felipe@simba:/mnt/drive$ ls -ogq --group-directories-first --time-style=long-iso
total 12
drwxr-sr-x 2 4096 2014-06-11 18:04 folder1
drwxr-sr-x 6 4096 2014-06-27 19:35 folder2
dr-Sr-s-wt 2 4096 2014-06-27 13:51 folderWithPermissions
-rw-r--r-- 1 0 2014-06-30 10:42 file.txt
lrwxrwxrwx 1 49 2014-06-30 11:36 linkTeste -> folder2/dir/otherfile.txt
Run Code Online (Sandbox Code Playgroud)
通过应用正则表达式,我可以通过查看权限来识别文件夹、文件或链接是什么。但是当我有一个链接时,我只需要列出链接名称,而不是name …