cpx geïntroduceerd als een snellere, moderne vervanging voor Linux cp
Een nieuwe Rust-gebaseerde tool genaamd cpx biedt een modern alternatief voor het traditionele cp-commando op Linux, met parallel kopiëren, voortgangsbalken, hervattingsondersteuning en configureerbare standaardinstellingen.
Zoals we allemaal weten, maakt het kopiëren van bestanden op Linux al lange tijd gebruik van het klassieke cp-commando, dat betrouwbaar blijft maar weinig feedback geeft en beperkte controle biedt over lange of complexe bewerkingen.
Om dit aan te pakken, is er een veelbelovend nieuw Rust-gebaseerd commandoregelhulpmiddel genaamd cpx ontstaan, ontworpen als een alternatief in plaats van als vervanging, dat dezelfde taak benadert met een focus op prestaties, zichtbaarheid en configureerbaarheid.
Het is gericht op scenario's waarbij grote mappenstructuren, onderbroken overdrachten of de behoefte aan gedetailleerde voortgangsrapportage het gebruik van standaardtools minder handig maken. Het project is momenteel alleen voor Linux en maakt gebruik van moderne kernel-functies om de kopieersnelheid en betrouwbaarheid te verbeteren.
Volgens benchmarks die door het project zijn gepubliceerd, zijn de kopieertijden tot vier tot vijf keer sneller dan cp bij grote bestanden. Laten we nu de belangrijkste kenmerken van cpx doornemen.
- Parallelbestanden kopiëren:
cpxvoert meerdere kopieerbewerkingen gelijktijdig uit. Gebruikers kunnen het niveau van parallelisme regelen, waardoor de tool beter gebruik kan maken van snelle opslag en multicore systemen. - Voortgangsrapportage: De tool bevat ingebouwde voortgangsbalken die de realtime status van de tekst laten zien. De voortgangsoutput is aanpasbaar en kan wereldwijd of per project worden ingesteld.
- Hervatbare overdrachten: Onderbroken kopieeropdrachten kunnen later worden hervat met behulp van checksum-verificatie, en reeds gekopieerde bestanden worden automatisch overgeslagen.
- Uitsluitingspatronen:
cpxondersteunt uitsluitingsregels vergelijkbaar met.gitignore, waardoor gebruikers bestanden of mappen kunnen negeren, zoals versiebeheermetadata, build-uitvoer of tijdelijke bestanden. Uitsluitingen kunnen worden gedefinieerd via de opdrachtregel of in configuratiebestanden. - Persistente configuratie: Standaardinstellingen voor kopieergedrag kunnen worden opgeslagen in configuratiebestanden op project-, gebruikers- of systeemniveau. Instellingen omvatten recursie, parallelisme, voortgangsweergave, gebruik van reflinks en behoud van attributen.
- Linux-specifieke bestandssysteemfuncties: Het hulpmiddel ondersteunt uitgebreide attributen, het behoud van SELinux-context, tijdstempels, eigendom, harde koppelingen en optionele copy-on-write reflinks op ondersteunde bestandssystemen.
- Flexibel kopieergedrag:
cpxbevat opties voor interactieve overschrijvingen, back-ups, het omgaan met symbolische en harde koppelingen, kopieën alleen van attributen en gedetailleerde controle over hoe bestemmingen worden aangemaakt of vervangen.
De installatie is heel eenvoudig en beschikbaar via een shellscript. Om aan de slag te gaan met scp, voer gewoon het volgende uit:
curl -fsSL https://raw.githubusercontent.com/11happy/cpx/main/install.sh | bashHoewel ondersteuning voor macOS en Windows op de projectroutekaart staat, richt de huidige release zich uitsluitend op Linux. Voor meer informatie kunt u de GitHub-pagina van de tool bekijken.

