在其中创建目录和文件的一个命令 linux 命令

新手上路,请多包涵

假设我的当前目录是 A 。我想在 B 中创建一个目录 B 和一个文件“myfile.txt”。

如何在终端的一个命令中做到这一点?

编辑:

目录可以嵌套多次。就像我可能想在其中创建 B/C/D 然后“myfile.txt”。我也不想重复目录部分。

以下命令将在任何级别创建目录。

 mkdir -p B/C/D

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

将创建目录和文件。但我不想在 touch 命令之后重复目录部分。那可能吗?

原文由 chanchal118 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 760
2 个回答
mkdir B && touch B/myfile.txt

或者,创建一个函数:

 mkfile() { mkdir -p -- "$1" && touch -- "$1"/"$2" }

使用 2 个参数执行它:创建路径和文件名。说:

 mkfile B/C/D myfile.txt

将在目录 --- 中创建文件 myfile.txt B/C/D

原文由 devnull 发布,翻译遵循 CC BY-SA 3.0 许可协议

为此,您可以创建自己的函数。例如:

 $ echo 'mkfile() { mkdir -p "$(dirname "$1")" && touch "$1" ;  }' >> ~/.bashrc
$ source ~/.bashrc
$ mkfile ./fldr1/fldr2/file.txt

解释:

  • 使用 echo 命令将函数插入到 ~/.bashrc 文件的末尾
  • -p 标志用于创建嵌套文件夹,例如 fldr2
  • 使用 source 命令更新 ~/.bashrc 文件
  • 使用 mkfile 函数创建文件

原文由 Purkhalo Alex 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题