仅列出UNIX中的目录

我只想列出指定path中的目录( ls没有这个选项)。 另外,这可以用一个单行命令来完成吗?

试试这个ls -d */来列出当前目录中的目录

尝试这个:

 find . -maxdepth 1 -type d 

下列

 find * -maxdepth 0 -type d 

基本上是通过-type d条件来过滤“*”的扩展,即当前目录中的所有条目。

好处是,输出与ls -1 *相同,但只有目录和条目不以点开始

您可以使用ls -d */tree -d

另一个解决scheme是globbing,但是这取决于你正在使用的shell,如果支持目录的globbing。

比如ZSH:

 zsh # ls *(/) 
 find . -maxdepth 1 -type d -name [^\.]\* | sed 's:^\./::' 

由于有几十种方法可以做到这一点,下面是另外一种方法:

 tree -d -L 1 -i --noreport 
  • -d:目录
  • -L:树的深度(因此1,我们的工作目录)
  • -i:没有缩进,只打印名字
  • –noreport:不要在树列表末尾报告信息

答案取决于你的shell

例如,在zsh ,您可以执行以下操作:

 echo *(/) 

并显示当前工作目录内的所有目录。

请参阅man zshexpn以获取更多信息。

另一种方法是使用find(1) ,它应该适用于大多数Unix版本:

 find . -maxdepth 1 -type d -print 

find(1)有很多用途,所以我肯定会推荐man find

 ls -l | grep '^d' 

您可以制作别名并将其放入configuration文件中

 alias ld="ls -l| grep '^d'" 

您可以使用带有d开关的tree命令来完成此操作。

 % tree -d tstdir tstdir |-- d1 | `-- d11 | `-- d111 `-- d2 `-- d21 `-- d211 6 directories 

man tree更多的信息。

用这个来获取目录的列表

 ls -d */ | sed -e "s/\///g" 

find specifiedpath -type d

如果你不想在子目录中recursion,你可以这样做:

find specifiedpath -type d -mindepth 1 -maxdepth 1

请注意,“dot”目录(其名称以.开始)也将列出; 但不是特殊的目录. 也没有.. 如果你不想要“点”目录,你可以grep它们:

find specifiedpath -type d -mindepth 1 -maxdepth 1 | grep -v '^\.'

为了列出当前工作目录中的目录,可以使用ls -d */ 。 如果你需要列出隐藏的目录,使用这个命令ls -d .*/

如果我有这个目录:

ls -l

 lrwxrwxrwx 1 nagios nagios 11 août 2 18:46 conf_nagios -> /etc/icinga -rw------- 1 nagios nagios 724930 août 15 21:00 dead.letter -rw-r--r-- 1 nagios nagios 12312 août 23 00:13 icinga.log -rw-r--r-- 1 nagios nagios 8323 août 23 00:12 icinga.log.gz drwxr-xr-x 2 nagios nagios 4096 août 23 16:36 tmp 

要获取所有目录,请使用-Lparsing链接:

ls -lL | grep '^d'

 drwxr-xr-x 5 nagios nagios 4096 août 15 21:22 conf_nagios drwxr-xr-x 2 nagios nagios 4096 août 23 16:41 tmp 

没有-L:

ls -l | grep '^d'

 drwxr-xr-x 2 nagios nagios 4096 août 23 16:41 tmp 

conf_nagios目录缺失。

这一直在为我工作:

 `ls -F | grep /` 

(但是,我正在切换到echo */由@nos提到)

 ### If you need full path of dir and list selective dir with "name" of dir(or dir_prefix*): find $(pwd) -maxdepth 1 -type d -name "SL*"