.\" Copyright Andries Brouwer, Ragnar Hojland Espinosa and A. Wik, 1998. .\" .\" This file may be copied under the conditions described .\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998 .\" that should have been distributed together with this file. .\" .TH CP 1 "November 1998" "GNU fileutils 4.0" .SH NÉV cp \- fájlok és könyvtárak másolása .SH ÁTTEKINTÉS .BI "cp [" "opciók" "] " "fájl útvonal" .br .BI "cp [" "opciók" "] " "fájl... könyvtár" .sp POSIX opciók: .B "[\-fipRr] [\-\-]" .sp GNU opciók (legrövidebb forma): .B [\-abdfilprsuvxPR] .BI "[\-S " UTÓTAG ] .B "[\-V {numbered,existing,simple}]" .BI [\-\-sparse= MIKOR ] .B "[\-\-help] [\-\-version] [\-\-]" .SH LEÍRÁS .PP A .B cp parancs fájlokat (vagy, opcionálisan, könyvtárakat) másol. Másolható vele egyetlen fájl a megadott helyre, vagy akár végtelenül sok fájl egy célkönyvtárba. .PP Ha az utolsó argumentum egy létező könyvtárat jelöl, a .B cp minden forrás .I fájlt abba a könyvtárba másol be (ugyanazon nevet megtartva). Ellenben, ha csak két fájl adott, az elsőt a másodikra másolja. Hibát jelent, ha az utolsó argumentum nem könyvtár, és több mint két nem-opció argumentum van megadva. .PP (Így a `cp \-r /a /b' /a\-t /b/a\-ba másolja és a /a/x\-et /b/a/x\-be akkor, ha a /b létezik, de /a\-t /b\-be és /a/x\-et /b/x-be helyezi, ha korábban nem volt /b könyvtár. .PP A másoláskor keletkező fájlok és könyvtárak jogai ugyanazok lesznek, mint az eredeti állományoké, 0777 értékkel végzett ÉS művelet után és a felhasználó umask-jával módosítva (kivéve, ha a \-p opció meg van adva). (A rekurzív másolás idejére az újonnan keletkezett könyvtárak átmenetileg a végleges mód helyett az S_IRWXU (0777) értékkelel és VAGY művelettel képzett módot kapják meg, hogy a processz olvasni, írni és keresni tudja ezeket a könyvtárakat). .PP Semmi nem történik akkor, ha egy fájlt önmagába másolunk (kivéve azt, hogy valószínűleg hibaüzenetet kapunk). Ha egy létező másik fájlba másolunk, az az `open(path, O_WRONLY | O_TRUNC)' hívással lesz megnyitva. Új fájlba másolás esetén az állomány az `open(path, O_WRONLY | O_CREATE, mód)' segítségével lesz létrehozva. Amennyiben ez sikertelen, a fájl már létezett; ha a -f opció lett megadva, a \fBcp\fR megpróbálja törölni a meglévő fájlt (vagy megszüntetni a linkelését), majd ha ez lezajlik, új fájlként végzi el rajta a másolást. .SH POSIX OPCIÓK A POSIX négy és fél opciót ismer: .TP .B \-f A létező fájlok törlése, amennyiben szükséges (lásd feljebb). .TP .B \-i A létező célfájlok felülírására rákérdez. (A kérdést az stderr\-re írja, a választ az stdin\-ről olvassa be. Csak megerősítő válasz esetén másol.) .TP .B \-p Megőrzi az eredeti fájl tulajdonosát, csoportját, jogosultságait (beleértve a setuid és setgid biteket), az utolsó módosítás valamint az utolsó hozzáférés idejét. Ha a tulajdonos és csoport duplikálása sikertelen, a setuid és setgid bitek törlődnek. (Megjegyzendő, hogy ezután az eredeti és a másolat utolsó hozzáférési ideje eltérhet, mivel a másolás művelete a forrásfájlhoz való hozzáférést takar). .TP .B \-R A könyvtárakat rekurzívan másolja és a megfelelő műveleteket végzi az olyan objektumokon, amelyek nem hagyományos fájlok illetve könyvtárak. (Így egy FIFO vagy speciális fájl másolata is FIFO vagy speciális fájl lesz). .TP .B \-r A könyvtárakat rekurzívan másolja, illetve valamilyen nem specifikált műveletet végez az olyan objektumokon, amelyek nem hagyományos fájlok illetve könyvtárak. (Ezért lehetséges és voltaképp támogatott a \-r opció használata a \-R szinonimájaként, de nem lehet kizárni, hogy a .B cp jelenlegi GNU verziója (lásd lentebb) ostobán viselkedik az ilyen esetekben.) .TP .B "\-\-" Lezárja az opciók listáját. .SH GNU LEÍRÁS Általában véve, a fájlok rögtön az olvasás után írásra kerülnek. A kivételek tekintetében lásd alább a \fB\-\-sparse\fR opciót. .PP Alapértelmezésben a `cp' nem másol könyvtárakat (lásd alább az \fB\-r\fR opciót). .PP A \fBcp\fR általában visszautasítja a fájl önmagába való másolását, a következő kivétellel: ha a \fB\-\-force\fR és a \fB\-\-backup\fR opció van megadva, a \fBforrás\fR és a \fBcél\fR azonos és egy szokványos fájlra utal, a \fBcp\fR a megszokott módon egy mentésfájlt (backup) készít (a megadottak szerint egyszerűt vagy számozottat). Ez akkor hasznos, ha egyszerűen másolatot akarunk készíteni egy fájlról a módosítása elott. .SH GNU OPCIÓK .TP .B "\-a, \-\-archive" Amennyire csak lehetséges, megőrzi az eredeti fájlok struktúráját és jellemzőit (attributes) a másolatban. Ugyanaz, mint .IR \-dpR . .TP .I "\-d, \-\-no-dereference" A szimbolikus csatolásokat (symbolic link) szimbolikus csatolásként másolja ahelyett, hogy az általuk mutatott fájlokat másolná, továbbá megőrzi az erős csatolás (hard link) kapcsolatokat a forrásfájlok között a másolatban. .TP .I "\-f, \-\-force" A létező célfájlok törlése, rákérdezés nélkül. .TP .I "\-i, \-\-interactive" A felhasználó megkérdezése arról, hogy felülírhatók-e a létező célfájlok. .TP .I "\-l, \-\-link" Erős csatolások (hard link) létrehozása a nem könyvtár állományok másolása helyett. .TP .I "\-p, \-\-preserve" Megőrzi az eredeti fájl tulajdonosát, csoportját, jogosultságait és időbélyegeit. .TP .I "\-P, \-\-parents" A célfájlok nevének kialakítása a következőképpen történik: a célkönyvtár neve egy perjellel (/), majd a forrásfájl(ok) nevével lesz kiegészítve. A .BR cp \-nek átadott utolsó argumentum egy létező könyvtár neve kell legyen. Például a `cp \-\-parents a/b/c existing_dir' parancs az .I a/b/c fájlt .I existing_dir/a/b/c -be másolja, létrehozva az összes hiányzó köztes könyvtárat. .TP .I \-r A könyvtárak rekurzív másolása. A nem könytár és nem szimbolikus link fájlokat (pl. FIFO-k és speciális fájlok) reguláris fájlként másolja. Ez azt jelenti, hogy minden forrásból megpróbálja olvasni az adatokat és a célba írni. Így, ezzel az opcióval a `cp' nem meghatározható módon elakadhat egy FIFO vagy a /dev/tty olvasásakor. (Ez egy hiba. Ez azt jelenti, hogy kerülni kell a \-r használatát és a \-R\-et érdemes választani akkor, amikor a másolt struktúra tartalmával nem vagyunk tisztában. Egy ismeretlen eszközfájl (például scanner) megnyitása váratlan hatással lehet a hardverre.) .TP .I "\-R, \-\-recursive" A könyvtárakat rekurzívan másolja, megőrizve a nem könyvtár fájlokat (lásd fentebb a \-r opciót). .TP .I "\-\-sparse=" "MIKOR" Egy `ritka fájl' `lyukakat' tartalmaz - nulla bájtok sorozatát, amelyek nem foglalnak fizikai diszk-blokkokat; a `read' rendszerhívás ezeket nullaként olvassa. Ez egyrészt jelentős helyet takaríthat meg, másrészt növeli a sebességet, mivel számos bináris állomány tartalmaz sok folyamatos nulla bájtot. Alapértelmezésben a \fBcp\fR egy durva heurisztikus módszerrel megtalálja a lyukakat a bemeneti fájlokban és a megfelelő kimeneti állományt is ritkává teszi. .RS .PP A .I MIKOR érték a következő lehet: .TP .B auto Ez az alapviselkedés: a kimeneti fájl ritka, ha a bemeneti is az. .TP .B always A kimeneti fájl mindig ritka. Ez olyankor hasznos, ha az inputfájlt tartalmazó fájlrendszer nem támogatja a ritka állományokat, a fogadó fájlrendszer azonban igen. .TP .B never A kimeneti fájl sohasem ritka. Ha találsz alkalmazást erre az opcióra, szóljál nekünk is. .RE .TP .I "\-s, \-\-symbolic-link" A nem-könytár fájlokról másolat helyett szimbolikus csatolást hoz létre. Minden forrásfájlnév abszolút kell legyen (azaz `/'-rel kezdődjön) hacsak nem a célfájlok az aktuális könyvtárban vannak. Ez az opció hibaüzenetet eredményez olyan rendszerekben, amelyek nem támogatják az szimbolikus csatolásokat. .TP .I "\-u, \-\-update" Nem másolja azokat a nem-könyvtár fájlokat, amelyeknek azonos vagy újabb módosítási idővel rendelkező célfájlja létezik. .TP .I "\-v, \-\-verbose" Kiírja minden fájl nevét, mielőtt másolná. .TP .I "\-x, \-\-one-file-system" Átlépi azokat az alkönytárakat, amelyek más fájlrendszerekben vannak, mint az, amelyben a másolás elkezdődött. .SH "GNU MENTÉSI (BACKUP) OPCIÓK" Szükség esetén az olyan programok GNU verziói, mint pl. a .BR cp , .BR mv , .BR ln , .B install és .BR patch , mentést fognak végezni az olyan fájlokról, amelyek felülíródnak, megváltoznak vagy törlődnek. A mentés szükségességét a -b opció jelzi. Azt, hogy a mentésfájlok nevét hogyan kell képezni, a -V opció adja meg. Abban az esetben, ha a mentésfájl nevét az eredeti névhez egy utótag toldásával kell képezni, a -S kapcsolóval lehet kijelölni az utótagot. .TP .B "\-b, \-\-backup" Mentést készít azokról a fájlokról, amelyek felülíródnak vagy törlődnek. .TP .I "\-S UTÓTAG, \-\-suffix=UTÓTAG" Minden mentésfájl nevének végéhez hozzáfűzi a .BR UTÓTAG \-ot. Ha ez az opció nincsen megadva, a .B SIMPLE_BACKUP_SUFFIX környezeti változó értékét használja. Amennyiben a környezeti változó sem adott, a végződés `~' lesz. .TP .I "\-V MÓD, \-\-version-control=MÓD" .RS Megadja, hogy a mentések hogyan lesznek elnevezve. A .B MÓD argumentum lehet `numbered' (vagy `t'), `existing' (vagy `nil') vagy `never' (vagy 'simple'). Ha ez az opció nincsen megadva, akkor a .B VERSION_CONTROL környezeti változó értékét használja. Ha .BR VERSION_CONTROL /-nak nincs értéke, az alapértelmezett mentési típus az `existing'. .PP Ez az opció megfelel az Emacs `version-control' változójának. A .IR MÓD lehetséges értékei (egyértelmű rövidítések elfogadva): .TP .BR `t' vagy `numbered' Mindig sorszámozott mentés készül. .TP .BR `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. .TP .BR `never' vagy `simple' Mindig egyszerű mentés készül. .RE .SH SZABVÁNYOS GNU OPCIÓK .TP .I "\-\-help" Használati útmutatót ír a szabványos kimenetre, majd kilép. .TP .I "\-\-version" A program verziójáról ír ki információt a szabványos kimenetre, majd kilép. .TP .I "\-\-" Lezárja az opciók listáját. .SH KÖRNYEZET A LANG, LC_ALL, LC_COLLATE, LC_CTYPE és LC_MESSAGES környezeti változók a szokásos jelentéssel rendelkeznek. A GNU verzióban a SIMPLE_BACKUP_SUFFIX és a VERSION_CONTROL változók a fent leírt módon szabályozzák a mentésfájlok elnevezését. .SH MEGFELELŐSÉG POSIX 1003.2 .SH MEGJEGYZÉSEK Ez az oldal azt a .BR cp \-t írja le, ami a fileutils-4.0 csomagban található; más változatok némileg eltérhetnek. .br Javításokat és kiegészítéseket az aeb@cwi.nl címre lehet küldeni (angolul). .br A hibákat a fileutils-bugs@gnu.ai.mit.edu címen lehet jelenteni (angolul). .SH MAGYAR FORDÍTÁS Horváth András .br Magyari Miklós