递归创建嵌套目录结构 & 使用单个命令创建所有子文件夹

Anonim

可以通过命令行立即创建一系列相互嵌套的目录。这使得立即递归地在子文件夹的子文件夹中创建文件夹的复杂目录结构变得非常容易,而无需手动导航到每个目录以创建新目录,然后再次导航到该子目录以创建另一个目录,等等.相反,命令行技巧将一举创建完整的中间目录路径。

以简单的方式构建嵌套目录结构需要使用熟悉的 mkdir 命令,该命令通常用于创建单个新文件夹,但附加 -p 标志以指定完整路径去创造。如果您想自己尝试,请启动 /Applications/Utilities/ 文件夹中的终端应用程序,然后继续查看如何使用 mkdir -p 使用指定路径在单个命令行中构建一系列目录。

通过指定路径递归创建目录结构

最简单的形式,你只需像这样指定路径到mkdir:

mkdir -p /path/to/make/

-p 标志确保所有子文件夹都在适当的位置递归生成。

举个例子,假设我们要创建的嵌套目录路径是“/Create/These/Folders/Within/Each/Other/”,而这些文件夹或子文件夹目前都不存在。要立即制作它们,只需使用以下命令字符串:

mkdir -p ~/Create/These/Folders/Within/Each/Other/

这将使“Create”文件夹成为父目录,然后是完整系列的“/These/Folders/Within/Each/Other/”作为适当嵌套的子目录。

您可以指定任意长度的路径,它会立即创建父目录和所有中间子目录。

验证目录和所有子文件夹均已创建

通过使用“查找”命令快速仔细检查所有目录是否已构建以及一切是否按预期工作:

find(父目录)-type d -print

再次使用上面的例子,查找命令将是这样的:

find ~/Create/ -type d -print

此命令的输出类似于以下内容,从父目录递归列出所有子文件夹:

$ find ~/Create -t​​ype d -print /Create /Create/These /Create/These/Folders /Create/These/Folders/Within /Create/这些/Folders/Within/Each /Create/These/Folders/Within/Each/Other

当然,您也可以转向Finder 来验证是否已经构建了一个复杂的文件夹结构,也许最容易从“列表”视图中查看,然后使用三角形递归地打开每个子目录和显示它的内容,看起来像下面这样:

(请注意,由于所有隐藏文件都可见,所以显示了.DS_Store 文件)

这是一个非常有用的技巧,我们在一段时间前作为一些有用的命令行技巧的一部分进行了介绍,但考虑到它的便利性,它本身非常值得介绍。

是的,使用终端是迄今为止完成此操作的最快方法,因为没有类似的技巧专门针对 Mac Finder,尽管理论上可以通过操作系统中的 Automator 应用程序自动创建嵌套目录X 如果需要的话。就其价值而言,mkdir 命令在 Mac OS X 和 Linux 中的工作方式相同,因此您可以根据需要跨平台使用它。想要更多命令行技巧吗?我们为您服务。

递归创建嵌套目录结构 & 使用单个命令创建所有子文件夹