我经常在Unix(AIX / KSH)中使用这个list命令:
ls -Artl
它显示文件:
-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 test1.txt
-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 test2.txt
我想修改命令,以便显示文件的完整路径。例如:
-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 /usr/test1.txt
-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 /usr/test2.txt
有什么想法吗?
我找到了几种使用pwd
或find
的解决方法,但据我所知 - 如果我想保留ls
选项,这不起作用。
答案 0 :(得分:62)
这个技巧怎么样......
ls -lrt -d -1 $PWD/{*,.*}
OR
ls -lrt -d -1 $PWD/*
我认为这有空目录的问题,但如果另一张海报有调整,我会更新我的答案。此外,您可能已经知道这一点,但鉴于它的长度,这可能是别名的一个很好的候选者。
[更新]根据评论添加了一些调整,谢谢大家。
[update]正如评论所指出的那样,您可能需要根据shell(bash vs zsh)来调整匹配器表达式。我重新添加了我的旧命令以供参考。
答案 1 :(得分:41)
试试这个,对我有用:ls -d /a/b/c/*
答案 2 :(得分:14)
使用此命令:
ls -ltr /mig/mthome/09/log/*
而不是:
ls -ltr /mig/mthome/09/log
获取列表中的完整路径。
答案 3 :(得分:6)
我使用这个命令:
ls -1 | xargs readlink -f
答案 4 :(得分:4)
从spacedrop回答优化...
ls $(pwd)/*
你可以使用ls选项
ls -alrt $(pwd)/*
答案 5 :(得分:0)
只需使用查找工具。
找到绝对路径
显示我的Linux机器上的完整路径,而
找到relative_path
不会。
答案 6 :(得分:0)
我编写了一个名为 fullpath 的shell脚本,其中包含以下代码,每天都使用它:
#!/bin/sh
for i in $* ; do
echo $(pwd)/$i
done
将其放在PATH中的某个位置,并使其可执行(chmod 755 fullpath),然后只需使用
完整路径 文件目录或目录
答案 7 :(得分:-1)
您可以组合find命令和ls命令。使用路径(。)和选择器(*)缩小您之后的文件范围。在后引号中包围find命令。 -name的参数是doublequote star doublequote,以防您无法读取它。
ls -lart `find . -type f -name "*" `