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=progressgzip压缩节省空间(如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);