cpx Diperkenalkan sebagai Pengganti Linux cp yang Lebih Cepat dan Modern


Sebuah alat baru berbasis Rust yang disebut cpx menawarkan alternatif modern untuk perintah cp tradisional di Linux, dengan menambahkan penyalinan paralel, bilah kemajuan, dukungan melanjutkan, dan default yang dapat dikonfigurasi.

Seperti yang kita ketahui, penyalinan file di Linux sudah lama mengandalkan perintah klasik cp, yang tetap dapat diandalkan namun memberikan sedikit umpan balik dan kontrol terbatas atas operasi yang panjang atau kompleks.

Untuk mengatasi hal ini, sebuah alat baris perintah baru berbasis Rust yang menjanjikan bernama cpx muncul, dirancang sebagai alternatif daripada pengganti, yang mendekati tugas yang sama dengan fokus pada kinerja, visibilitas, dan kemampuan konfigurasi.

Ini ditujukan untuk skenario di mana pohon direktori yang besar, transfer yang terputus, atau kebutuhan pelaporan kemajuan yang rinci membuat alat standar kurang nyaman digunakan. Proyek ini saat ini hanya untuk Linux dan memanfaatkan fitur kernel modern untuk meningkatkan kecepatan dan keandalan penyalinan.

Tolok ukur yang diterbitkan oleh proyek menunjukkan waktu penyalinan hingga empat hingga lima kali lebih cepat daripada cp pada kumpulan file besar. Sekarang, mari kita lihat karakteristik utama dari cpx.

  • Penyalinan file paralel: cpx melakukan beberapa operasi penyalinan secara bersamaan. Pengguna dapat mengontrol tingkat paralelisme, memungkinkan alat ini memanfaatkan penyimpanan cepat dan sistem multi-core dengan lebih baik.
  • Pelaporan kemajuan: Alat ini dilengkapi dengan bilah kemajuan bawaan yang menampilkan status salinan secara real-time. Output kemajuan dapat disesuaikan dan dapat dikonfigurasi secara global atau per proyek.
  • Transfer yang bisa dilanjutkan: Pekerjaan salin yang terputus dapat dilanjutkan nanti menggunakan verifikasi checksum, dan file yang sudah disalin akan dilewati secara otomatis.
  • Pola pengecualian: cpx mendukung aturan pengecualian mirip dengan .gitignore, memungkinkan pengguna untuk mengabaikan file atau direktori seperti metadata kontrol versi, hasil build, atau file sementara. Pengecualian dapat didefinisikan melalui baris perintah atau dalam file konfigurasi.
  • Konfigurasi persisten: Default untuk perilaku salin dapat disimpan dalam file konfigurasi di tingkat proyek, pengguna, atau sistem. Pengaturan termasuk rekursi, paralelisme, gaya progres, penggunaan reflink, dan pelestarian atribut.
  • Fitur sistem file khusus Linux: Alat ini mendukung atribut tambahan, pelestarian konteks SELinux, cap waktu, kepemilikan, tautan keras, dan reflink salin-dalam-tempat opsional pada sistem file yang didukung.
  • Perilaku salin yang fleksibel: cpx termasuk opsi untuk penimpaan interaktif, cadangan, penanganan symlink dan hard link, salinan hanya atribut, serta kontrol mendetail tentang bagaimana tujuan dibuat atau diganti.

Instalasi sangat sederhana, tersedia melalui skrip shell. Untuk memulai dengan scp, cukup jalankan:

curl -fsSL https://raw.githubusercontent.com/11happy/cpx/main/install.sh | bash

Meskipun dukungan untuk macOS dan Windows tercantum dalam roadmap proyek, rilis saat ini fokus secara eksklusif pada Linux. Untuk informasi lebih lanjut, lihat halaman GitHub alat tersebut.