LoginSignup
10

More than 3 years have passed since last update.

[Linux][Mac]cpで階層構造を保ったままコピーしたい

Posted at

したいこと

/etc/nginx/nginx.conf./etc/nginx/nginx.conf にコピーしたい

またこのとき ./etc./etc/nginx もそれぞれ存在しなかったとしてもいい感じにディレクトリを作ってコピーしてきたいとします。

どうするか

Linux 環境

cp --parents -v /etc/nginx/nginx.conf ./
# つまり
cp --parents -v ${コピーしたい元ファイルのフルパス} ${コピー先のディレクトリ}

とすることで階層構造を持ったままコピー出来るようです。

ただし、Mac の cp コマンドではこのオプションは存在しませんでした。ではどうするのか

Mac 環境

rsync -R /etc/nginx/nginx.conf ./
# つまり
rsync -R ${コピーしたい元ファイルのフルパス} ${コピー先のディレクトリ}

rsync -R を使うことで出来るようです。

まとめ

rsync -R であればどちらでも使えそうなのでこれを使うのが良さそうですね。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10