如何在 Mac 上列出文件夹中的所有文件和子目录内容

Finder

是否曾经想不仅查看给定目录中的每个文件,还想查看该目录中隐藏的子目录中的所有文件?如果您要查找的基本上是给定文件夹中文件的递归列表,我们将向您展示一个适用于 Mac OS Finder 的绝妙技巧,让您可以做到这一点,并且还会演示使用命令行的几种更高级的方法.

如何在 Mac OS Finder 中展开所有子目录并列出文件夹内容

要在 Finder 中快速查看文件夹的所有子目录中的内容,请打开父文件夹并更改为列表视图。现在您需要按住 Option 键并单击目录名称旁边的小箭头,以同时展开该目录和所有子目录。

在 OS X Finder 中展开子文件夹

结果是您选择并单击箭头的目录中包含的每个子文件夹也将显示其内容:

Mac OS X 中的递归目录列表

再次按住 Option 键单击该箭头将导致所有子目录关闭,否则单击箭头时它将成为新的默认视图。

请记住,如果您想通过此方法查看隐藏文件,您必须启用隐藏文件将在 Mac OS X Finder 中单独显示,然后将遍历每个文件夹,直到它再次被禁用。

对于大多数用户来说,上述方法将是最简单的方法,接下来的两种方法侧重于命令行,并且针对那些习惯使用终端的人。

从命令行列出所有文件和子目录内容

要从命令行递归列出所有文件,您可以将 -R 标志附加到传统的 ls 命令。这会展开子目录并列出其中包含的文件。这些命令几乎适用于所有形式的 unix,从 Mac OS X 到 Linux 或您可能遇到的任何其他操作系统。

ls -R ~/Desktop/

示例输出看起来像这样:

/Users/macuser/Desktop//wallpapers:
Dark Tower.jpg milky-way.jpg
car.jpg ngc602.jpg
flaming-star-nebula.jpg ngc6188Kfir2000.jpg
windows.jpg m33.jpg
/Users/macuser/Desktop//行程:
volcano.jpeg itenerary.txt tickets.JPG

输出不错,但可以安排得更好。

除了 -R 之外,使用 -lah 标志将显示权限、所有权、修改日期,并且它使读取文件信息变得更加容易。 -a 标志是可选的,也允许显示隐藏文件。

ls -lahR ~/Desktop/

示例输出如下:

/Users/macuser/Desktop/wallpapers:
总计 5464
drwxr-xr-x@ 11 macuser staff 374B Jan 14 15:32 .
drwxr-xr-x 522 macuser 员工 17K Jan 28 10:20 ..
-rw-r--r--@ 1 macuser staff 254K Jan 13 15:44 Dark Tower.jpg
-rw-r--r- -@ 1 名 macuser 员工 101K Jan 14 15:32 cars.jpg
-rw-r--r--@ 1 名 macuser 员工 141K Jan 13 15:44 star-nebula.jpg
-rw-r --r--@ 1 名 macuser 员工 206K Jan 14 09:57 nintendo.jpg
-rw-r--r--@ 1 名 macuser 员工 134K Jan 13 15:44 m33.jpg
-rw -r--r--@ 1 macuser 员工 1.4M Jan 13 15:30 milky-way.jpg
-rw-r--r--@ 1 macuser 员工 153K Jan 13 15:44 ngc602.jpg< br />-rw-r--r--@ 1 macuser staff 194K Jan 13 15:44 windows.jpg
/Users/macuser/Desktop/trip:
总计 360drwxr- xr-x@ 6 macuser 员工 204B Dec 9 13:43 .
drwxr-xr-x 522 macuser 员工 17K Jan 22 10:20 ..
-rw-r--r--@ 1 macuser员工 6.0K Dec 9 13:43 .DS_Store
-rw-r--r--@ 1 macuser 员工 30K Dec 8 12:41 volcano.jpeg
-rw-r--r--@ 1 macuser 员工 45K Dec 8 12:41 itinerary.txt
-rw-r--r--@ 1 macuser 员工 88K Dec 9 12:31 tickets.JPG

您会注意到每个文件的路径都列在文件本身的上方,扩展子目录很像上面提到的 Finder 方法。您可以通过完全使用不同的命令来获取继续文件名的路径。

递归列出所有文件并显示完整目录路径

最后,如果您想要所有文件的列表以及指定的完整路径,您可以转向查找命令。

找到 ~/Desktop/Sample/ -type f

这将转储列表中每个文件的完整路径:

/Users/macuser/Desktop/Sample/x11.jpg
/Users/macuser/Desktop/Sample/Files/alpha-tool-preview.jpg
/Users/macuser/Desktop /Sample/Files/alpha-tool.jpg
/Users/macuser/Desktop/Sample/Files/reveal-editing-tools-preview.jpg
/Users/macuser/Desktop/Sample/Files/save -transparent-png.jpg

如果您希望与某人共享目录列表,find 命令可能会提供更好的结果。在这种情况下,您可以通过在末尾附加 > 来轻松地将输出转储到文件中,如下所示:

查找 /Path/To/List -type f > FilesWithPaths.txt

“-type f”标志仅表示常规文件,如果您想显示更多对象或符号链接,您可以查看手册页以获取更多信息。