如何仅列出Linux中的目录

时间:2020-03-05 15:28:27  来源:igfitidea点击:

Linux中的LS命令用于列出目录中的文件和目录。
但如果我们希望仅使用ls命令列出目录,那么选项是什么?

我们了解如何使用命令链接(使用管道)来查看给定目录中存在的目录。

在本教程中,将介绍许多方法仅在Linux中列出目录。

使用通配符的目录

最简单的方法是使用通配符。
所有目录都以前斜杠结束。

$ls -d */
Desktop/Downloads/looped/Music/orb.db/Pictures/Templates/Videos/Virus/
Documents/jvm/mounts/netbeans-6.9/PacketTracer5/Public/Ubuntu One/VirtualBox VMs/

对于长短列表,只需添加-l选项。

$ls -ld */
drwxr-xr-x 4 raghu raghu 4096 2012-09-27 23:50 Desktop/
drwxr-xr-x 13 raghu raghu 4096 2012-09-16 13:22 Documents/
drwxr-xr-x 5 raghu raghu 4096 2012-09-28 15:01 Downloads/
drwxr-xr-x 2 raghu raghu 4096 2012-03-27 10:48 jvm/
drwxr-xr-x 2 raghu raghu 4096 2011-10-29 13:02 looped/
drwxr-xr-x 2 root root 4096 2011-11-15 01:23 mounts/
drwxr-xr-x 2 raghu raghu 4096 2011-10-26 16:03 Music/
drwxr-xr-x 12 raghu raghu 4096 2012-01-24 19:29 netbeans-6.9/
drwxr-xr-x 3 raghu raghu 4096 2012-04-17 12:23 orb.db/
drwxr-xr-x 4 raghu raghu 4096 2011-11-16 13:03 PacketTracer5/
drwxr-xr-x 5 raghu raghu 4096 2012-07-16 11:41 Pictures/

使用-f选项和grep

-f选项添加尾随斜杠。
因此,我们只能通过以前向斜杠(/)结尾的'Grep'ING线路Grep The目录。

$ls -lF | grep \/$
drwxr-xr-x 4 raghu raghu 4096 2012-09-27 23:50 Desktop/
drwxr-xr-x 13 raghu raghu 4096 2012-09-16 13:22 Documents/
drwxr-xr-x 5 raghu raghu 4096 2012-09-28 15:01 Downloads/
drwxr-xr-x 2 raghu raghu 4096 2012-03-27 10:48 jvm/
drwxr-xr-x 2 raghu raghu 4096 2011-10-29 13:02 looped/
drwxr-xr-x 2 root root 4096 2011-11-15 01:23 mounts/
drwxr-xr-x 2 raghu raghu 4096 2011-10-26 16:03 Music/
drwxr-xr-x 12 raghu raghu 4096 2012-01-24 19:29 netbeans-6.9/
drwxr-xr-x 3 raghu raghu 4096 2012-04-17 12:23 orb.db/
drwxr-xr-x 4 raghu raghu 4096 2011-11-16 13:03 PacketTracer5/
drwxr-xr-x 5 raghu raghu 4096 2012-07-16 11:41 Pictures/

或者只是只有目录名称,没有-l选项,

$ls -F | grep \/$
Desktop/
Documents/
Downloads/
jvm/
looped/
mounts/
Music/
netbeans-6.9/
orb.db/
PacketTracer5/
Pictures/

使用-l选项和grep

在LS I.E.1S -L的长列表中,我们可以以'D’开始的线路。

$ls -l | grep ^d
drwxr-xr-x 4 raghu raghu 4096 2012-09-27 23:50 Desktop
drwxr-xr-x 13 raghu raghu 4096 2012-09-16 13:22 Documents
drwxr-xr-x 5 raghu raghu 4096 2012-09-28 15:01 Downloads
drwxr-xr-x 2 raghu raghu 4096 2012-03-27 10:48 jvm
drwxr-xr-x 2 raghu raghu 4096 2011-10-29 13:02 looped
drwxr-xr-x 2 root root 4096 2011-11-15 01:23 mounts
drwxr-xr-x 2 raghu raghu 4096 2011-10-26 16:03 Music

