GNU/Linux >> Belajar Linux >  >> Linux

Linux:salin dan buat dir tujuan jika tidak ada

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

(tidak ada pilihan untuk cp ).


Jika kedua hal berikut ini benar:

  1. Anda menggunakan cp versi GNU (dan bukan, misalnya, versi Mac), dan
  2. Anda menyalin dari beberapa struktur direktori yang ada dan Anda hanya perlu membuatnya ulang

maka Anda dapat melakukannya dengan --parents bendera cp . Dari halaman info (dapat dilihat di http://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html#cp-invocation atau dengan info cp atau 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.

Contoh:

/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. Linux:Perbedaan Antara /dev/console , /dev/tty Dan /dev/tty0?

  2. Linux – Menggabungkan /usr/bin Dan /usr/sbin Ke /bin (gnu/linux)?

  3. Apa perbedaan antara /tmp dan /run?

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Bash =~ Regex Dan Https://regex101.com/?

  3. Seberapa Portabel /dev/stdin, /dev/stdout Dan /dev/stderr?

  1. Mengapa /bin/sh Menunjuk Ke /bin/dash Dan Bukan /bin/bash??

  2. UNIX / Linux :Apa izin yang benar dari direktori /tmp dan /var/tmp?

  3. Cara Menyalin / Memindahkan File dan Direktori di Linux dengan perintah "cp" dan "mv"