我想ls
用绝对路径名打印,我该怎么做?
find / -type d -mount -exec ls -ls {} \;
ls
仅打印目录中的相对文件名。
答案1
POSIXly:
find / -xdev -type d -exec sh -c 'for d; do ls -lsd "$d"/*; done' sh {} +
-xdev
具有相同的效果,-mount
但可移植。
请注意,这在空目录上会失败。
答案2
ls
这是将目录作为参数给出时的常见行为。所以你必须避免ls
专门处理目录。
您必须将文件路径传递给
ls
, ie-type f
而不是-type d
.如果您也想传递目录(否),那么您需要的
-type f
选项。-d
ls
答案3
将要执行的命令更改为echo
:
find / -type d -mount -exec echo {} \;