web-dev-qa-db-fra.com

Que signifie l'option -rd dans la commande cp?

J'ai trouvé une référence à l'aide de la commande suivante

cp -rd  *  /folder_1/

et un autre comme

cp -dr * /folder_2/

Pouvez-vous s'il vous plaît indiquer quelles sont ces options "rd" ou "dr"?

6
moibrahim

L'ordre n'a pas d'importance - vous pouvez donner les options dans n'importe quel ordre

Cette combinaison va copier les répertoires de manière récursive (y compris tout le contenu) et copier les liens symboliques en tant que liens symboliques au lieu de copier les fichiers auxquels ils pointent.

-d n'est nécessaire que si vous utilisez -r: il est utilisé pour remplacer le comportement par défaut, qui consiste à ne pas suivre les liens symboliques lors d'une copie récursive.

de info cp

‘-R’ ‘--recursive’ Copiez les répertoires de manière récursive. Par défaut, ne suivez pas les liens symboliques dans la source, à moins qu’ils ne soient utilisés avec l’option - --link ((-l)); voir '--archive' ('-a'), '-d', '--dereference' ('-L'), '--no-dereference' ('-P') et '-H' Les options.

‘-D’ Copiez les liens symboliques sous forme de liens symboliques plutôt que de copier les fichiers qu’ils pointent, et conservez les liens physiques entre les fichiers source dans les copies. Équivalent à "--no-dereference --preserve = links".

17
Zanna

Dans de nombreux utilitaires de ligne de commande, les options à lettre unique peuvent être écrites ensemble. Dans votre cas, le formulaire le plus long serait

cp -r -d  *  /folder_1/

qui peut être raccourci à

cp -rd  *  /folder_1/

L'autre version

cp -dr  *  /folder_1/

est le même que

cp -d -r  *  /folder_1/
10
Mark H