Ubuntu文件系统复制的常用方法
rsync是Ubuntu下最常用的文件系统复制工具,尤其适合大规模数据或需要增量备份的场景。它支持断点续传、权限保留、进度显示等功能,能高效同步文件并节省存储空间。
基本语法:sudo rsync -avh --progress /source/path/ /destination/path/
关键选项说明:
-a
:归档模式(保留权限、符号链接、时间戳等);-v
:显示详细操作信息;-h
:以人类可读格式显示文件大小(如KB、MB);--progress
:实时显示每个文件的复制进度;--partial
:保留中断的文件,支持后续续传(适合长时间任务)。/mnt/hdd/data_backup/
下的所有内容复制到/mnt/sdd/new_data/
,并显示进度:rsync -avh --partial --progress /mnt/hdd/data_backup/ /mnt/sdd/new_data/
/
表示复制目录内的内容(不包含目录本身),无/
则表示复制整个目录。dd命令用于逐位复制整个磁盘或分区(包括分区表、引导记录和未使用空间),生成精确的物理镜像,适合备份整个系统或迁移至新磁盘。
基本语法:sudo dd if=/dev/source_disk of=/dev/destination_disk bs=4M status=progress
参数说明:
if
:输入文件(源磁盘,如/dev/sda
);of
:输出文件(目标磁盘,如/dev/sdb
);bs
:块大小(默认512字节,设置为4M
可提升速度);status=progress
:显示复制进度。/dev/sda
磁盘完整克隆到/dev/sdb
:sudo dd if=/dev/sda of=/dev/sdb bs=4M status=progress
gzip
压缩节省空间(如gzip backup.img
)。tar命令可将文件系统打包成归档文件(支持压缩),适合跨机器传输或长期存储。需排除虚拟目录(如/proc
、/sys
),避免备份无效数据。
基本语法:sudo tar --exclude=/mnt/proc --exclude=/mnt/sys --exclude=/mnt/dev -cvpzf /path/to/backup.tar.gz -C /mnt .
参数说明:
-c
:创建新的归档文件;-v
:显示详细过程;-z
:用gzip压缩(减小文件大小);-p
:保留文件权限;-f
:指定归档文件名;-C
:切换到指定目录(如/mnt
,即系统根分区挂载点)。/mnt
目录(系统根分区)打包为backup.tar.gz
,排除虚拟目录:sudo tar --exclude=/mnt/proc --exclude=/mnt/sys --exclude=/mnt/dev -cvpzf /backup/backup.tar.gz -C /mnt .
sudo tar -xzvf backup.tar.gz -C /mnt
。Ubuntu默认的图形化文件管理器(Nautilus),通过拖放即可完成文件/目录复制,操作直观。
操作步骤:
Super+E
);Ctrl+A
全选);Ctrl+C
);Ctrl+V
)。/etc
、/usr
)需管理员权限,可在目标路径前加sudo
(如sudo nautilus
)。Clonezilla是开源的磁盘克隆工具,支持完整系统镜像备份与恢复,适合需要完全复制整个系统(包括引导、分区表)的场景。
使用步骤:
/dev/sda
)和目标磁盘(如/dev/sdb
);