Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

alternative à "cp -al" ?

17 réponses
Avatar
pehache-tolai
Bonjour,

Sur le linux de mon NAS (Qnap), la commande "cp" ne supporte pas l'option
"-l" (qui fait des hardlinks sur les fichiers au lieu de les copier). J'ai
un script avec un "cp -al" dedans, qui duplique une arborescence complète :
par quoi je pourrais le remplacer ? Je pense à quelque chose du genre :

(au lieu de cp -al dir1 /path2/dir1)

find dir1 -type d -exec mkdir /path2/{} \;
find dir1 -type f -exec ln {} /path2/{} \;

des commentaires, ou d'autres idées ?

Merci,

--
pehache
http://pehache.free.fr/public.html

7 réponses

1 2
Avatar
Cyrille Lefevre
pehache-tolai a écrit :
"pehache-tolai" a écrit dans le message de n ews:


Ah zut, le "find" installé ne supporte pas "-exec" !



Pour ça c'est bon, j'ai pu installer le package "findutils" qui co mporte
notamment une commande "find" améliorée (enfin, habituelle di sons plutôt
!).



find ... -print0 | xargs -0 ...

si pas de -print0 et pas de fichiers avec des blancs :

find ... | xargs ...

PS : ne pas oublier l'option -r si xargs version gnu

Mais du coup ça me fait penser qu'il y aurait peut-être tout simplement
un package qui comporterait la commance "cp" habituelle (qui supporte
"-l") plutôt que la version allégée qui est installé e par défaut. Par
contre là je ne trouve pas : quelqu'un saurait dans quel genre de
package est "cp" habituellement ? Le gestionnaire de package est "ipkg" .

Vu que ça devient très Linux, je copie sur fcolc, avec FU2.




à vu de nez, coreutils ? mais c'est gros...

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
Avatar
pehache-tolai
"geo cherchetout" a écrit
dans le message de news: 4b44b9a3$0$17498$
Le 05/01/2010 21:27, *pehache-tolai* a écrit fort à propos :

Mais du coup ça me fait penser qu'il y aurait peut-être tout
simplement un package qui comporterait la commance "cp" habituelle
(qui supporte "-l") plutôt que la version allégée qui est installée
par défaut. Par contre là je ne trouve pas : quelqu'un saurait dans
quel genre de package est "cp" habituellement ? Le gestionnaire de
package est "ipkg". Vu que ça devient très Linux, je copie sur fcolc,
avec FU2.



coreutils



OK, merci.

--
pehache
http://pehache.free.fr/public.html
"Les professionnels recherchent le profit, c'est tout." : Nicolas
George, dans fcold
Avatar
pehache-tolai
"Benoit Izac" a écrit dans le message de
news:

Mais du coup ça me fait penser qu'il y aurait peut-être tout
simplement un package qui comporterait la commance "cp" habituelle
(qui supporte "-l") plutôt que la version allégée qui est installée
par défaut. Par contre là je ne trouve pas : quelqu'un saurait dans
quel genre de package est "cp" habituellement ? Le gestionnaire de
package est "ipkg".



Quelle distribution ?



NLSU2-Linux (sur un Qnap)

Mais il n'y a même pas de gestionnaire de package par défaut, ipkg est
installé en plus et "à part"


Sur mon OpenWRT, la dernière version n'a plus ipkg mais opkg, il
suffit
de faire :
# opkg search '*cp'



[~] # ipkg search '*cp'
openssh - 5.1p1-1 - /opt/bin/scp
Successfully terminated.
[~] #


--
pehache
http://pehache.free.fr/public.html
"Les professionnels recherchent le profit, c'est tout." : Nicolas
George, dans fcold
Avatar
pehache-tolai
"Cyrille Lefevre" <cyrille.lefevre-news% a
écrit dans le message de news: hi3abt$2jfl$

Pour ça c'est bon, j'ai pu installer le package "findutils" qui
comporte notamment une commande "find" améliorée (enfin, habituelle
disons plutôt !).



find ... -print0 | xargs -0 ...

si pas de -print0 et pas de fichiers avec des blancs :

find ... | xargs ...

PS : ne pas oublier l'option -r si xargs version gnu



OK


Mais du coup ça me fait penser qu'il y aurait peut-être tout
simplement un package qui comporterait la commance "cp" habituelle
(qui supporte "-l") plutôt que la version allégée qui est installée
par défaut. Par contre là je ne trouve pas : quelqu'un saurait dans
quel genre de package est "cp" habituellement ? Le gestionnaire de
package est "ipkg". Vu que ça devient très Linux, je copie sur fcolc,
avec FU2.




à vu de nez, coreutils ? mais c'est gros...




En fait on m'a indiqué comment m'en tirer avec find et cpio (qui est un
petit package séparé) pour dupliquer une arborescence par des liens, donc je
n'ai plus trop besoin du "GNU cp" pour l'instant. Mais je retiens au cas
où...

--
pehache
http://pehache.free.fr/public.html
"Les professionnels recherchent le profit, c'est tout." : Nicolas
George, dans fcold
Avatar
pehache-tolai
"Xavier" a écrit dans le message de news:
1jbwufp.fsqwoj1wtvb8dN%
pehache-tolai wrote:

des commentaires, ou d'autres idées ?



Il y a pax, sur ton NAS ? C'est bien, pax...



C'est le "remplaçant" de cpio, c'est ça ?

Il n'y est pas, et apparemment pas dans les packages additionnels non plus.
Je vais donc en rester à cpio.

--
pehache
http://pehache.free.fr/public.html
"Les professionnels recherchent le profit, c'est tout." : Nicolas
George, dans fcold
Avatar
Benoit Izac
Bonjour,

le 08/01/2010 à 00:21, pehache-tolai a écrit dans le message
:

[~] # ipkg search '*cp'
openssh - 5.1p1-1 - /opt/bin/scp
Successfully terminated.
[~] #



Effectivement, ça ne cherche que dans les paquets déjà installés et il
n'y a pas d'équivalent à « apt-file search ... ». Tu peux toujours
utiliser la recherche debian en ligne
<http://packages.debian.org/search?searchon=contents&keywords=bin%2Fcp&mode=path&suite=stable&arch=any>
et ensuite vérifier qu'il est disponible avec
# ipkg list coreutils

--
Benoit Izac
Avatar
xavier
pehache-tolai wrote:

C'est le "remplaçant" de cpio, c'est ça ?



De cpio et de tar à la fois. D'ailleurs, sur NetBSD, je crois que tar et
cpio sont des hardlinks vers pax. (ou étaient, avant l'apparition de
bsdtar, j'ai pas suivi chez Net, mais ça n'est pas/plus le cas chez
Free).


--
XAv
Disponible au 01/06/2010
<http://www.xavierhumbert.net/perso/CV2.html>
1 2