mv (Unix)

Unix parancs
Ez a közzétett változat, ellenőrizve: 2020. április 10.

mv (a move rövidítése) egy Unix parancs, mely állományok vagy könyvtárak áthelyezésére használunk egyik könyvtárból a másikba. Az forrás állomány kitörlődik, a cél állománynak a neve pedig megegyezhet a forrás állomány nevével, vagy új nevet is felvehet.

  • -b, --backup

Biztonsági másolat készítése a felülírandó vagy törlendő fájlokról.

  • -f, --force

A létező célfájlok törlése kérdezés nélkül.

  • -i, --interactive

A felhasználó megkérdezése arról, hogy felülírhatók-e a létező célfájlok. Ha a válasz nem `y'-nal vagy `Y'-nal kezdődik, a fájlt átugorja.

  • -u, --update

Nem mozgatja azokat a nem-könyvtár fájlokat, amelyeknek azonos vagy újabb módosítási idővel rendelkező célfájlja létezik.

  • -v, --verbose

Kiírja minden fájl nevét, mielőtt mozgatná.

  • --help

Használati útmutatót ír a standard kimenetre, majd kilép.

  • --version

A program verziójáról ír ki információt a standard kimenetre, majd kilép.

  • -S, --suffix backup-suffix

Az egyszerű biztonsági mentés fájlok végződését (suffix) alapértelmezés szerint a SIMPLE_BACKUP_SUFFIX környezeti változó állítja be. Ezzel az opcióval ezt lehet felülbírálni. Amennyiben egyik sem adott (sem a környezeti változó, sem az opció), a végződés `~' lesz, mint az Emacs-ban.

  • -V, --version-control {numbered,existing,simple}

A biztonsági mentések típusa a VERSION_CONTROL környezeti változóval állítható be. Ez az opció ezt bírálja felül. Ha VERSION_CONTROL -nak nincs értéke, és ez az opció sem adott, az alapértelmezett mentési típus az `existing'. A VERSION_CONTROL illetve az opció értéke a GNU Emacs `version-control' változójához hasonló; felismernek olyan szinonimákat is, melyek jobban jellemzőek. Az érvényes értékek (egyértelmű rövidítés megengedett):

   `t' vagy `numbered'
       Mindig sorszámozott mentés készül.
   `nil' vagy `existing'
       Sorszámozott biztonsági mentést készít azokról a fájlokról, melyeknek már van, a többiekről pedig egyszerű mentést.
   `never' vagy `simple'
       Mindig egyszerű mentés készül.

Létező állományok konfliktusa

szerkesztés

Az összes esetben, ha a cél állomány már létezik, akkor ez felülíródik, az eredeti tartalma pedig törlődik. Ha a célállomány írásvédett, de a könyvtár nem írásvédett, akkor a mv parancs rákérdez a felhasználóra, hogy kívánja-e a felülírást. Ez elkerülhető, ha használjuk a -f (force) opciót.

Különbség a másolás és a törlés között

szerkesztés

Egyszerű áthelyezés esetén a parancs törli a régi könyvtárból az állományt és ezt az új könyvtárba másolja.

mv myfile mynewfilename    állomány átnevezés
mv myfile otherfilename    átnevezi az állományt és a régit törli (myfile)
mv myfile /myfile          áthelyezi a 'myfile' állományt az aktuális könyvtárból a gyökér könyvtárba
mv myfile dir/myfile       áthelyezi a 'myfile' állományt a 'dir/myfile' alkönyvtárba
mv myfile dir              hasonló az előző utasításhoz
mv myfile dir/myfile2      áthelyezi a 'myfile' állományt a dir könyvtárba és átnevezi 'myfile2' névre
mv foo bar baz dir         áthelyezi az állományokat a dir könyvtárba
mv—help                  kiírja a mv parancs help-jét
man mv                     hasonló az előzőhöz

Az összes esetben az állományok áthelyeződtek és átneveződtek egy könyvtárba

Meg kell jegyezni, hogyha a parancsban két argumentum szerepel (például mv name1 name2 vagy mv name1 /dir/name2), több értelme lehet a parancsnak attól függően, hogy name2 nem létezik, vagy állomány vagy könyvtár.