cp-kommandot...
- Johnny Rosenberg
- Inlägg: 1256
- Blev medlem: 23 jun 2007, 16:18
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
cp-kommandot...
Försöker använda cp i ett sh-skript, men blir inte riktigt klok på det. Använder formen cp -ruv /sökväg1/mapp/* /sökväg2/mapp >> /sökväg1/mapp/.mapp/fil
Problemet är att jag har skapat en dold mapp och det verkar som att kommandot skiter fullständigt i den. Men å andra sidan har jag i min /sökväg2/mapp dolda mappar som skapats av samma rad tidigare. Eller inte... känner mig osäker nu...
man cp säger inget om huruvida dolda filer kopieras eller inte eller om det finns någon flagga för detta. Har jag missat något?
Alltså:
Ignoreras dolda filer med cp-kommandot?
Om inte, hur får man kommandot att kopiera även dolda filer?
Problemet är att jag har skapat en dold mapp och det verkar som att kommandot skiter fullständigt i den. Men å andra sidan har jag i min /sökväg2/mapp dolda mappar som skapats av samma rad tidigare. Eller inte... känner mig osäker nu...
man cp säger inget om huruvida dolda filer kopieras eller inte eller om det finns någon flagga för detta. Har jag missat något?
Alltså:
Ignoreras dolda filer med cp-kommandot?
Om inte, hur får man kommandot att kopiera även dolda filer?
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
SV: cp-kommandot...
Innan cp överhuvudtaget körs så expanderar skalet dina sökvägar. DVSJohnny Rosenberg skrev: man cp säger inget om huruvida dolda filer kopieras eller inte eller om det finns någon flagga för detta. Har jag missat något?
"/sökväg1/mapp/*" ersätts med "/sökväg1/mapp/fil1 /sökväg1/mapp/fil2
osv". Men * matchar inte vad som helst:
I det här fallet är det nog bäst att strunta i * helt och hållet:The character . at the start of a file name or immediately following a /,
and the character /, must be matched explicitly.
Kod: Markera allt
cp -a /sökväg1/mapp/ /sökväg2/
- Johnny Rosenberg
- Inlägg: 1256
- Blev medlem: 23 jun 2007, 16:18
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
SV: cp-kommandot...
Ser att du i ditt exempel hade flaggan -a, som verkar motsvara -dpR. -r hade jag ju redan, men om jag vill ha -u så täcks väl den inte in av -a, eller tänker jag fel?
Vad jag försöker göra är en enkel backup på en USB-hårddisk. När alla utom jag gör backuper, verkar det ibland som, så vill man tydligen komprimera filerna och spara dem i ett arkiv. Det kan vara zip eller vad som helst egentligen, men det vill jag absolut inte göra. Jag vill ha filerna tillgängliga exakt som de är på originalhårddisken. En av de viktigaste sakerna när just JAG gör backup är att det går fort så in i... ja, fort helt enkelt, så en massa onödigt som komprimerande, arkiverande och annat tidsödande, faller inom ramen för sådant jag absolut vill undvika. Går det inte fort att göra backup så blir det heller inte av. Således går DVD bort direkt, exempelvis. Det ska bara rassla till och så ska det vara klart, typ.
Till saken igen:
När jag kom fram till -ruv så hade jag gått igenom alla flaggor som angivits på man cp och kommit fram till att det var dessa jag ville ha. Har du några bra argument för att välja -a istället/också? Jag kan ju ha tänkt helt fel...
nja, inte HELT fel, men lite kanske... 
Vad jag försöker göra är en enkel backup på en USB-hårddisk. När alla utom jag gör backuper, verkar det ibland som, så vill man tydligen komprimera filerna och spara dem i ett arkiv. Det kan vara zip eller vad som helst egentligen, men det vill jag absolut inte göra. Jag vill ha filerna tillgängliga exakt som de är på originalhårddisken. En av de viktigaste sakerna när just JAG gör backup är att det går fort så in i... ja, fort helt enkelt, så en massa onödigt som komprimerande, arkiverande och annat tidsödande, faller inom ramen för sådant jag absolut vill undvika. Går det inte fort att göra backup så blir det heller inte av. Således går DVD bort direkt, exempelvis. Det ska bara rassla till och så ska det vara klart, typ.
Till saken igen:
När jag kom fram till -ruv så hade jag gått igenom alla flaggor som angivits på man cp och kommit fram till att det var dessa jag ville ha. Har du några bra argument för att välja -a istället/också? Jag kan ju ha tänkt helt fel...


- Johnny Rosenberg
- Inlägg: 1256
- Blev medlem: 23 jun 2007, 16:18
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
SV: cp-kommandot...
Kan inte inse vilket problem det skulle vara, men upplys mig gärna.DrKonservburk skrev:
Då slipper du dessutom problem om /sökväg1/mapp/ råkar var tom.
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
SV: cp-kommandot...
Johnny Rosenberg skrev: Ser att du i ditt exempel hade flaggan -a, som verkar motsvara -dpR. -r hade jag ju redan, men om jag vill ha -u så täcks väl den inte in av -a, eller tänker jag fel?
"-a" motsvarar "--recursive --no-dereference --preserve=all", dvsJohnny Rosenberg skrev: När jag kom fram till -ruv så hade jag gått igenom alla flaggor som angivits på man cp och kommit fram till att det var dessa jag ville ha. Har du några bra argument för att välja -a istället/också? Jag kan ju ha tänkt helt fel...nja, inte HELT fel, men lite kanske...
![]()
--recursive: kopiera kataloger
--no-dereference: följ aldrig symlänkar
--preserve=all: bevara rättigheter, ägare, tidsstämplar, hårdlänkar
Vill du att kopian ska vara lik orginalet så är -a ett mycket bra val.
Utan --preserve=all kommer t.ex. de nya filerna att ägas av den
användare som gjorde själva kopian istället för att ägas av den
användare som äger orginalet.
Om /sökväg1/mapp/ är tom kommer /sökväg1/mapp/* inte attJohnny Rosenberg skrev:Kan inte inse vilket problem det skulle vara, men upplys mig gärna.DrKonservburk skrev:
Då slipper du dessutom problem om /sökväg1/mapp/ råkar var tom.
expanderas, vilket innebär att du kommer att få ett felmeddelande
om att cp inte kan hitta filen "/sökväg1/mapp/*".
- Johnny Rosenberg
- Inlägg: 1256
- Blev medlem: 23 jun 2007, 16:18
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
SV: cp-kommandot...
Okej, så jag kan lägga till a till mina övriga växlar alltså? Och dessutom ta bort det r jag hade redan innan, så att jag får -auv istället för -ruv, eller hur? Av hastighetsskäl vill jag ju bara kopiera de filer som ändrats sedan förra gången, och det är väl -u som gör det, eller hur?DrKonservburk skrev:Johnny Rosenberg skrev: Ser att du i ditt exempel hade flaggan -a, som verkar motsvara -dpR. -r hade jag ju redan, men om jag vill ha -u så täcks väl den inte in av -a, eller tänker jag fel?"-a" motsvarar "--recursive --no-dereference --preserve=all", dvsJohnny Rosenberg skrev: När jag kom fram till -ruv så hade jag gått igenom alla flaggor som angivits på man cp och kommit fram till att det var dessa jag ville ha. Har du några bra argument för att välja -a istället/också? Jag kan ju ha tänkt helt fel...nja, inte HELT fel, men lite kanske...
![]()
--recursive: kopiera kataloger
--no-dereference: följ aldrig symlänkar
--preserve=all: bevara rättigheter, ägare, tidsstämplar, hårdlänkar
Vill du att kopian ska vara lik orginalet så är -a ett mycket bra val.
Utan --preserve=all kommer t.ex. de nya filerna att ägas av den
användare som gjorde själva kopian istället för att ägas av den
användare som äger orginalet.
Om /sökväg1/mapp/ är tom kommer /sökväg1/mapp/* inte attJohnny Rosenberg skrev:Kan inte inse vilket problem det skulle vara, men upplys mig gärna.DrKonservburk skrev:
Då slipper du dessutom problem om /sökväg1/mapp/ råkar var tom.
expanderas, vilket innebär att du kommer att få ett felmeddelande
om att cp inte kan hitta filen "/sökväg1/mapp/*".
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
SV: cp-kommandot...
Johnny Rosenberg skrev: Okej, så jag kan lägga till a till mina övriga växlar alltså? Och dessutom ta bort det r jag hade redan innan, så att jag får -auv istället för -ruv, eller hur? Av hastighetsskäl vill jag ju bara kopiera de filer som ändrats sedan förra gången, och det är väl -u som gör det, eller hur?
Du VILL använda rsync:Johnny Rosenberg skrev: Vad jag försöker göra är en enkel backup på en USB-hårddisk. När alla utom jag gör backuper, verkar det ibland som, så vill man tydligen komprimera filerna och spara dem i ett arkiv. Det kan vara zip eller vad som helst egentligen, men det vill jag absolut inte göra. Jag vill ha filerna tillgängliga exakt som de är på originalhårddisken. En av de viktigaste sakerna när just JAG gör backup är att det går fort så in i... ja, fort helt enkelt, så en massa onödigt som komprimerande, arkiverande och annat tidsödande, faller inom ramen för sådant jag absolut vill undvika. Går det inte fort att göra backup så blir det heller inte av. Således går DVD bort direkt, exempelvis. Det ska bara rassla till och så ska det vara klart, typ.
Kod: Markera allt
rsync -av /sökväg1/mapp /sökväg2