sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #70303
Re: cp fil til flere direktiver
René Mølsted wrote:
Hejsa
Jeg har brug for at kopiere en file til flere direktiver. Jeg har prøvet
følgende:
Du mener vist directories. Direktiver er nogle retningslinier man
skriver i ministeriel sammenhæng.
cp fil /home/*/projekt
Dette giver følgende fejl:
cp: omitting directory `//home/molsted/projekt/'
Jeg har prøvet Google uden held (søger måske på det forkerte). Er det en
begrænsning i cp?
Jeg også gransket man cp, men jeg syntes heller ikke den giver svar.
problemet er cp's parsing af argumenterne, og cp's evner til at håndtere
directories.
Reglen er, at alle filer nævnt på kommandolinien skal kopieres til det
directory, som står som sidste argument. Og derfor bliver det ulogisk at
angive flere "sidste argumenter", derfor kan cp ikke levere det du ønsker.
Men man kan mobilisere lidt Linux-opfindsomhed og lave et script, der kan:
#!/bin/bash
DIRS="dir1 dir2 dir3 ...." #der hvor det skal hen
FILES="file1 file2 file3 ...." #de filer der skal kopieres
for d in $DIRS
do
cp $FILES $d
done
Når det så er sagt, er det nok en overvejelse værd, om man ønsker
adskillige kopier af de samme filer rundt omkring på sin disk, det er jo
gundlæggende set ressourcespild. Hvis det handler om tilgængelighed
flere steder fra, kan symbolske links løse den opgave uden det strore
pladsforbrug.
En anden overvejelse er naturligvis, at flere skal kunne få fat i hver
sin version af filerne, og at de skal kunne rette i dem (eksempelvis
.profiles) til personligt brug, men hvis der ønskes ensartethed, er
løsningen med symbolske links stadig bedre, idet man så har en master,
som har det "rigtige" indhold, som alle kan nå.
MVH
Jón
--
====================================================================
Jon Svejgaard | ACE - UNIX/Linux Consultancy
| Hjorthoejvej 2 / DK-4291 Ruds Vedby
mail: jon@xxxxxx | DENMARK
http://www.ace.dk | +45 5826 1799 / +45 4052 0799
====================================================================
References