服务器系统linux怎么拷贝文件夹
服务器系统linux怎么拷贝文件夹详细介绍
在 Linux 服务器上拷贝文件夹,可根据场景选择以下方法:
一、本地拷贝(同服务器内)
1. 基础命令(递归复制)
bash
源文件夹路径 目标路径/home/user/docs /backup/
-r:递归复制文件夹及所有内容(必选,否则仅复制空目录)-p:保留文件权限、时间戳等属性(推荐)-v:显示复制过程(可选,适合大文件夹)
2. 避免覆盖(安全模式)
bash
源文件夹 目标路径源文件夹 目标路径
二、远程拷贝(跨服务器)
1. 使用
scp(简单快速)
bash
本地文件夹路径 用户名@远程IP:目标路径
docs user@192.168.1.100:/data/
用户名@远程IP:源文件夹路径 本地目标路径
user@192.168.1.100:/home/docs ~/downloads/
2. 使用
rsync(推荐,支持增量同步)
bash
源文件夹 目标路径/home/user/docs user@192.168.1.100:/data/docs
-a:归档模式(等价-rltpgoD,保留权限、链接等)-v:显示详细进度-z:压缩传输,节省带宽--delete:目标端多余文件自动删除(谨慎使用)
三、注意事项
- 权限问题:若提示
Permission denied,需用sudo或确保目标路径可写:bash源文件夹 /需要权限的目标路径 - 路径规范:
- 源文件夹需以
/结尾:cp -r docs/ /target(复制目录内的内容到目标) - 否则会复制整个目录名:
cp -r docs /target(目标路径下生成target/docs)
- 源文件夹需以
- 大文件夹优化:
- 本地复制可加
--reflink=auto(需文件系统支持,如 ext4)提升速度:bashauto 大文件夹 /target
- 本地复制可加
四、常见场景示例
- 备份当前目录下的
project到backup目录:bashproject backup/ - 远程同步服务器
webroot到本地:bashuser@webserver:/var/www/html ~/local-web-backup912rsync user@webserver:/var/www/html ~/local-web-backup
根据需求选择对应命令,cp 适合简单复制,rsync 更适合远程同步或增量更新。