V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
pxiphx891
0.01D
V2EX  ›  程序员

使用 tar 拷贝文件速度会更快吗?

  •  
  •   pxiphx891 · Nov 15, 2023 · 1203 views
    This topic created in 898 days ago, the information mentioned may be changed or developed.

    我在 tar 的 manual 中看到这样的示例

    To move file hierarchies, invoke tar as

               tar -cf - -C srcdir . | tar -xpf - -C destdir
    

    or more traditionally

               cd srcdir ; tar -cf - . | (cd destdir ; tar -xpf -)
    

    这和cp -r有什么区别?

    3 replies    2023-11-15 19:14:40 +08:00
    AoEiuV020JP
        1
    AoEiuV020JP  
       Nov 15, 2023
    速度没差的,纯 tar 也不包含压缩,
    主要用途应该是保留各种权限、所有者、软链接、甚至是修改时间,
    不确定,没这么用过,
    miaosl
        2
    miaosl  
       Nov 15, 2023   ❤️ 2
    但是对于一些琐碎的小文件来说,tar 打包之后传输还是快些的
    然后就是 tar 可以把目录打包比如 tar -cf /root/test/*
    解压缩出来的就是/root/test/*这样的一个目录
    ysc3839
        3
    ysc3839  
       Nov 15, 2023 via Android
    去看了下 coreutils 的代码,cp 是支持 fclonefileat 或 ioctl FICLONE 的,所以在特定文件系统下会更快。如果 tar 更快的话,个人猜测要不然是因为中间有管道作为缓冲,不过管道默认的缓冲区大小不算太大,可能提升不明显。要不然是因为 tar 没有 cp 那么多额外的检查。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   947 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 18:40 · PVG 02:40 · LAX 11:40 · JFK 14:40
    ♥ Do have faith in what you're doing.