youhaodiyi 发表于 2006-8-16 11:05:01

关于ls命令的问题

根据ls的man帮助,-d参数应该是显示当前目录下的所有目录,但是我输入
ls -d
后,只显示了一个".", 这是为什么? 如何显示当前目录下的所有目录?

gucuiwen 发表于 2006-8-16 12:54:18

假设some_dir是一个目录

ls -d some_dir
显示some_dir本身

ls some_dir
显示some_dir下的内容

单纯的在一个目录下ls -d
这和仅仅ls 没什么区别

如果要显示一个目录下的所有子目录ls 没有选项完成这个功能,
需要和其他命令联用,比如:

ls -l |grep ^d

就可以显示一个目录下的所有子目录.

ls -l|grep ^l

显示一个目录下的所有符号联接

youhaodiyi 发表于 2006-8-16 13:26:00

如果这样子的话,会显示所有目录的详细信息,我想以每行显示好几个目录那样,就像ls命令显示的格式那样,行不行?

gucuiwen 发表于 2006-8-16 18:37:34

在加上 awk 就可以了.就是复杂了点:

ls -l |grep ^d |awk '{print $9}'

或者再复杂点,这样:
ls -l |grep ^d |awk '{print $9}' |xargs ls -d

还可以这样试试:
ls -F |grep \/$

youhaodiyi 发表于 2006-8-17 17:03:49

awk实干什么用的

xjzhv 发表于 2006-8-18 11:13:05

awk实干什么用的
进入Linux输入man awk
或者google awk
或者直接冲到书店图书馆什么的翻书查
哈哈!

xjzhv 发表于 2006-8-18 11:17:46

awk实干什么用的
进入Linux输入man awk
或者google awk
或者直接冲到书店图书馆什么的翻书查
哈哈!

P4 发表于 2006-8-19 19:31:20

zsh :P

ls *(/) -d

P4 发表于 2006-8-19 19:41:48

如果不想显示以.开头的隐藏目录

ls ^.*(/) -d

youhaodiyi 发表于 2006-8-19 21:21:49

能不能解释一下 (/)的意思

P4 发表于 2006-8-19 22:33:14

这个只在zsh中有效,称为Glob Qualifiers,/代表目录。
页: [1]
查看完整版本: 关于ls命令的问题