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

cha*_*118 24 linux command-line

假设我的当前目录是一个.我想创建一个目录和文件"myfile.txt的"内部.

如何在终端的一个命令中执行此操作?

编辑:

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

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

mkdir -p B/C/D 
Run Code Online (Sandbox Code Playgroud)

mkdir -p B/C/D && touch B/C/D/myfile.txt
Run Code Online (Sandbox Code Playgroud)

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

dev*_*ull 32

mkdir B && touch B/myfile.txt
Run Code Online (Sandbox Code Playgroud)

或者,创建一个函数:

mkfile() { mkdir -p -- "$1" && touch -- "$1"/"$2" }
Run Code Online (Sandbox Code Playgroud)

用2个参数执行它:create to path和filename.他说:

mkfile B/C/D myfile.txt
Run Code Online (Sandbox Code Playgroud)

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


Pur*_*lex 9

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

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

解释:

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