文件夹树与权利

Jor*_*hez 4 macos bash terminal treeview sunos

在OS X和SunOS OS中,不存在'bash tree命令'.

要绘制文件夹的树"图形",我使用以下指令:

find . -type d -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
Run Code Online (Sandbox Code Playgroud)

或者这也是为了显示文件.

find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
Run Code Online (Sandbox Code Playgroud)

但我需要另一个版本,其中还包含文件夹权限.我很丢失,在右侧添加文件夹权限.任何人都有任何想法?

更新: 有任何选项可以绘制文件夹中的文件及其权限.我正在尝试使用此命令find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'并与#fedorqui提供的解决方案结合使用,但结果并不是那么好.

这是使用上述命令获得的结果,没有权限.

| | |____src
| | | |____cft2exit.c
| | | |____cft2exit_AIX
| | | |____cft2exit_SUN
| | | |____gestidt.c
| | | |____gestidt.h
| | | |____gestidt.o
| | | |____gestidt_AIX
| | | |____gestidt_SUN
| | | |____gestidt_SunOS
| | | |____makefile
| | | |____sem.a
| | | |____ut_sem.c
| | | |____ut_sem.h
| | | |____ut_sem.o
| |____data
| | |____purge.dat
| |____lost+found
Run Code Online (Sandbox Code Playgroud)

fed*_*qui 5

你可以执行ls -ld每个结果find.它将为您提供权限,其他内容,然后是文件名.如果你然后管道到awk,awk '{print $NF, $1}'你可以打印两个信息块.最后,你管道到你的sed命令.全部一起:

find . -type d -exec ls -ld {} \; | awk '{print $NF, $1}' | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
Run Code Online (Sandbox Code Playgroud)

测试

$ find . -type d -exec ls -ld {} \; | awk '{print $NF, $1}' | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
. drwxrwxr-x
|____python drwxrwxr-x
| |____jinja2 drwxrwxr-x
| | |____bk drwxrwxr-x
| | |____infiles drwxrwxr-x
.......
Run Code Online (Sandbox Code Playgroud)

小步骤:

$ find . -type d -exec ls -ld {} \;
drwxrwxr-x 7 me me 4096 Aug 15 15:35 .
drwxrwxr-x 3 me me 4096 Aug 13 14:31 ./python
drwxrwxr-x 4 me me 4096 Apr 26 15:14 ./python/jinja2
drwxrwxr-x 2 me me 4096 Apr 19 14:26 ./python/jinja2/bk
drwxrwxr-x 2 me me 4096 Apr 19 12:54 ./python/jinja2/infiles
Run Code Online (Sandbox Code Playgroud)

然后

$ find . -type d -exec ls -ld {} \; | awk '{print $NF, $1}' 
. drwxrwxr-x
./python drwxrwxr-x
./python/jinja2 drwxrwxr-x
./python/jinja2/bk drwxrwxr-x
./python/jinja2/infiles drwxrwxr-x
Run Code Online (Sandbox Code Playgroud)