Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Linux创建嵌套目录和文件_Linux - Fatal编程技术网

使用Linux创建嵌套目录和文件

使用Linux创建嵌套目录和文件,linux,Linux,我想使用linux命令创建父文件夹、子文件夹和孙子文件夹。因此,父文件夹将是音乐。在音乐文件夹中,我有两个文件夹,分别是摇滚乐和古典乐。在摇滚乐里面我想有两个txt文件,朋克和哥特式,在古典乐里面我想有两个txt文件,巴洛克和早期。如何在没有“cd”命令的情况下制作这些。我曾考虑使用“mv”命令,但除了逐个移动文件之外,还有其他更好的方法吗?我把图表放在下图中。谢谢 您可以提供根文件夹的完整路径。然后,您不需要在任何目录中插入cd user@user-Inspiron:~$ mkdir root

我想使用linux命令创建父文件夹、子文件夹和孙子文件夹。因此,父文件夹将是音乐。在音乐文件夹中,我有两个文件夹,分别是摇滚乐和古典乐。在摇滚乐里面我想有两个txt文件,朋克和哥特式,在古典乐里面我想有两个txt文件,巴洛克和早期。如何在没有“cd”命令的情况下制作这些。我曾考虑使用“mv”命令,但除了逐个移动文件之外,还有其他更好的方法吗?我把图表放在下图中。谢谢


您可以提供根文件夹的完整路径。然后,您不需要在任何目录中插入
cd

user@user-Inspiron:~$ mkdir root_music
user@user-Inspiron:~$ mkdir root_music/category1
user@user-Inspiron:~$ mkdir root_music/category2
user@user-Inspiron:~$ touch  root_music/category1/f1.txt
user@user-Inspiron:~$ touch  root_music/category1/f2.txt
user@user-Inspiron:~$ touch  root_music/category2/f1.txt
user@user-Inspiron:~$ touch  root_music/category2/f2.txt
这给了你:

user@user-Inspiron:~$ tree root_music/
root_music/
├── category1
│   ├── f1.txt
│   └── f2.txt
└── category2
    ├── f1.txt
    └── f2.txt

2 directories, 4 files


您可以提供根文件夹的完整路径。然后,您不需要在任何目录中插入
cd

user@user-Inspiron:~$ mkdir root_music
user@user-Inspiron:~$ mkdir root_music/category1
user@user-Inspiron:~$ mkdir root_music/category2
user@user-Inspiron:~$ touch  root_music/category1/f1.txt
user@user-Inspiron:~$ touch  root_music/category1/f2.txt
user@user-Inspiron:~$ touch  root_music/category2/f1.txt
user@user-Inspiron:~$ touch  root_music/category2/f2.txt
这给了你:

user@user-Inspiron:~$ tree root_music/
root_music/
├── category1
│   ├── f1.txt
│   └── f2.txt
└── category2
    ├── f1.txt
    └── f2.txt

2 directories, 4 files


这假设您使用的是
bash
,或者其他支持
{}
符号的shell:

mkdir -p music/{rock/{punk,goth},classical/{baroque,early}}
如果你想的话,可以使用所有的帽子,但这似乎太过分了

--编辑--

在上面,我错误地认为
朋克
哥特
等应该被创建为目录。如果希望它们是文件(没有内容),可以执行以下操作:

mkdir -p music/{rock,classical}
touch music/{rock/{punk,goth},classical/{baroque,early}}

不过,触摸
似乎有些奇怪。最好在您实际提供内容之前延迟创建文件。

这假设您使用的是
bash
,或者其他支持
{}
符号的shell:

mkdir -p music/{rock/{punk,goth},classical/{baroque,early}}
如果你想的话,可以使用所有的帽子,但这似乎太过分了

--编辑--

在上面,我错误地认为
朋克
哥特
等应该被创建为目录。如果希望它们是文件(没有内容),可以执行以下操作:

mkdir -p music/{rock,classical}
touch music/{rock/{punk,goth},classical/{baroque,early}}
不过,触摸
似乎有些奇怪。最好在您实际提供内容之前延迟创建文件。

我认为答案与您的问题更相关

mkdir -p B && touch B/myfile.txt
我认为答案与你的问题更相关

mkdir -p B && touch B/myfile.txt

我的想法完全正确。但OP要求将叶子作为常规文件。有什么比创建一个函数
touch-p
更好的主意吗?该函数在参数的dirname上调用
mkdir-p
,然后在参数本身上调用
touch
?@raphinesse啊,我没有注意到
punk
goth
,等等都是常规文件
touch
可能不是正确的做法,因为我认为这些文件实际上将包含内容。我想说,它们应该由OP用来生成内容的任何机制创建。我的想法正是如此。但OP要求将叶子作为常规文件。有什么比创建一个函数
touch-p
更好的主意吗?该函数在参数的dirname上调用
mkdir-p
,然后在参数本身上调用
touch
?@raphinesse啊,我没有注意到
punk
goth
,等等都是常规文件
touch
可能不是正确的做法,因为我认为这些文件实际上将包含内容。我想说,它们应该由OP用来生成内容的任何机制创建。