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

Linux:宛先ディレクトリが存在しない場合は、コピーして作成します

mkdir -p "$d" && cp file "$d"

(cp にはそのようなオプションはありません ).


次の両方に該当する場合:

<オール>
  • GNU バージョンの cp を使用しています (たとえば、Mac 版ではありません)、および
  • 既存のディレクトリ構造からコピーしようとしていますが、再作成する必要があります
  • --parents でこれを行うことができます cp の旗 .情報ページから (http://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html#cp-invocation または info cp で表示可能) または man cp ):

    --parents
         Form the name of each destination file by appending to the target
         directory a slash and the specified name of the source file.  The
         last argument given to `cp' must be the name of an existing
         directory.  For example, the command:
    
              cp --parents a/b/c existing_dir
    
         copies the file `a/b/c' to `existing_dir/a/b/c', creating any
         missing intermediate directories.
    

    例:

    /tmp $ mkdir foo
    /tmp $ mkdir foo/foo
    /tmp $ touch foo/foo/foo.txt
    /tmp $ mkdir bar
    /tmp $ cp --parents foo/foo/foo.txt bar
    /tmp $ ls bar/foo/foo
    foo.txt
    

    Linux
    1. / bin/shが/bin/bashではなく/bin/ dashを指すのはなぜですか?

    2. 「cp」および「mv」コマンドを使用してLinuxでファイルとディレクトリをコピー/移動する方法

    3. Qt が Linux のデバッグ/リリース フォルダーに出力ファイルを作成しない

    1. Python の open() は、ファイルが存在しない場合、ファイルを作成しません。

    2. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?

    3. Linux:/dev/console 、 /dev/tty 、 /dev/tty0 の違い

    1. /tmp と /run の違いは何ですか?

    2. デフォルトの /tmp を /home/user/tmp に変更する方法

    3. /tmp と /var/tmp の違いと正しい使い方