A Linuxon megszokott cp parancs megbízható, de nagyobb másolási feladatoknál kevés visszajelzést és korlátozott vezérlést kínál. A cpx egy új, Rust-alapú parancssori eszköz, amely a teljesítményre, az átláthatóságra és a konfigurálhatóságra helyezi a hangsúlyt. Nem lecserélni akarja a cp-t, hanem kiegészíteni ott, ahol az már kényelmetlenné válik. A projekt jelenleg kizárólag Linuxra érhető el, és modern kernelképességeket használ a gyorsabb és megbízhatóbb fájlmásolás érdekében.
A fájlmásolás a Unix-szerű rendszerek egyik legalapvetőbb művelete, amelyet évtizedek óta a cp parancs lát el. Bár stabil és mindenhol elérhető, nagy könyvtárfák, megszakított másolások vagy hosszú ideig futó műveletek esetén kevés információt ad arról, mi történik éppen. A cpx erre a problémára kínál modern megközelítést: nem a kompatibilitást, hanem a hatékonyságot és a felhasználói visszajelzést helyezi előtérbe.
A projekt által közzétett mérések szerint a cpx bizonyos esetekben négyszer-ötször gyorsabb másolási időt ér el, mint a hagyományos cp, különösen sok fájlból álló adathalmazoknál. Ennek egyik kulcsa a párhuzamos feldolgozás, amely jobban kihasználja a többmagos processzorokat és a gyors háttértárakat.
Párhuzamos másolás és részletes állapotjelzés
A cpx egyik legfontosabb újítása a párhuzamos fájlmásolás, amelynél több másolási művelet fut egyszerre. A párhuzamosság mértéke szabályozható, így a felhasználó az adott rendszer képességeihez igazíthatja a működést. Ez különösen NVMe SSD-k vagy nagy sebességű RAID-tömbök esetén jelent érezhető előnyt.
A másolás állapotáról beépített folyamatjelző sávok adnak visszajelzést, amelyek valós időben mutatják az előrehaladást. A megjelenítés testre szabható, akár globális beállításként, akár projektenként, ami jól jöhet automatizált vagy hosszabb ideig futó feladatoknál.

Megszakítás utáni folytatás és kizárási szabályok
A cpx támogatja a megszakított másolások folytatását. Ellenőrzőösszegek (checksum) segítségével felismeri a már hibátlanul átmásolt fájlokat, és azokat automatikusan kihagyja, így nem kell elölről kezdeni egy hosszú műveletet.
Emellett a program kizárási mintákat is kezel, a .gitignore-hoz hasonló szabályrendszerrel. Ennek segítségével egyszerűen kihagyhatók például verziókezelési könyvtárak, fordítási maradványok vagy ideiglenes fájlok. Ezek a szabályok megadhatók parancssorból vagy konfigurációs fájlokban is.
Linux-specifikus funkciók és tartós beállítások
A cpx kifejezetten Linuxra készült, és kihasználja a rendszer fejlettebb fájlrendszer-képességeit. Támogatja többek között a kiterjesztett attribútumokat, a SELinux kontextusok megőrzését, az időbélyegeket, a tulajdonos- és jogosultsági adatokat, valamint a hard linkeket. Megfelelő fájlrendszereken (például Btrfs) opcionálisan copy-on-write reflinkek is használhatók, ami tovább gyorsíthatja a másolást és csökkentheti a tárhelyigényt.
A program viselkedése tartós konfigurációs fájlokban is rögzíthető, akár rendszer-, felhasználó- vagy projektszinten. Beállítható többek között a rekurzív másolás alapértelmezése, a párhuzamosság szintje, a folyamatjelzők stílusa vagy az attribútumkezelés módja.

Telepítés és jövőbeli tervek
A cpx telepítése jelenleg egy egyszerű shell szkripttel történik, ami gyorsan használhatóvá teszi az eszközt. Bár a fejlesztési ütemtervben szerepel macOS és Windows támogatás is, a jelenlegi verzió kizárólag Linuxra fókuszál, és ott igyekszik a lehető legtöbbet kihozni a modern kernel- és fájlrendszer-funkciókból.
curl -fsSL https://raw.githubusercontent.com/11happy/cpx/main/install.sh | bash
A cpx jó példája annak, hogyan lehet egy jól ismert, klasszikus Unix-eszközt újragondolni anélkül, hogy annak helyét erőszakkal átvenné. Aki gyakran dolgozik nagy mennyiségű fájllal, vagy fontos számára a sebesség és az átláthatóság, annak érdemes közelebbről is megismerkednie ezzel az új eszközzel.



