cp-kommandot igen...

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

cp-kommandot igen...

Inlägg av Johnny Rosenberg »

Hej! Blir inte riktigt klok på cp-kommandot. Just nu använder jag nedanstående fil för att kopiera alla min användarfiler från min externa hårddisk till min stationära dator. Till min externa hårddisk kom filerna ursprungligen från min laptop, också den med Ubuntu. Filen ser alltså ut så här:

Kod: Markera allt

#!/bin/sh

echo >> /home/guraknugen/.Backup/Logg/Kopiering\ av\ PB-backup
mv /home/guraknugen/.Backup/Logg/Kopiering\ av\ PB-backup /home/guraknugen/.Backup/Logg/Kopiering\ av\ PB-backup.old
tail --bytes=10000000  /home/guraknugen/.Backup/Logg/Kopiering\ av\ PB-backup.old > /home/guraknugen/.Backup/Logg/Kopiering\ av\ PB-backup
rm /home/guraknugen/.Backup/Logg/Kopiering\ av\ PB-backup.old

echo >> /home/guraknugen/.Backup/Logg/Ägarbyte\ på\ PB-backup
mv /home/guraknugen/.Backup/Logg/Ägarbyte\ på\ PB-backup /home/guraknugen/.Backup/Logg/Ägarbyte\ på\ PB-backup.old
tail --bytes=10000000  /home/guraknugen/.Backup/Logg/Ägarbyte\ på\ PB-backup.old > /home/guraknugen/.Backup/Logg/Ägarbyte\ på\ PB-backup
rm /home/guraknugen/.Backup/Logg/Ägarbyte\ på\ PB-backup.old

