As we all know, file copying on Linux has long relied on the classic cp command, which remains reliable but offers little feedback and limited control over long or complex operations.

To address this, a promising new Rust-based command-line tool called cpx emerge, designed as an alternative rather than a replacement, that approaches the same task with a focus on performance, visibility, and configurability.

It targets scenarios where large directory trees, interrupted transfers, or the need for detailed progress reporting make standard tools less convenient to use. The project is currently Linux-only and leverages modern kernel features to improve copy throughput and reliability.

  • onlinepersona@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    12 hours ago

    I just looked it up and - x means one filesystem. But does - v give you a progress bar or just a lost of stuff copied?

    IIRC rsync also treats the trailing slash in a special manner that I always have to look up.

    • frongt@lemmy.zip
      link
      fedilink
      arrow-up
      2
      ·
      5 hours ago

      Ha. I meant z. I guess I was getting mixed up with tar.

      No slash means the directory. Slash means the items in the directory.

    • cyrl@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      9 hours ago

      The trailing slash is just following cp’s own special treatment

      
      # before
      dir/
          file1
      target/
          orig.txt
      
      
      
      # no trailing slash - copy *dir* to target
      cp -r /path/to/some/dir /my/target
      
      # after
      target/
          orig.txt
          dir/            # dir copied to target
              file1
      
      
      
      # with trailing slash - copy *contents* of dir to target
      cp -r /path/to/some/dir/ /my/target
      
      # after
      target/
          orig.txt
          file1            # contents of dir