GNU/Linux >> Linux の 問題 >  >> Linux

ファイルをコピーすると同時にターゲットディレクトリを作成するにはどうすればよいですか?

cp aaa/deep/sea/blob.psdをしたい bbb/deep/sea/blob.psd

deepの場合、どうすればコピーできますか およびsea bbbの下にディレクトリが存在しません コピーにより、必要なディレクトリが作成され、ファイルがコピーされますか?

現在、
No such file or directory 深海は存在しないので。

男のヘルプページやその他の質問を調べましたが、何も飛び出しません。

私が持っている最も近いものは、rcpを使用することです ディレクトリの場合:

rcp -r aaa/deep/sea/ bbb/deep/sea/

これはディレクトリ全体とコンテンツをコピーするので、1つのファイルだけが必要です。ただし、これを実行しようとすると、cp: cannot create regular file bbb/deep/sea/blob.psd' such file or directory

承認された回答:

そのような状況では、そのような次の関数を使用してみてください:

copy_wdir() { mkdir -p -- "$(dirname -- "$2")" && cp -- "$1" "$2" ; }

として使用します
copy_wdir aaa/deep/sea/blob.psd bbb/deep/sea/blob.psd

ちなみに、GNU cp --parentsがあります オプション。それはあなたが望むものに本当に近いですが、正確ではありません。
aaaも作成します 必要ないと思われるディレクトリ。ただし、最初にaaaにCDを挿入できます 次のようにコピーします:

cd aaa && cp --parents deep/sea/blob.psd ../bbb/

Linux
  1. ファイルをコピーし、所有権、権限を同時に変更する方法

  2. Stdoutに出力し、同時にGrepをファイルに出力しますか?

  3. BTRFS ファイル システムを作成してクエリを実行する方法

  1. gnu cp コマンドを使用して複数のディレクトリにファイルをコピーする方法

  2. コピーと chmod/chown を同時に行う

  3. Linux:ファイルを入力と出力として同時に使用する方法は?

  1. デフォルトのWordPress.htaccessファイルを作成および編集する方法

  2. Pythonで現在の日付と時刻を取得する方法

  3. ping と tcpdump を同時に行う