为什么使用 rsync

  1. scp 已经过时了

优势

  • 可以压缩传输 -z
  • 可以打包传输,保持更多文件信息 -a

复制文件夹的注意事项

/ 和不带是有区别的

  1. 不带 /, 内容和文件夹名称,一起复制

    1
    2
    
    rsync ./hello ~/
    # 在 ~/ 下,生成 hello 文件夹
  2. 不带 /, 只复制内容,不保留文件夹名

    1
    2
    
    rsync ./hello/ ~/
    # 在 ~/ 下,生成 hello 文件夹下面的内容,不会生成 hello 文件夹

和 cp 的区别

cp 复制文件夹,不论是否带 / 都会把文件夹名复制过去

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
❯ ll hello
total 12K
drwxrwxr-x  3 sawyer sawyer 4.0K Mar 29 16:23 .
drwxrwxr-x 35 sawyer sawyer 4.0K May 14 19:21 ..
drwxrwxr-x  3 sawyer sawyer 4.0K Mar 29 16:23 chat_llm_v2
# 不带 =/=
❯ cp -r 2-origin hello/
❯ ll hello
total 16K
drwxrwxr-x  4 sawyer sawyer 4.0K May 22 12:33 .
drwxrwxr-x 35 sawyer sawyer 4.0K May 14 19:21 ..
drwxrwxr-x  2 sawyer sawyer 4.0K May 22 12:33 2-origin
drwxrwxr-x  3 sawyer sawyer 4.0K Mar 29 16:23 chat_llm_v2
❯ rm hello/2-origin -rf
# 带 =/=
❯ cp -r 2-origin/ hello/
❯ ll hello
total 16K
drwxrwxr-x  4 sawyer sawyer 4.0K May 22 12:33 .
drwxrwxr-x 35 sawyer sawyer 4.0K May 14 19:21 ..
drwxrwxr-x  2 sawyer sawyer 4.0K May 22 12:33 2-origin
drwxrwxr-x  3 sawyer sawyer 4.0K Mar 29 16:23 chat_llm_v2

向 Windows 机器上传输文件

注意路径写法:

1
rsync -avh /mnt/d/data/wsl/Arch20240430_v1.vhdx user2host_ip:D:/hello --info=progress2
  • 路径: user2host_ip:D:/hello