我们可以通过仅打印最后一个列来提取文件名。

$ls -l | grep ^d | awk '{print ,}'
Desktop
Documents
Downloads
jvm
looped
mounts
Music

使用echo命令

我们可以使用echo命令列出前向斜杠(/)尾随的条目。

$echo */
Desktop/Documents/Downloads/jvm/looped/mounts/Music/netbeans-6.9/orb.db/PacketTracer5/Pictures/

使用printf.

类似地,PrintF可用于突出显示以前向斜杠(/)结尾的字符串。

$printf '%s\n' */
Desktop/
Documents/
Downloads/
jvm/
looped/
mounts/

使用find命令

我们总是可以使用find命令根据其文件类型找到文件:

$find . -maxdepth 1 -type d
.
./.netbeans-registration
./.gvfs
./.shotwell
./.gegl-0.0
./.cache
./.ssh
./VirtualBox VMs
./.mission-control
./.gnome2
./.jedit
./.config
./mounts

上面命令中的maxdepth选项指定仅在指定的目录中执行搜索。
否则,通过遍历每个目录及其子目录,查找命令将递归地找到目录。

此外,在此命令中,还显示了隐藏的目录。
在使用LS命令的所有上述方法中,通过-a选项可以实现相同的方法。
例如,

$ls -laF | grep \/$
drwxr-xr-x 60 raghu raghu 4096 2012-09-28 20:18 ./
drwxr-xr-x. 6 root root 4096 2012-06-25 01:08 ../
drwx------ 3 raghu raghu 4096 2011-10-29 14:04 .adobe/
drwx------ 28 raghu raghu 4096 2012-09-28 20:07 .cache/
drwx------ 3 raghu raghu 4096 2011-10-26 16:06 .compiz/
drwxr-xr-x 26 raghu raghu 4096 2012-09-27 00:20 .config/
drwx------ 3 raghu raghu 4096 2011-10-26 16:03 .dbus/
drwxr-xr-x 4 raghu raghu 4096 2012-09-27 23:50 Desktop/
drwxr-xr-x 13 raghu raghu 4096 2012-09-16 13:22 Documents/
drwxr-xr-x 5 raghu raghu 4096 2012-09-28 15:01 Downloads/
drwxr-xr-x 7 raghu raghu 4096 2012-09-15 23:21 .drpython/
drwxr-xr-x 2 raghu raghu 4096 2012-09-10 14:28 .fontconfig/
drwx------ 5 raghu raghu 4096 2012-09-28 20:07 .gconf/
drwx------ 2 raghu raghu 4096 2012-09-28 23:10 .gconfd/
drwx------ 4 raghu raghu 4096 2011-11-26 20:23 .gegl-0.0/
drwxr-xr-x 22 raghu raghu 4096 2012-09-27 01:44 .gimp-2.6/
drwx------ 11 raghu raghu 4096 2012-09-22 05:23 .gnome2/

或者

$ls -la | grep ^d
drwxr-xr-x 60 raghu raghu 4096 2012-09-28 20:18 .
drwxr-xr-x. 6 root root 4096 2012-06-25 01:08 ..
drwx------ 3 raghu raghu 4096 2011-10-29 14:04 .adobe
drwx------ 28 raghu raghu 4096 2012-09-28 20:07 .cache
drwx------ 3 raghu raghu 4096 2011-10-26 16:06 .compiz
drwxr-xr-x 26 raghu raghu 4096 2012-09-27 00:20 .config
drwx------ 3 raghu raghu 4096 2011-10-26 16:03 .dbus
drwxr-xr-x 4 raghu raghu 4096 2012-09-27 23:50 Desktop
drwxr-xr-x 13 raghu raghu 4096 2012-09-16 13:22 Documents
drwxr-xr-x 5 raghu raghu 4096 2012-09-28 15:01 Downloads
drwxr-xr-x 7 raghu raghu 4096 2012-09-15 23:21 .drpython