時々、指定されたPATHに「/」が含まれている場合は自動的にディレクトリを作成してファイルを作成、コピーさせたいという事がある。 しかしtouchコマンドやcpでは自動でフォルダを作成することはできないので、通常であればその前にmkdirでディレクトリを作成しておく必要がある。

で、結構面倒だなと思って調べてみたところ、インストール時等にファイルを配置するために使われるinstallコマンドを利用することで、作成するファイルを配置するフォルダが無かったら自動で作成することができると知ったので、備忘で残しておく。

install -D /コピー元PATH /コピー先PATH
install -m 644 -D /コピー元PATH /コピー先PATH # -mでModeを指定できる

[root@BS-PUB-CENT7-01 ~]# ls -la ./path/to/test
ls: ./path/to/test にアクセスできません: そのようなファイルやディレクトリはありません
[root@BS-PUB-CENT7-01 ~]# install -m 644 -D /dev/null ./path/to/test
[root@BS-PUB-CENT7-01 ~]# ls -la ./path/to/test
-rw-r--r--. 1 root root 0  1月 29 08:08 ./path/to/test

おお、今まで知らなかったけどこれは便利だ。