拷贝文件到Linux系统是日常运维和开发中的常见操作,根据文件大小、网络环境、安全需求等不同场景,可选择多种方法,以下是几种主流方式的详细说明及操作步骤。

本地拷贝:使用cp命令
当文件已在Linux本地或可挂载的存储设备(如U盘)中时,cp是最基础的拷贝工具。
基本语法:cp [选项] 源文件 目标路径
常用选项:
-r:递归拷贝目录(需搭配使用,否则会报错);-p:保留文件权限、时间戳等属性;-v:显示详细拷贝过程,便于排查问题。
操作示例:
- 拷贝单个文件到指定目录:
cp document.txt /home/user/Documents/ # 将当前目录下的document.txt拷贝到用户文档目录
- 递归拷贝整个目录:
cp -r project_folder /backup/ # 将project_folder目录及其所有内容拷贝到/backup/下
- 拷贝并保留文件属性:
cp -p config.conf /etc/nginx/ # 拷贝配置文件时保留原权限、属主等信息
注意事项:若目标路径与源文件同名,cp会直接覆盖,建议先用ls确认目标路径是否存在,或添加-i选项实现交互式覆盖(cp -i)。
远程拷贝:使用scp或rsync
需跨机器传输文件时,基于SSH的scp和rsync是安全可靠的选择,尤其适合服务器间文件同步。
scp(Secure Copy)
适合一次性传输小文件,语法简单,依赖SSH协议(需目标机器开启SSH服务)。
基本语法:scp [选项] 源文件 用户名@目标主机IP:目标路径
常用选项:

-P:指定SSH端口(默认22);-r:递归拷贝目录;-C:开启压缩,适合传输大文件。
操作示例:
- 从本地拷贝文件到远程服务器:
scp -P 22 -C large_file.zip user@192.168.1.100:/home/user/downloads/
- 从远程服务器拷贝文件到本地:
scp user@192.168.1.100:/remote/path/data.tar.gz ./local_folder/
rsync(Remote Sync)
适合大文件或增量同步,支持断点续传、属性保留,效率高于scp。
基本语法:rsync [选项] 源文件 用户名@目标主机IP:目标路径
常用选项:
-a:归档模式,保留权限、时间戳等(相当于-rlptgoD);-v:显示传输详情;-z:压缩传输;--progress:显示实时传输进度。
操作示例:
rsync -avz --progress /local/folder/ user@192.168.1.100:/remote/folder/
网络共享拷贝:挂载共享目录
若文件存储在Windows共享(Samba)或NFS服务器上,可通过挂载方式将共享目录映射到本地,再使用cp拷贝。
挂载Samba共享(Windows共享)
- 安装依赖:
sudo apt install cifs-utils(Ubuntu/Debian)或sudo yum install cifs-utils(CentOS); - 创建挂载点:
sudo mkdir /mnt/samba_share; - 挂载共享目录:
sudo mount -t cifs //192.168.1.200/share_folder /mnt/samba_share -o username=win_user,password=win_pass
- 拷贝文件:
cp /mnt/samba_share/file.txt ./; - 卸载挂载:
sudo umount /mnt/samba_share。
挂载NFS共享(Linux/Unix共享)
- 安装依赖:
sudo apt install nfs-common(Ubuntu/Debian); - 创建挂载点:
sudo mkdir /mnt/nfs_share; - 挂载:
sudo mount 192.168.1.300:/export/path /mnt/nfs_share; - 拷贝文件后卸载:
sudo umount /mnt/nfs_share。
图形界面拷贝(适合桌面Linux)
若使用GNOME、KDE等桌面环境,可通过文件管理器直接拖拽或右键拷贝:

- 打开文件管理器(如Nautilus);
- 按
Ctrl+L输入sftp://用户名@主机IP,连接远程服务器(需输入密码); - 本地文件与远程目录并列显示,直接拖拽即可拷贝;
- 或使用工具如FileZilla(支持SFTP/FTP),图形化操作更直观。
不同拷贝方法对比
| 方法 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
cp |
本地或挂载设备文件拷贝 | 简单快速,系统自带 | 不支持远程传输,无断点续传 |
scp |
远程小文件一次性传输 | 基于SSH安全,语法简单 | 大文件传输慢,无增量同步 |
rsync |
远程大文件/增量同步 | 高效,支持断点续传,保留属性 | 需安装rsync,参数稍复杂 |
| 挂载共享目录 | 跨平台网络共享文件 | 可像本地文件一样操作 | 需配置共享服务,依赖网络 |
| 图形界面 | 桌面环境,偏好可视化操作 | 直观易用,无需记命令 | 依赖图形界面,远程需额外配置 |
相关问答FAQs
Q1:拷贝文件时提示“Permission denied”,如何解决?
A:通常是由于目标目录权限不足或当前用户无权操作,可尝试以下方法:
- 检查目标目录权限:
ls -ld 目标路径,确认当前用户是否有写权限(如权限为755,属主为root,普通用户需用sudo); - 使用
sudo提权:sudo cp 源文件 /目标路径/(需输入用户密码); - 修改目录权限:
sudo chmod 777 目标路径(谨慎使用,仅临时调试)。
Q2:使用rsync拷贝大文件时如何中断传输并断点续传?
A:rsync默认支持断点续传,只需中断后重新执行相同命令即可,具体步骤:
- 按
Ctrl+C中断传输; - 重新运行rsync命令(确保源文件、目标路径、参数与之前一致),rsync会自动检测已传输部分,从断点继续:
rsync -avz --progress /local/large_file.zip user@remote:/remote/path/
若需强制重新传输,可加
--checksum选项(校验文件内容,较耗时)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/30910.html