如何在Linux中快速创建嵌套目录内的文件
本简要教程介绍了如何在诸如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