如何在Linux中快速创建嵌套目录内的文件

时间:2020-03-21 11:46:43  来源:igfitidea点击:

本简要教程介绍了如何在诸如UNIX的操作系统中快速创建嵌套目录内的文件。
这很容易,不是吗?
是的,我们可以使用"mkdir"目录创建多个目录和/或者目录中的目录的层次结构。
并且,我们也可以使用"touch"命令创建多个文件。

通常,我们使用命令创建多个目录:

$mkdir dir1 dir2 dir3 dir4 dir5

或者,

$mkdir dir{1,2,3,4,5}

正确的?
是的,我们这样做。

并且,我们创建目录(嵌套目录)的层次结构,如下所示。

$mkdir -p dir1/dir2/dir3/dir4/dir5

如果未创建,则"-p"标志将创建父目录。
如果我们还要在创建时查看目录创建过程,请使用如下所示的"-v"标志。

$mkdir -pv dir1/dir2/dir3/dir4/dir5

上面的命令将在不存在的目录内递归递归地创建目录。
我们可以使用"树"命令查看目录结构。

$tree dir1/
dir1/
└── dir2
 └── dir3
 └── dir4
 └── dir5
4 directories, 0 files

正如我们所看到的,Dir1是它内部所有其他目录的父目录。
DIR1中的目录称为DIR1的子目录和后续目录的父目录。
要简单地说明,DIR1是所有的父目录。
dir2是dir3等dir1和父目录的子目录。

可以使用下面的"LS"命令查看目录的新层次结构的内容:

$ls -R dir1/
dir1/:
dir2
dir1/dir2:
dir3
dir1/dir2/dir3:
dir4
dir1/dir2/dir3/dir4:
dir5
dir1/dir2/dir3/dir4/dir5:

我们还可以使用'du'命令显示目录树。

$du dir1/
4 dir1/dir2/dir3/dir4/dir5
8 dir1/dir2/dir3/dir4
12 dir1/dir2/dir3
16 dir1/dir2
20 dir1/

我们现在知道如何轻松创建目录的多个目录和层次结构。
像Wise一样,我们可以使用命令一次创建多个文件:

$touch file1.txt file2.txt file3.txt file4.txt file5.txt

要在现有嵌套目录下创建文件,我们使用:

$touch dir1/dir2/dir3/file3.txt

现在Dir3有两个项目,例如:dir4和file3.txt。
我们可以使用命令验证它:

$ls dir1/dir2/dir3/

或者,

$ls -R dir1/

上述命令的示例输出:

dir1/:
dir2
dir1/dir2:
dir3
dir1/dir2/dir3:
dir4 file3.txt
dir1/dir2/dir3/dir4:
dir5
dir1/dir2/dir3/dir4/dir5:

请注意,我们无法使用"触摸"命令在不存在目录下创建文件。
我们应该首先创建目录,然后创建文件。

正如我们在上面的示例中看到的,创建多个文件和目录并非很难。
我们可以使用如上所述的一些单线命令进行。
但是,我想介绍另一个名为"终端 - advancednewfile"的简单脚本或者短暂的"AD"。
它使得创建倍数文件和目录的过程比使用"触摸"和"MKDIR"命令更快更容易。

git clone 'AD'存储库:

$git clone https://github.com/tanrax/terminal-AdvancedNewFile.git

此命令克隆名为"terminal-advancednewfile"的文件夹中的所有内容'AD'存储库。

转到该目录并将脚本复制到本地BIN /文件夹。

$cd terminal-AdvancedNewFile/
$sudo cp bin/advance /usr/local/bin/ad

最后,使用命令进行可执行操作:

$sudo chmod +x /usr/local/bin/ad

或者,我们可以使用如下所示的PIP包管理器安装它。

$pip3 install --user advance-touch

要更新它,请运行:

$pip3 install --user --upgrade advance-touch

完毕!是时候测试它了。
让我们创建目录的层次结构。

$ad dir1/dir2/dir3/dir4/dir5

只需在每个目录后使用/(正斜杠)来创建任意数量的嵌套目录。
这很简单。

我想在DIAR5中创建一个名为file5的文件。
怎么做?
这将是!

$ad dir1/dir2/dir3/dir4/dir5/file5

你注意到了吗?
我没有将任何扩展名指定给File5.
如果使用MKDIR命令执行相同的进程,则它将创建一个名为file5的目录。
但是,AD会自动从文件名(file5)识别,并创建文件即使我没有指定扩展名。
如果没有AD实用程序,我们必须使用'mkdir'命令创建目录,然后使用'touch'命令创建文件,如下所示。

$mkdir -p dir1/dir2/dir3/dir4/dir5
$touch dir1/dir2/dir3/dir4/dir5/file5.txt

或者,将两个命令组合为单个命令,如下图所示:

$mkdir -p dir1/dir2/dir3/dir4/dir5 && touch dir1/dir2/dir3/dir4/dir5/file5.txt