← Back to team overview

sslug-teknik team mailing list archive

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