Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: verplaatsen bestanden naar hogere directory  (gelezen 838 keer)

verplaatsen bestanden naar hogere directory
« Gepost op: 2021/09/28, 15:57:26 »
Ik heb op /home/marianne een reeks directories en bestanden staan, waaronder een directory kopie (/home/marianne/kopie) met overeenkomende directorynamen en aanvullende bestanden.
Ik wil deze directory kopie met bestanden verplaatsen naar de hogere directory en gebruik daarvoor het commando:
find . -maxdepth 1 -exec mv {} .. \;Dit commando geef ik vanuit de directory /home/marianne/kopie.
Ubuntu geeft dan echter de melding:
mv: cannot move './Afbeeldingen' to '../Afbeeldingen': Directory not empty
Hoe kan ik de bestanden uit /home/marianne/kopie toch verplaatsen naar /home/marianne? De bestanden uit kopie moeten dus worden TOEGEVOEGD aan /home/marianne.

Offline vanadium

  • Lid
Re: verplaatsen bestanden naar hogere directory
« Reactie #1 Gepost op: 2021/09/28, 22:00:30 »
Folders kan je niet verplaatsen als een andere folder met dezelfde naam al bestaat op die plaats. Ik vermoed dat een kopie van de bestanden in je /home/marianne/kopie directory naar de hoger gelegen folder volstaat voor dit scenario. Hierna wis je het origineel:

cp -r /home/marianne/kopie/* /home/marianne/
rm -rf /home/marianne/kopie


Offline bart85

  • Lid
Re: verplaatsen bestanden naar hogere directory
« Reactie #2 Gepost op: 2021/09/29, 09:27:36 »
Ik weet niet helemaal zeker maar je kunt aan mv de optie--force toevoegen.

cd /home/marianne/kopie
mv --force * ../

Nadeel van kopiëren en daarna de bron verwijderen is dat bij een grote map veel tijd nodig heeft. En op de /home partitie genoeg vrije ruimte moet hebben.
« Laatst bewerkt op: 2021/09/29, 10:43:16 door bart85 »
Je leert maar mooi over weg gaan met de commandline. Geen grafische toepassingen voor systeembeheer.
You can never make a system 100% secure unless you unplug the machine from all networks, turn it off, lock it in a safe, smother it in concrete and never use it.

Re: verplaatsen bestanden naar hogere directory
« Reactie #3 Gepost op: 2021/10/04, 14:13:32 »
Als ik dit commando toepas op de directory marianne, dan krijg ik ook de melding dat de directory niet leeg is...

Re: verplaatsen bestanden naar hogere directory
« Reactie #4 Gepost op: 2021/10/04, 15:41:44 »
Hallo, testje gedaan. Op m'n Bureaublad maak ik een mapje genaamd test. Daarin twee bestandjes 1 en 2 aangemaakt, plus twee mapjes map1 en map 2 die ik vul met 6 andere bestandjes. 

Als ik de hele map test naar m'n  Bureaublad wil kopiëren, dus één niveau hoger, doe ik
cp -r test/* .
Dat werkt en dat is precies dezelfde code als vanadium al aangaf. Op m'n Bureaublad staan nu twee bestandjes genaamd 1 en 2 en twee mapjes map1 en map2 met daarin de 6 andere bestandjes. Dat is wat je wilde volgens mij.

Overigens, als je een grote (vele GB's) actie gaat doen, is het ernstig af te raden om daar de mv-opdracht voor te gebruiken. Als tijdens die actie de stroom en dus mogelijk je pc uitvalt, loop je een heel groot risico dat zowel je bronmap als je doelmap beide leeg achterblijven... Daarom kopieer ik altijd en pas na een bytecontrole van de kopie (hoeveel bytes in bronmap en in doelmap?) gooi ik de bron met rm -rf weg.


Offline MKe

  • Lid
Re: verplaatsen bestanden naar hogere directory
« Reactie #5 Gepost op: 2021/10/07, 14:07:05 »
Beste zou zijn om rsync te gebruiken, die kijkt ook of een bestand nieuwer is dan wat er al staat en overschrijft niet als de versie in de doelmap nieuwer is dan de versie in de bronmap. Dat is veiliger denk ik.

Het commando is dan:
rsync -update -raz --progress /home/marianne/kopie/* /home/marianne/

Overigens is rsync vrijwel altijd het veiliger (zei het langzamere) alternatief voor cp.