当前位置:  开发笔记 > 运维 > 正文

如何递归列出所有文件和目录

如何解决《如何递归列出所有文件和目录》经验,为你挑选了5个好方法。

在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

此问题的已接受答案显示文件的相对路径,但不显示所有者和组.



1> James Brady..:

这个怎么样:

find . -exec ls -dl \{\} \; | awk '{print $3, $4, $9}'



2> Davide..:

使用.默认情况下,很少有Linux发行版安装它(在这些只有GUI的黑暗时代 :-),但它总是在标准存储库中可用.它也应该可用于*BSD,请参阅http://mama.indstate.edu/users/ice/tree/

使用:

tree -p -u -g -f -i

要么

tree -p -u -g -f

或者查看手册页以获取许多其他有用的参数.



3> 小智..:

适用于Linux Debian:

find $PWD -type f     



4> Torsten Mare..:

find 接近:

find . -printf "%u %g %p\n"

还有"%P",如果您希望路径相对于指定目录,则会从文件名中删除前缀.

注意,这是GNU查找,我不知道BSD查找是否也支持-printf.



5> Andrew..:

你已经得到了一个有效的答案,但作为参考你应该能够在BSD上做到这一点(我已经在mac上测试过了):

find . -ls

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有