Linux命令如何显示当前目录的子目录

・2 分钟阅读

前几天一位朋友问我,在一个UNIX Linux或Mac OS X系统上,是否有什么简单的方法可以列出当前目录的所有子目录,答案是,你要做的就是:

ls -al | grep '^d'

这个ls命令的工作原理是首先在当前目录中生成所有文件(-a)的长列表(-l选项),然后使用grep命令仅显示以字母'd 开头的那些行, '(命令的^d部分,其中^部分特别表示"行"开头)。

因为unix/Linux系统上的目录总是列在第一列中的字母'd'中。

在苹果机的主目录中,此命令的输出如下所示:

drwxr-xr-x 53 al al 1802 Jul 13 12:49 .
drwxrwxr-t 6 root admin 204 Jul 2 18:13 ..
drwx------ 11 al al 374 Jul 12 21:35 .Trash
drwx------ 43 al al 1462 Jul 12 21:35 Desktop
drwx------ 14 al al 476 May 12 20:07 Documents
drwxr-xr-x 8 al al 272 Feb 25 17:29 GarageBandProjects
drwx------ 34 al al 1156 Mar 25 10:07 Library
drwx------ 4 al al 136 Dec 28 2006 Movies
drwx------ 8 al al 272 Dec 28 2006 Music
drwx------ 106 al al 3604 Jul 11 10:59 Pictures
drwxr-xr-x 5 al al 170 Apr 1 2006 Public
drwxr-xr-x 12 al al 408 Jun 30 22:48 Reference
drwxr-xr-x 20 al al 680 Jul 10 17:32 Sites
drwxr-xr-x 13 al al 442 Jul 1 18:25 Xfer
drwxr-xr-x 6 al al 204 Mar 18 12:17 bin

从第一列(开始"drwx")中可以看到,打印的每一行实际上都是一个目录。

Syq2803 profile image