Mac复制文件到Linux失败怎么办?权限错误怎么解决?
在跨平台操作中,将macOS系统中的文件复制到Linux服务器或主机是一项常见需求,无论是开发者同步代码、运维人员传输配置文件,还是普通用户备份资料,都需掌握高效且安全的方法,本文将系统介绍多种实用方案,涵盖命令行、图形界面及第三方工具,帮助用户根据场景灵活选择,同时兼顾操作便捷性与数据安全性。

通过SSH协议实现安全传输
SSH(Secure Shell)是跨平台文件传输的可靠选择,尤其适用于远程Linux服务器,通过加密通道保障数据安全,macOS系统默认已安装SSH客户端,无需额外配置即可直接连接。
使用scp命令行工具
scp(secure copy)基于SSH协议,可在macOS终端中直接执行,支持文件和目录的批量传输,基本语法为:
scp [选项] 本源文件路径 用户名@Linux主机地址:目标目录路径
将macOS用户目录下的document.txt复制到Linux服务器的/home/user/目录:
scp ~/document.txt user@192.168.1.100:/home/user/
若需传输整个文件夹,添加-r选项(递归复制):
scp -r ~/Documents/project/ user@192.168.1.100:/home/user/
注意事项:首次连接Linux主机时,终端会提示保存主机密钥(输入yes确认);若目标Linux服务器修改了SSH默认端口(如2222),需通过-P参数指定:
scp -P 2222 ~/file.txt user@192.168.1.100:/home/user/
使用sftp交互式文件传输
sftp(SSH File Transfer Protocol)提供了类似FTP的交互式命令行界面,支持文件上传、下载、目录浏览等操作,适合需要精细管理文件的场景,连接命令为:
sftp user@192.168.1.100
登录后,可通过以下命令操作:
put 本地文件路径:上传文件到Linux主机;get 远程文件路径:从Linux主机下载文件到macOS;ls:列出远程目录内容;cd 目录名:切换远程目录;mkdir 目录名:在远程创建目录;exit:退出sftp会话。
上传整个项目文件夹:sftp> put -r ~/Documents/project
利用SMB/CIFS协议实现局域网共享
若macOS与Linux主机处于同一局域网,可通过SMB(Server Message Block)协议实现文件共享,类似Windows系统的网络共享,操作直观。
在Linux主机上安装SMB服务
以Ubuntu/Debian为例,安装Samba(SMB协议的实现):

sudo apt update && sudo apt install samba
创建共享目录并设置权限(如/home/share):
sudo mkdir -p /home/share
sudo chmod 777 /home/share
编辑Samba配置文件/etc/samba/smb.conf,添加共享配置:
[share]
path = /home/share
available = yes
valid users = user
browsable = yes
writable = yes
public = no
重启Samba服务:
sudo systemctl restart smbd
在macOS中访问共享目录
macOS默认支持SMB协议,打开“访达”,点击菜单栏“前往”→“连接服务器”,输入smb://Linux主机IP地址/share,或直接在终端挂载:
mkdir ~/smb_share
mount_smbfs //user@192.168.1.100/share ~/smb_share
输入Linux用户的Samba密码(需通过sudo smbpasswd -a user设置)后,即可在~/smb_share目录中操作文件,直接拖拽或复制粘贴即可完成文件传输。
通过Rsync实现增量同步
Rsync是一款高效的文件同步工具,仅传输文件差异部分,适合大文件或频繁同步的场景,尤其在网络不稳定时表现出色,macOS和Linux均默认内置Rsync。
基本同步命令
语法结构为:
rsync [选项] 本源路径 用户名@Linux主机地址:目标路径
常用选项包括:
-a:归档模式,保留文件权限、时间戳等属性;-v:显示详细传输过程;-z:传输过程中压缩文件,减少网络带宽占用;--progress:显示传输进度条;--delete:删除目标目录中多余的文件(确保与源目录完全一致)。
同步macOS的~/Documents目录到Linux主机的/backup目录:rsync -avz --progress ~/Documents user@192.168.1.100:/backup/
通过SSH通道加密传输
Rsync默认可通过SSH协议传输,只需添加-e参数指定SSH路径(默认无需配置,与scp使用相同端口):

rsync -avz -e ssh ~/project user@192.168.1.100:/home/user/
若需定期同步,可结合crontab在macOS中设置定时任务,例如每天凌晨2点自动同步:
0 2 * * * rsync -az ~/Documents user@192.168.1.100:/backup/
使用图形化工具简化操作
对于不习惯命令行的用户,图形化工具能显著降低操作门槛,推荐以下两款跨平台工具。
FileZilla
FileZilla是一款免费开源的FTP客户端,支持SSH、SFTP、FTP等协议,界面简洁,功能齐全。
- 下载安装:从FileZilla官网下载macOS版本,拖拽到“应用程序”目录即可安装。
- 连接设置:打开FileZilla,在“主机”栏输入Linux主机IP,“用户名”和“密码”填写Linux系统凭据,“端口”默认为22(SSH/SFTP),点击“快速连接”。
- 文件传输:左侧为macOS本地文件目录,右侧为Linux远程目录,直接拖拽文件或双击即可传输,支持断点续传。
Cyberduck
Cyberduck是另一款优秀的文件管理工具,支持SFTP、SMB、FTP、AWS S3等多种协议,界面更现代化,且内置编辑器,可远程修改文件内容。
- 连接配置:选择“SFTP (SSH File Transfer Protocol)”协议,输入主机、用户名、密码,点击“连接”。
- 操作界面:类似访达的双栏布局,支持标签页管理多个连接,可直接在工具中预览文本、图片文件,或通过“快速连接”功能访问局域网SMB共享。
注意事项与最佳实践
- 权限管理:确保macOS用户对源文件有读取权限,Linux目标目录对当前用户有写入权限,避免因权限不足导致传输失败。
- 网络稳定性:大文件传输前建议检查网络状态,可通过
ping命令测试Linux主机连通性,或使用rsync的--partial选项保留中断传输的文件,便于续传。 - 数据校验:传输完成后,可通过
md5或sha256命令校验文件哈希值,确保数据完整性,在macOS中计算本地文件哈希:shasum -a 256 ~/document.txt
在Linux主机中计算远程文件哈希:
ssh user@192.168.1.100 "shasum -a 256 /home/user/document.txt"
比对两者结果是否一致。
- 防火墙配置:若Linux主机启用了防火墙(如
ufw),需开放相应端口(SSH默认22,SMB默认445),否则macOS无法建立连接。
从命令行的scp、rsync到图形化的FileZilla、Cyberduck,macOS与Linux之间的文件传输方式多样灵活,用户可根据实际场景选择:远程服务器优先考虑SSH协议(scp/sftp/rsync),局域网共享可使用SMB协议,新手用户则适合图形化工具,无论哪种方式,都需注意权限、网络及数据校验,确保传输过程高效安全,掌握这些方法,能显著提升跨平台工作效率,满足日常文件管理需求。