在Free BSD上使用tcsh shell,有没有办法递归列出所有文件和目录,包括文件的所有者,组和相对路径?
ls -alR接近,但它没有显示每个文件前面的相对路径,它显示了分组顶部的路径,即
owner% ls -alR total 0 drwxr-xr-x 3 owner group 102 Feb 1 10:50 . drwx------+ 27 owner group 918 Feb 1 10:49 .. drwxr-xr-x 5 owner group 170 Feb 1 10:50 subfolder ./subfolder: total 16 drwxr-xr-x 5 owner group 170 Feb 1 10:50 . drwxr-xr-x 3 owner group 102 Feb 1 10:50 .. -rw-r--r-- 1 owner group 0 Feb 1 10:50 file1 -rw-r--r-- 1 owner group 0 Feb 1 10:50 file2
我想要的输出如下:
owner group ./relative/path/to/file
此问题的已接受答案显示文件的相对路径,但不显示所有者和组.
这个怎么样:
find . -exec ls -dl \{\} \; | awk '{print $3, $4, $9}'
使用树.默认情况下,很少有Linux发行版安装它(在这些只有GUI的黑暗时代 :-),但它总是在标准存储库中可用.它也应该可用于*BSD,请参阅http://mama.indstate.edu/users/ice/tree/
使用:
tree -p -u -g -f -i
要么
tree -p -u -g -f
或者查看手册页以获取许多其他有用的参数.
适用于Linux Debian:
find $PWD -type f
find
接近:
find . -printf "%u %g %p\n"
还有"%P",如果您希望路径相对于指定目录,则会从文件名中删除前缀.
注意,这是GNU查找,我不知道BSD查找是否也支持-printf.
你已经得到了一个有效的答案,但作为参考你应该能够在BSD上做到这一点(我已经在mac上测试过了):
find . -ls