cpx Diperkenalkan sebagai Gantian yang Lebih Pantas dan Moden untuk Linux cp


Alat baru berasaskan Rust yang dipanggil cpx menawarkan alternatif moden kepada arahan cp tradisional di Linux, dengan menambah penyalinan selari, bar kemajuan, sokongan sambung semula, dan tetapan lalai yang boleh dikonfigurasi.

Seperti yang kita semua maklum, penyalinan fail di Linux telah lama bergantung pada arahan klasik cp, yang tetap boleh dipercayai tetapi memberi maklum balas yang sedikit dan kawalan yang terhad ke atas operasi yang panjang atau kompleks.

Untuk menangani ini, sebuah alat baris perintah baru berasaskan Rust yang menjanjikan bernama cpx muncul, direka sebagai alternatif dan bukannya pengganti, yang mendekati tugasan yang sama dengan fokus pada prestasi, keterlihatan, dan kebolehkonfigurasian.

Ia mensasarkan senario di mana pokok direktori yang besar, pemindahan yang terganggu, atau keperluan laporan kemajuan yang terperinci menjadikan alat standard kurang selesa untuk digunakan. Projek ini buat masa ini hanya untuk Linux dan menggunakan ciri kernel moden untuk meningkatkan kelajuan salinan dan kebolehpercayaan.

Penanda aras yang diterbitkan oleh projek menunjukkan masa salinan sehingga empat hingga lima kali lebih laju daripada cp pada set fail besar. Sekarang, mari kita tinjau ciri-ciri utama cpx.

  • Penyalinan fail secara selari: cpx melaksanakan beberapa operasi salinan secara serentak. Pengguna boleh mengawal tahap keselerasan, membolehkan alat ini menggunakan storan pantas dan sistem berbilang teras dengan lebih baik.
  • Laporan kemajuan: Alat ini termasuk bar kemajuan terbina dalam yang menunjukkan status salinan secara masa nyata. Output kemajuan boleh disesuaikan dan boleh dikonfigurasikan secara global atau setiap projek.
  • Pemindahan boleh disambung semula: Tugas salinan yang terganggu boleh disambung semula kemudian menggunakan pengesahan checksum, dan fail yang telah disalin akan diabaikan secara automatik.
  • Corak pengecualian: cpx menyokong peraturan pengecualian yang serupa dengan .gitignore, membolehkan pengguna mengecualikan fail atau direktori seperti metadata kawalan versi, output binaan, atau fail sementara. Pengecualian boleh ditakrifkan di baris arahan atau dalam fail konfigurasi.
  • Konfigurasi berterusan: Tetapan lalai untuk kelakuan salinan boleh disimpan dalam fail konfigurasi di peringkat projek, pengguna, atau sistem. Tetapan termasuk rekursi, kepelbagaian selari, gaya kemajuan, penggunaan reflink, dan pemeliharaan atribut.
  • Ciri-ciri sistem fail khusus Linux: Alat ini menyokong atribut lanjutan, pemeliharaan konteks SELinux, cap masa, pemilikan, pautan keras, dan pilihan salin-pada-tulis reflinks pada sistem fail yang disokong.
  • Perilaku salinan yang fleksibel: cpx termasuk pilihan untuk timpa interaktif, sandaran, pengendalian pautan simbolik dan pautan keras, salinan hanya atribut, dan kawalan terperinci ke atas cara destinasi dicipta atau digantikan.

Pemasangan adalah sangat mudah, boleh dilakukan melalui skrip shell. Untuk memulakan dengan scp, hanya jalankan:

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

Walaupun sokongan macOS dan Windows disenaraikan dalam peta jalan projek, keluaran semasa memberi tumpuan sepenuhnya kepada Linux. Untuk maklumat lanjut, sila lihat halaman GitHub alat tersebut.