插件窝 干货文章 描述下linux中经常使用的网络拷贝命令

描述下linux中经常使用的网络拷贝命令

remote dir 文件 local 448    来源:    2025-05-20

在Linux系统中,网络文件传输是常见操作,以下是几个最常用的网络拷贝命令及其典型用法:


1. scp (Secure Copy)

特点:基于SSH加密传输,安全性高
安装:通常内置(OpenSSH套件)
常用操作

# 本地 → 远程
scp /local/file.txt user@remote:/remote/dir/

# 远程 → 本地
scp user@remote:/remote/file.txt /local/dir/

# 递归拷贝目录
scp -r /local/dir user@remote:/remote/dir/

# 指定端口(如2222)
scp -P 2222 file.txt user@remote:/dir/

2. rsync

特点:增量同步、带宽优化、支持断点续传
安装sudo apt/yum install rsync
常用操作

# 同步本地到远程(保留权限、压缩传输)
rsync -avzP /local/dir/ user@remote:/remote/dir/

# 远程 → 本地
rsync -avzP user@remote:/remote/dir/ /local/dir/

# 排除特定文件
rsync -avz --exclude='*.tmp' /local/dir/ user@remote:/remote/dir/

# 通过SSH指定端口
rsync -avzP -e 'ssh -p 2222' /local/dir/ user@remote:/remote/dir/

3. sftp (SSH File Transfer Protocol)

特点:交互式操作,类似FTP但加密
安装:内置(OpenSSH)
常用操作

# 连接远程服务器
sftp user@remote

# 下载文件
sftp> get /remote/file.txt /local/dir/

# 上传文件
sftp> put /local/file.txt /remote/dir/

# 批量操作
sftp> mget *.log
sftp> mput *.tar.gz

4. wget/curl

特点:直接下载网络资源(HTTP/FTP)
示例

# 下载文件
wget https://example.com/file.tar.gz
curl -O https://example.com/file.tar.gz

# 断点续传(wget)
wget -c https://example.com/bigfile.iso

# 通过FTP下载
wget ftp://user:password@ftp.example.com/file.txt

5. nc (netcat)

特点:原始网络数据传输(需配合其他命令)
示例

# 接收端监听端口并保存文件
nc -l 1234 > received_file.tar

# 发送端传输文件
nc -N receiver_ip 1234 < file_to_send.tar

6. tar + ssh 管道

场景:高效传输大量小文件
示例

# 本地打包后远程解压
tar czf - /local/dir | ssh user@remote "tar xzf - -C /remote/dir"

# 远程打包下载到本地
ssh user@remote "tar czf - /remote/dir" > local_backup.tar.gz

选择建议:

  • 安全性优先scp/rsync/sftp(SSH加密)
  • 大文件/增量同步rsync
  • 简单下载wget/curl
  • 临时快速传输nc(需注意防火墙)

注意:传输前确保防火墙/端口开放(如SSH默认22端口),大文件建议用screen/tmux防止中断。