我知道这mkdir -p /path/to/new/directory
将创建一个新目录以及父目录(如果需要)。
如果我必须创建一个新文件及其父目录(其中部分或全部父目录不存在),我可以使用mkdir -p /path/to/directory && touch /path/to/directory/NEWFILE
.但是,还有其他命令可以实现此目的吗?
答案1
AFAIK,没有这样的标准,但你可以自己做:
ptouch() {
for p do
_dir="$(dirname -- "$p")"
mkdir -p -- "$_dir" &&
touch -- "$p"
done
}
然后你可以这样做:
ptouch /path/to/directory/file1 /path/to/directory/fil2 ...
答案2
有些系统有一个install
命令可以被告知创建丢失的路径组件。
随着 GNU 的实现install
,
install -DTm644 /dev/null foo/bar/baz
将创建一个baz
具有权限 0644 的空常规文件,如果丢失,将创建foo
和foo/bar
目录(无论 umask 为何,权限为 0755)。