Actuellement, j'exécute ces deux commandes pour créer une sauvegarde rapide du répertoire. Existe-t-il un moyen de combiner les deux commandes en une seule, de sorte que je copie et renomme le nouveau répertoire en une seule commande?
#cp -R /tf/Custom_App /tf/Custom_App_backups/
#mv /tf/Custom_App_backups/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21
cp -R /tf/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21
Réponses:
Vous devriez pouvoir faire juste
Cependant , si le répertoire cible existe déjà, cela ajouterait la dernière partie du chemin source au chemin de destination, créant
/tf/Custom_App_backups/Custom_App_2017-12-21/Custom_App
, puis copiant le reste de l'arborescence à l'intérieur.Pour éviter cela, utilisez
/tf/Custom_App/.
comme source. Bien sûr, dans ce cas, vous voudrez peut-être d'rm -r /tf/Custom_App_backups/Custom_App_2017-12-21
abord, si vous ne voulez pas que des fichiers plus anciens se trouvent là après la copie.La différence entre
/some/dir
et a/some/dir/.
été discutée il y a quelque temps dans cp se comporte bizarrement quand. (point) ou .. (point point) sont le répertoire sourcela source
.
tant que répertoire source consiste à utiliser l'-T
indicateur pour indiquercp
d'écraser la destination plutôt que de créer un nouveau membre à l'intérieur.cp
./tf/Custom_app/.
astuce est exactement ce dont j'avais besoin.cp -a
fonctionne également.cp -a
Bien sûr, apparaît également dans FreeBSD et OpenBSD, mais ce n'est toujours pas une fonctionnalité standard, c'est-à-dire non spécifiée par POSIX . (cp -T
qui a été mentionné plus tôt semble être un GNUisme, ce n'est pas dans POSIX, et pas dans les BSD pour autant que je puisse voir.)Alternativement, vous pouvez le faire comme suit:
Cela vous permettra de spécifier votre emplacement personnalisé à l'avance. Notez également qu'il utilise le suffixe
/.
Cela vous permet de copier uniquement le contenu et d'exclure son dossier contenant - dans ce cas, il s'agit duCustom_app
dossier.la source