GNU/Linux >> Tutoriels Linux >  >> Linux

Linux :copiez et créez le répertoire de destination s'il n'existe pas

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

(il n'y a pas une telle option pour cp ).


Si les deux conditions suivantes sont vraies :

  1. Vous utilisez la version GNU de cp (et non, par exemple, la version Mac), et
  2. Vous copiez à partir d'une structure de répertoires existante et vous avez juste besoin de la recréer

alors vous pouvez le faire avec le --parents drapeau de cp . Depuis la page d'informations (affichable sur http://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html#cp-invocation ou avec info cp ou 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.

Exemple :

/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. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Linux :Différence entre /dev/console , /dev/tty et /dev/tty0 ?

  3. Bash =~ Regex et Https://regex101.com/?

  4. Quelle est la portabilité de /dev/stdin, /dev/stdout et /dev/stderr ?

  5. Linux – Fusionner /usr/bin et /usr/sbin dans /bin (gnu/linux) ?

Répertoire Linux tmp :tout ce que vous devez savoir

Comment supprimer des fichiers et des répertoires sous Linux

Linux – /sbin/init n'existe pas ?

Fichiers /proc/cpuinfo et /proc/meminfo sous Linux

Comment changer /tmp par défaut en /home/user/tmp

Différence et utilisation correcte pour /tmp et /var/tmp