TsV Asked: 2018-11-27 06:54:13 +0800 CST2018-11-27 06:54:13 +0800 CST 2018-11-27 06:54:13 +0800 CST 在不存在的子目录中创建文件 (../new_folder/new_folder/new_file.ext) 772 现在我用这个: mkdir -p a/b/c/d/e; touch a/b/c/d/e/file.abc; 有没有更有效的方法? command-line mkdir 3 个回答 Voted mosvy 2018-11-27T18:17:44+08:002018-11-27T18:17:44+08:00 install -D src_file /tmp/a/b/c/d/e/f/g/h/i/dst_file install -Dt /tmp/a/b/c/d/e/f/g/h/i your_file 如果您只想触摸一个空文件: install -D /dev/null /tmp/a/b/c/d/e/f/g/h/i/empty_file 查看install(1)联机帮助页;它具有设置权限、保留时间戳等选项。 Best Answer DopeGhoti 2018-11-27T07:23:14+08:002018-11-27T07:23:14+08:00 就使用的工具而言:没有。 touch如果您尝试在一个不存在的目录中操作,将会失败(正确地),并且mkdir只做一件事:创建目录,而不是普通文件。两种不同的工作需要两种不同的工具。 也就是说,如果您在谈论脚本中的行数或可读性方面的效率,您可以将其放入函数中: seedfile() { mkdir -p "$(dirname "$1")" touch "$1" } seedfile /path/to/location/one/file.txt seedfile /path/to/somewhere/else/file.txt seedfile local/paths/work/too/file.txt affan 2018-11-28T14:39:35+08:002018-11-28T14:39:35+08:00 试试这个: mkdir -p a/b/c/d/e && touch $_/file.abc 永远为我工作。
如果您只想触摸一个空文件:
查看install(1)联机帮助页;它具有设置权限、保留时间戳等选项。
就使用的工具而言:没有。
touch
如果您尝试在一个不存在的目录中操作,将会失败(正确地),并且mkdir
只做一件事:创建目录,而不是普通文件。两种不同的工作需要两种不同的工具。也就是说,如果您在谈论脚本中的行数或可读性方面的效率,您可以将其放入函数中:
试试这个:
mkdir -p a/b/c/d/e && touch $_/file.abc
永远为我工作。