mv commando

Windows, Android, iOS, Linux, Chrome OS, ...
Plaats reactie
Peterken
Premium Member
Premium Member
Berichten: 550
Lid geworden op: 26 nov 2004, 15:18
Locatie: Genk

Yo de mannen!
Ik probeer een (heel) aantal dirs/bestanden te verplaatsen van een disk naar een andere maar krijg niet het gewenste resultaat.
Eerst had ik de 2 disks geshared maar dat neemt vééél te veel tijd in beslag en nu probeer ik het rechtstreeks met het mv commando.

Dit is hetgeen ik doe:

Code: Selecteer alles

mv MultiMedia /home/data/

en dan krijg ik volgende foutmelding

Code: Selecteer alles

mv: inter-device move failed:`MultiMedia' to `/home/data/MultiMedia'; unable to remove target: Is a directory


Door vanalles te proberen heb ik op een bepaald moment wel kunnen verplaatsen maar het stond helemaal op de verkeerde plaats.... :roll:
Gebruikersavatar
selder
Moderator
Moderator
Berichten: 6305
Lid geworden op: 29 jun 2005, 20:25
Locatie: Tienen
Uitgedeelde bedankjes: 99 keer
Bedankt: 727 keer

mv -r voor dirs te verplaatsen ... r van recursive

En anders ... man mv :p
Ghost S1 • 8086K @5.2Ghz • Asus ROG Ryuo 240mm • Asus ROG STRIX Z390-I • Corsair Vengeance LPX 2x16GB 3200Mhz • Asus RTX2080Ti Turbo • Samsung 970 EVO 2TB • Asus ROG Swift PG258Q 240Hz • Logitech G Pro keyboard/mouse/headset
Peterken
Premium Member
Premium Member
Berichten: 550
Lid geworden op: 26 nov 2004, 15:18
Locatie: Genk

Hey selder, die -r optie blijkt niet te bestaan op debian. :?

Code: Selecteer alles

mv --help
Usage: mv [OPTION]... [-T] SOURCE DEST
  or:  mv [OPTION]... SOURCE... DIRECTORY
  or:  mv [OPTION]... -t DIRECTORY SOURCE...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.

Mandatory arguments to long options are mandatory for short options too.
      --backup[=CONTROL]       make a backup of each existing destination file
  -b                           like --backup but does not accept an argument
  -f, --force                  do not prompt before overwriting
  -i, --interactive            prompt before overwrite
      --strip-trailing-slashes remove any trailing slashes from each SOURCE
                                 argument
  -S, --suffix=SUFFIX          override the usual backup suffix
  -t, --target-directory=DIRECTORY  move all SOURCE arguments into DIRECTORY
  -T, --no-target-directory    treat DEST as a normal file
  -u, --update                 move only when the SOURCE file is newer
                                 than the destination file or when the
                                 destination file is missing
  -v, --verbose                explain what is being done
      --help     display this help and exit
      --version  output version information and exit

The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:

  none, off       never make backups (even if --backup is given)
  numbered, t     make numbered backups
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups

Report bugs to <[email protected]>.
crapiecorn
Elite Poster
Elite Poster
Berichten: 2149
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

Normaal mag dat niet uitmaken, mv gaat zoiezo recursief werken. Doe anders eerst een cp -r en dan een rm -r. Is ook wat veiliger voor de data.
Arrigi
Elite Poster
Elite Poster
Berichten: 824
Lid geworden op: 05 okt 2003, 23:00
Locatie: Hoogstraten
Contacteer:

Zover ik weet maakt het wel uit.. Altijd al gehad op ubuntu/debian. En het is -R, niet -r :)
crapiecorn
Elite Poster
Elite Poster
Berichten: 2149
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

Debruineo schreef:Zover ik weet maakt het wel uit.. Altijd al gehad op ubuntu/debian. En het is -R, niet -r :)


-r, -R, --recursive, is allemaal mogelijk
airzimmy
Erelid
Erelid
Berichten: 1047
Lid geworden op: 19 sep 2002, 14:01
Contacteer:

gebruik find en cpio, zal impressionanter werken !
Man pages moeten veel vertellen en anders zal er wel ergens een diepgaande ??? howto op inet zijn.
Peterken
Premium Member
Premium Member
Berichten: 550
Lid geworden op: 26 nov 2004, 15:18
Locatie: Genk

pfff, nu zit ik hier al uren te kloojen om wat bestanden/mappen te verplaatsen... :roll:

Ik heb 2 schijven, de 2e is gemount als /mnt/disk2
Nu wil ik van die 2e schijf de data uit /home/data/ verplaatsen naar de 1e schijf onder /home/data/
Op de een of andere manier ?kopieert/verplaatst? hij de data van de 2e schijf naar zichzelf ook al geef ik het volledige path in:

Code: Selecteer alles