echo "Startad: $(date +'%A %F %T')" >> /home/guraknugen/.Backup/Logg/Kopiering\ av\ PB-backup
cp -auv /media/Backup/guraknugen/* /home/guraknugen/ >> /home/guraknugen/.Backup/Logg/Kopiering\ av\ PB-backup
echo "Klar: $(date +'%A %F %T')" >> /home/guraknugen/.Backup/Logg/Kopiering\ av\ PB-backup


echo "Startad: $(date +'%A %F %T')" >> /home/guraknugen/.Backup/Logg/Ägarbyte\ på\ PB-backup
chown -hRv guraknugen:guraknugen /home/guraknugen >> /home/guraknugen/.Backup/Logg/Ägarbyte\ på\ PB-backup
echo "Klar: $(date +'%A %F %T')" >> /home/guraknugen/.Backup/Logg/Ägarbyte\ på\ PB-backup
Skit i den nu, det är bara en av raderna jag funderar över, nämligen:

Kod: Markera allt

cp -auv /media/Backup/guraknugen/* /home/guraknugen/ >> bla bla bla
Innan försökte jag med

Kod: Markera allt

cp -auv /media/Backup/guraknugen/ /home/guraknugen/ >> bla bla bla
och då fungerade det som jag ville, förutom att alla filer hamnade under /home/guraknugen/guraknugen/ istället för /home/guraknugen/.
Problemet som jag har nu, är istället att mina dolda mappar (blablabla/.Ikoner exempelvis) inte kopieras. Finns det något smidigare sätt än att lägga till en rad som kopierar alla filer som börjar med en punkt? Dessutom kommer väl det bara att fungera för den översta mappen, i detta fall /home/guraknugen/, eller?
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
Bossieman
Inlägg: 2704
Blev medlem: 27 dec 2006, 23:11
OS: Ubuntu
Utgåva: 16.04 Xenial Xerus LTS
Ort: Göteborg
Kontakt:

Re: cp-kommandot igen...

Inlägg av Bossieman »

* ska inte behövas användas då du använder flaggan a som är samma som dpR, funkar -uR?

EDIT: Läste precis följande

cp -r /home/hope/files/* /home/hope/backup

Copies all the files, directories, and subdirectories in the files directory into the backup directory.
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: cp-kommandot igen...

Inlägg av Lars »

Som du kanske har förstått beror det på att * inte matchar filer som börjar med punkt. Det bästa är att kopiera en katalog istället för massor av filer, så här:

Kod: Markera allt

cp -auv /media/Backup/guraknugen /home >> bla bla bla
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: cp-kommandot igen...

Inlägg av Johnny Rosenberg »

Lars skrev:Som du kanske har förstått beror det på att * inte matchar filer som börjar med punkt. Det bästa är att kopiera en katalog istället för massor av filer, så här:

Kod: Markera allt

cp -auv /media/Backup/guraknugen /home >> bla bla bla
Jo, det var en tanke jag hade, men behöver jag inte root-rättigheter då? Det fina med min rad (förutom att den inte fungerade som den skulle) var ju att det inte behövdes...
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: cp-kommandot igen...

Inlägg av Lars »

Jo, egentligen, men om katalogen /home/guraknugen redan existerar så behöver den ju inte skapas, och då behövs inte heller root-rättigheter.
Användarvisningsbild
Rasmus
Inlägg: 2291
Blev medlem: 07 sep 2006, 18:33
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Svalsta

Re: cp-kommandot igen...

Inlägg av Rasmus »

Ska man inte använda flaggan r också? så att det kopierar undermappar?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: cp-kommandot igen...

Inlägg av Konservburk »

Rasmus skrev:Ska man inte använda flaggan r också? så att det kopierar undermappar?
-a innehåller -r
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: cp-kommandot igen...

Inlägg av Johnny Rosenberg »

Lars skrev:Jo, egentligen, men om katalogen /home/guraknugen redan existerar så behöver den ju inte skapas, och då behövs inte heller root-rättigheter.
Dessutom var jag ändå ute och cyklade, för jag kör ju ändå hela filen som root. I min programstartare har jag ju skrivet sudo blablabla som startkommando... Det har ju att göra med rättigheterna för filerna som ju ursprungligen kommer från min laptop, inte den desktop jag hade tänkt att de nu skulle hamna på...

Hm... allt detta hade ju varit så mycket enklare om jag istället försökt få igång nätverket... men det är en senare fråga. Måste ha en router och den jag har, som jag dock inte använt på länge, brukade tappa kontakten med Internet (bredbandsbolaget) lite då och då. I och för sig körde jag bara Windows på den tiden, men jag har ju svårt att tro att den defekten skuklle bli bättre av att byta operativsystem; det är nog snarare själva routern som borde bytas. Men detta är ju dock en helt annan fråga, så vi lämnar den, tycker jag.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: cp-kommandot igen...

Inlägg av Johnny Rosenberg »

Upptäckte en annan grej.

Skapade en mapp som jag kallade /home/Backup-guraknugen, eftersom jag tänkte experimentera lite med vanliga /home/guraknugen med risk för att misslyckas, så att jag sedan enkelt skulle kunna kopiera tillbaka mina ursprungliga filer.

Använde kommandot

Kod: Markera allt

sudo cp -au /home/guraknugen/ /home/Backup-guraknugen 
-u gör ju att den bara kopierar filer och mappar som är nyare än de som redan finns på plats.

Detta verkade fungera och jag har nu en dubblett av min hemmapp i och med detta.
Så la jag till en ny mapp några nivåer under hemmappen och körde därför kommandot igen, exakt likadant som tidigare (med hjälp av uppåtpil för att leta upp kommandot). Den frågar då efter mitt lösenord, jag matar in det och sedan dröjer det några sekunder och så kommer prompten tillbaka. Tittar på filhierarkin med Nautilus men inte 17 är den nya mappen med sin fil med i /home/backup-guraknugen!

Och inget som helst felmeddelande heller.
Provade att lägga till -v (-auv istället för -au) och såg då att en massa filer faktiskt kopierades, men inte den nya mappen med sin fil!

Bugg?
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: cp-kommandot igen...

Inlägg av Konservburk »

Johnny Rosenberg skrev:Tittar på filhierarkin med Nautilus men inte 17 är den nya mappen med sin fil med i /home/backup-guraknugen!
Säker på att den inte hamnade under /home/Backup-guraknugen/guraknugen/ ?
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: cp-kommandot igen...

Inlägg av Johnny Rosenberg »

Oj, det gjorde den! Men varför gör den det ibland och ibland inte? För som det är nu så har jag alla mapparna direkt under /home/Backup-guraknugen, men även under /home/Backup-guraknugen/guraknugen (efter att ha kört kommandot några gånger, pga att jag vill få med filer som uppdaterats eller lagts till innan jag får tummen ur och påbörjar mina experiment).

Jag har kört exakt samma kommando vargje gång (Uppåtpil → Enter → Lösenord → Enter).
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: cp-kommandot igen...

Inlägg av Konservburk »

Johnny Rosenberg skrev:Oj, det gjorde den! Men varför gör den det ibland och ibland inte?
Det hela beror på om katalogen /home/Backup-guraknugen finns när du kör kommandot eller inte. Finns den inte så hamnar filerna i /home/Backup-guraknugen/, men om den finns hamnar alltihop istället i /home/Backup-guraknugen/guraknugen/. Vill du att det ska fungera likadant oavsätt om det är första eller andra gången du kör kommandot så kan du antingen se till att det alltid finns en backup-katalog:

Kod: Markera allt

mkdir -p /home/Backup-guraknugen
cp -au /home/guraknugen /home/Backup-guraknugen
Då hamnar filerna alltid under /home/Backup-guraknugen/guraknugen/

Eller så använder du flaggan -T till cp:

Kod: Markera allt

cp -auT /home/guraknugen /home/Backup-guraknugen
Då hamnar filerna alltid under /home/Backup-guraknugen/

Men att använda cp som du försöker göra är lite som att gå över ån för att hämta vatten. Det finns ett kommando som heter rsync som är betydligt bättre på dessa saker:

Kod: Markera allt

rsync -a /home/guraknugen/ /home/Backup-guraknugen
Lägg märke till att det finns ett / efter /home/guraknugen/, vilket gör att filerna alltid hamnar direkt i /home/Backup-guraknugen/. Utan det där extra / så hamnar filerna istället under /home/Backup-guraknugen/guraknugen/.
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: cp-kommandot igen...

Inlägg av Johnny Rosenberg »

Tack så mycket för informationen! Har tagit till mig av detta och har gott hopp om att det kommer att fungera smidigt framöver.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Skriv svar

Återgå till "Terminalforum"