刚接触Linux的小白是不是经常抓狂?本地文件死活传不进服务器,远程日志死活拽不下来。每次用FTP总担心被监听,用QQ传又显得特别不专业。别急,今天咱们就来聊聊这个被称为”Linux传文件神器”的SCP命令,保准你看完就能玩转文件传输!
什么是SCP? 简单说就是个加密的文件快递员。它基于SSH协议工作,传输过程全程加密,比裸奔的FTP安全多了。想象一下你要给隔壁楼的同事送U盘,SCP就是那个带着防弹箱的快递小哥,不仅送货上门,还能原封不动带回你要的东西。
基础命令格式要记牢 新手最容易搞混的就是命令顺序。记住这个口诀:”先写要送的货,再说送到哪”。基本模板长这样: scp [参数] 源文件 目标路径
举个栗子,要把本地的简历.pdf传到服务器的/home目录: scp resume.pdf user@192.168.1.100:/home/
反过来下载服务器文件也简单,把位置调换就行: scp user@192.168.1.100:/var/log/error.log ./
参数太多记不住? 这几个高频参数必须刻进DNA: 1. -P 指定端口(注意是大写!)当服务器SSH端口不是默认22时使用 2. -r 递归传输 传整个文件夹就靠它 3. -C 开启压缩 大文件传输省时间 4. -p 保留属性 文件时间戳、权限统统保留
比如要传整个项目文件夹到服务器的8080端口: scp -P 8080 -r my_project/ user@server:/opt/
实战中必踩的五个坑 1. 总提示权限被拒绝? 检查目标路径写入权限,用ls -l看目录权限。临时方案可以用sudo,但更建议用chmod改权限
文件夹传完变空白? 八成是忘了加-r参数。SCP默认只传文件不传目录结构,传文件夹必须带-r
路径里有空格怎么办? 比如要传”年度报告 最终版.doc”,直接写会报错。正确姿势: scp “年度报告 最终版.doc” user@server:/data/
每次都要输密码好烦? 配置SSH密钥登录吧!生成密钥对:ssh-keygen -t rsa 传公钥到服务器:ssh-copy-id user@server
大文件传一半断线? 试试这两个方案:
先用split分割文件传输 改用rsync命令的–partial参数续传安全传输小贴士 别以为用了SCP就万事大吉,这些细节不注意照样翻车: – 敏感文件传输前先用7z加密 – 避免在公网环境用root账户传输 – 定期检查服务器的authorized_keys文件 – 传输完成后及时清理历史命令记录
小编私房秘籍 实测发现,结合tar命令打包传输效率更高。比如要传包含10万小文件的目录: tar czf – my_dir | ssh user@server “tar xzf – -C /target_path”
这样既避免文件数量过多导致的传输卡顿,又能保持目录结构。最后提醒各位,遇到报错别慌,把错误提示扔谷歌准能找到解决方案。记住,每个Linux高手都是从疯狂报错中成长起来的!
本站文章由SEO技术博客撰稿人原创,作者:阿君创作,如若转载请注明原文及出处:https://www.ainiseo.com/hosting/19067.html