繁体   English   中英

如何在Linux中的多个目录中创建文件?

[英]How to create a file in multiple directories in Linux?

我只是在Linux中练习这个,但我想知道如何使用touch来创建一个空文件并将其存在于多个目录中。

例如,我有一个像followng一样的目录布局:

~/main
~/main/submain1
~/main/submain2
.
.
.
~/main/submainN

如何让touch创建的文件存在于所有子submain目录中? 我的第一个想法是有一个循环使用cd访问每个目录并在每次迭代时调用touch命令。 我想知道是否有更优雅的解决方案?

那这个呢:

find . -type d -exec touch {}/hiya \;

这适用于任何深度级别的目录。

说明

find . -type d -exec touch {}/hiya \;
  • find . -type d find . -type d - >搜索目录结构中的目录。
  • -exec touch {}/hiya \\; - >给出每个结果,其值存储在{} 因此, touch {}/hiya我们所做的就是触摸“某事”/ hiya。 最后的\\; execfind子句中是必需的。

find用法的另一个例子:

find . -type d -exec ls {} \;

测试

$ mkdir a1
$ mkdir a2
$ mkdir a3
$ mkdir a1/a3

检查目录:

$ find . -type d
.
./a2
./a1
./a1/a3
./a3

触摸文件

$ find . -type d -exec touch {}/hiya \;

寻找他们:

$ find . -type f
./a2/hiya
./hiya
./a1/hiya
./a1/a3/hiya
./a3/hiya

文件/目录的总列表是:

$ find .
.
./a2
./a2/hiya
./hiya
./a1
./a1/hiya
./a1/a3
./a1/a3/hiya
./a3
./a3/hiya

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM