A cikkben említett parancsokat és példákat futtattuk egy Debian 10 Buster rendszeren, de szinte minden Linux disztribúción megismételheti őket.
A Linux parancssor, a Terminal könnyen elérhető az Alkalmazáson keresztül. Indító keresés az alábbiak szerint:
1. példa: Egyetlen fájl másolása egy célkönyvtárba
A cp parancs legegyszerűbb használata: egyetlen forrásfájl másolása egy célkönyvtárba. A következő szintaxist használhatja erre:
$ cp forrásfájl / cél / könyvtárPélda:
Ebben a példában a minta_fájl nevű fájlt másolom.txt a Dokumentumok mappámba:
Később az ls paranccsal ellenőriztem a fájl jelenlétét a célmappában.
2. példa: Több fájl másolása egy célkönyvtárba
A cp paranccsal több fájlt átmásolhat egy célkönyvtárba a következő szintaxis használatával:
$ cp forrásfájl1 forrásfájl2 forrásfájl3… / cél / könyvtárPélda:
Ebben a példában két mintafájlt másolok a Dokumentumok mappámba a cp paranccsal:
Később az ls paranccsal ellenőriztem ezen fájlok jelenlétét a célmappában.
3. példa: Fájlok másolása interaktív módon
Ha egy azonos nevű fájl létezik a célmappában, a cp paranccsal megkérdezheti, mielőtt felülírná a célfájlt. Az -i kapcsolót a következő módon használhatja:
$ cp -i forrásfájl / cél / könyvtárPélda:
Ebben a példában egy minta_fájl nevű fájl.A txt már létezik a Documents mappámban, ezért a cp parancs az -i jelzővel felkéri, ha felül akarom írni. A fájl felül lesz írva, ha ebben a parancssorban beírom az y-t.
4. példa: Fájlok másolása Verbose kimenettel együtt
A részletes kimenet kinyomtatja, hogy a parancs mit csinál. Ez beépíthető a cp parancsba a -v kapcsolóval az alábbiak szerint:
$ cp -v forrásfájl / cél / könyvtárPélda:
A következő példában láthatja, hogy a cp parancs hogyan nyomtat részletes kimenetet a parancs másolása közben:
5. példa: Könyvtár rekurzív másolása
Az -r opció használata a cp paranccsal rekurzív módon másolja a könyvtár összes fájlját és mappáját egy másik helyre. Így használhatja a cp parancsot ebben a forgatókönyvben:
$ cp -r könyvtár1 könyvtár2Példa:
A következő példában a teljes 1 mappa és annak összes fájlja átmásolásra kerül a 2. mappába.
Később az ls paranccsal ellenőriztem a mappa2 tartalmát. A folder2 tartalmazza a forrás mappa másolatát.
6. példa: Könyvtár rekurzív másolása archívum megőrzése mellett
Az -a kapcsoló használatával a cp paranccsal egyszerre két dolgot tehet:
- A könyvtár fájljait rekurzívan másolja át egy másik könyvtárba
- A fájlok másolása közben az engedélyek, az időbélyegző, a szimbolikus hivatkozások és az összes ilyen tulajdonság érintetlen marad.
Így használhatja a cp parancsot ebben a forgatókönyvben:
$ cp -a könyvtár1 könyvtár2Példa:
A következő példában az egész 1 mappa és annak összes fájlja átmásolásra kerül a 2. mappába. Ezenkívül a fájlokat az 'ls -l paranccsal' később ellenőrzött módon archiválják.
7. példa: Másoljon egy fájlt, ha az újabb, mint a célfájl
Néha csak akkor akar másolni egy fájlt a célkönyvtárba, ha az újabb, mint a célfájl. Ez megtehető az -u kapcsoló használatával a cp paranccsal:
$ cp -u forrásfájlORsourced Directory / target / könyvtárPélda:
Ebben a példában szerkesztettem a sample_file fájlt.txt a forrás mappámból. Ezeket a fájlokat már a célmappába másolták, mielőtt a fájlt szerkeszteném. Ez az 'ls -l' parancs következő kimenetében látható:
Most, amikor átmásoltam a forrásmappát a célmappába, a részletes kimenet ellenőrizte, hogy csak az a fájl lesz másolva, amelyet én szerkesztettem.
8. példa: Másoljon egy fájlt, de ne írja felül, ha már létezik célfájl
Elmondhatja a cp parancsnak, hogy ne írja felül a fájlt, ha az már létezik a célhelyen. Ez a -n kapcsolón keresztül történhet az alábbiak szerint:
$ cp -n forrásfájl / cél / könyvtárPélda:
Ebben a példában először megpróbáltam egy fájlt átmásolni arra a helyre, ahol már létezett. A -i kapcsoló arra késztetett, hogy felülírjam.
A második parancsban hozzáadtam a -n kapcsolót. Figyelmen kívül hagyta az -i kapcsolót, de nem írta felül a célkönyvtárban már meglévő fájlt.
9. példa: Hozzon létre egy szimbolikus linket egy fájlhoz a célkönyvtárban
A cp parancs -s kapcsolójával a forrásfájl másolása helyett szimbolikus hivatkozást hozhat létre a célmappában található forrásfájlra.
$ cp -s forrásfájl / cél / könyvtárPélda:
A következő példában létrehoztam egy szimbolikus linket a sample_file fájlhoz.txt a célmappában.
Később az 'ls -l' paranccsal ellenőriztem a szimbolikus hivatkozás jelenlétét a célmappában.
10. példa: Hozzon létre egy kemény linket egy fájlhoz a célkönyvtárban
Ha kemény mappát hoz létre egy másik mappában található fájlhoz, a fájl nem másolódik a célmappába; ehelyett egy kemény hivatkozás jön létre a forrásfájlhoz. A forrásfájl és a másolt hard link inode száma is megegyezik. Így hozhat létre kemény linket:
$ cp -l forrásfájl / cél / könyvtárPélda:
Ebben a példában készítettem egy kemény linket a forrásfájlra a Dokumentumok mappában.
Az 'ls -il' paranccsal ellenőriztem, hogy az eredeti fájlnak és a hard linknek is ugyanaz az inode száma.
Ezt kellett tudnod ahhoz, hogy el tudd sajátítani a cp parancsot Linux alatt. Ezeknek a kapcsolóknak a kombinációjával sokkal testreszabhatóbbá teheti a fájlmásolást.