mv -t /mnt/disk2/home/data/* /home/data/*


Wat doe ik verkeerd?!?
crapiecorn
Elite Poster
Elite Poster
Berichten: 2149
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

zoiets werkt


cp -r /mnt/disk2/home/data/ /home/data/

ofwel heb je iets fout aangekoppeld
Gebruikersavatar
Styno
Elite Poster
Elite Poster
Berichten: 1440
Lid geworden op: 06 nov 2003, 17:38
Locatie: Somewhere over the rainbow....

Peterken schreef:Wat doe ik verkeerd?!?

Probeer het volgende eens:

Code: Selecteer alles

cd /home/data
mv /mnt/disk2/home/data/* .


Dit kan problemen geven als de * meer dan 1024? strings bevat die niet volledig op de command line ge-expand kunnen worden (wat een zin!!)
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq'|dc
echo '16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq'|dc
Afbeelding
Peterken
Premium Member
Premium Member
Berichten: 550
Lid geworden op: 26 nov 2004, 15:18
Locatie: Genk

Styno, ontbreekt het doel niet in de 2de regel?
Gebruikersavatar
Styno
Elite Poster
Elite Poster
Berichten: 1440
Lid geworden op: 06 nov 2003, 17:38
Locatie: Somewhere over the rainbow....

Goed kijken der staat een puntje "."
Omdat er op de lijn erboven een cd commando staat zit je reeds in de juiste directory en moved je move commando met dat puntje de gegevens naar de huidige (en correcte) dir.
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq'|dc
echo '16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq'|dc
Afbeelding
crapiecorn
Elite Poster
Elite Poster
Berichten: 2149
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

Ja puntje of $PWD zal ook nog wel werken. Ik snap eigenlijk niet wat er mis kan gaan. Anders moet je mv als root runnen en daarna een chown doen.(of als niets werkt gewoon even via gui knippen/plakken).

pointer: /home is eigenlijk niet de plaats voor map data, behalve als je een gebruiker data hebt. Het is ook logisch dat mv geen -r optie heeft, als je de root map knipt naar waar gaat de inhoud anders. Deze moet wel met de root map meegaan.
Gebruikersavatar
ban
Pro Member
Pro Member
Berichten: 232
Lid geworden op: 22 maa 2004, 16:21

crapiecorn schreef: Ik snap eigenlijk niet wat er mis kan gaan.

2 dingen:

1. zoals styno al vermeld kan het dat je source dir zoveel bestanden bevat dat de "*" niet werkt. unix probeert om de * in je commandoregel te vervangen door alle bestandnamen op een rij, is die rij te lang, dan is je commando te lang en zal niet uitgevoerd worden.
2. zou het kunnen dat je bestandnamen spaties bevatten ? zoja dan zal deze methode niet werken, aangezien alweer de bestandnamen "geplakt" zullen worden waar je een * zet, maar met die spaties zal unix dit zien als meerdere commando's en resulteren in errors.

de meest eenvoudige manier is om het te doen zoals je eerst probeerde:

als root:
cd /mnt/disk2/home/data/
mv MultiMedia /home/data/

Als dat niet werkt stuur je best even het resultaat van "df -h"
airzimmy
Erelid
Erelid
Berichten: 1047
Lid geworden op: 19 sep 2002, 14:01
Contacteer:

en dan valt je systeem uit op 50% van je 20G, goed bezig!

Code: Selecteer alles

find /mnt/disk2/home/data/ -type f -print |cpio -padmv  /home/data/ 


cpio is den tool van de sysadmin, dat heeft zo zijn redenen....

ps, je zou het trouwens ook met rsync kunnen doen

Code: Selecteer alles

rsync -avz --delete /mnt/disk2/home/data/  /home/data/


Beide commando's kopieren de inhoud van /mnt/disk2/home/data/ naar /home/data/
crapiecorn
Elite Poster
Elite Poster
Berichten: 2149
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

airzimmy schreef:en dan valt je systeem uit op 50% van je 20G, goed bezig!

[


Door gewoon cp te gebruiken kan je zoiets toch ook vermijden ?
Gebruikersavatar
ban
Pro Member
Pro Member
Berichten: 232
Lid geworden op: 22 maa 2004, 16:21

airzimmy schreef:en dan valt je systeem uit op 50% van je 20G, goed bezig!

mja, inderdaad, good point.
ik houd daar niet echt rekening mee, omdat dat zeker 10 jaar geleden moet zijn dat ik nog zoiets meegemaakt heb, maar gelijk heb je natuurlijk.

Van mijn "mv" kan je eigenlijk beter een "cp -R" maken, of een van de andere mogelijkheden.
Peterken
Premium Member
Premium Member
Berichten: 550
Lid geworden op: 26 nov 2004, 15:18
Locatie: Genk

@ Styno: oops, niet meteen gezien.

@ crapiecorn: ik deed dat als root. Is die /home niet bedoeld voor userdata dan?

@ ban: het waren idd wel veel bestanden en ja, ook zingeliedjes met spaties in de bestandsnamen. Blijkbaar is dat om 2 redenen uit den boze...

@ airzimmy: wat doet dat eerste commando?
crapiecorn
Elite Poster
Elite Poster
Berichten: 2149
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

Peterken schreef:
@ crapiecorn: ik deed dat als root. Is die /home niet bedoeld voor userdata dan?


Ja, 1 niveau verder : /home/user/data
Plaats reactie

Terug naar “Software en apps”