Post

如何在服务器与主机之间传输文件

如何在服务器与主机之间传输文件

ftp(基础FTP协议)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 安装ftp客户端(若未安装)
sudo apt install ftp

# 连接服务器
ftp ftp.example.com 21

# 输入用户名密码(根据提示输入)
ftp> username: your_username
ftp> password: your_password

# 切换到服务器目标目录
ftp> cd /remote/path

# 上传文件(以.tar.gz为例)
ftp> put myfolder.tar.gz

ftp> get file.txt        # 下载文件
ftp> mget *.txt          # 批量下载匹配文件

# 退出
ftp> bye

lftp(支持断点续传,更稳定)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 安装lftp
sudo apt install lftp   # Debian/Ubuntu
sudo yum install lftp   # CentOS/RHEL
brew install lftp   # macOS

# 连接服务器
lftp -u username,password ftp.example.com:21  # 基础格式(FTP协议)
lftp -u username sftp://example.com:22  # 使用 SFTP(基于SSH,端口22)
lftp ftp://example.com  # 匿名访问(无需密码)

# 上传文件
lftp > put /local/path/myfolder.tar.gz -o /remote/path/myfolder.tar.gz

# 下载单个文件
lftp > get /remote/path/file.txt -o /local/save/path/file.txt

# 下载整个目录
lftp > mirror --verbose /remote/directory/ /local/save/path/  # --verbose: 显示详细进度

sftp(基于SSH)​

1
2
3
4
5
6
7
8
9
10
11
# 使用sftp命令(需SSH权限)
sftp -P 22 username@ftp.example.com

# 上传文件
sftp> put myfolder.tar.gz /remote/path/

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

# 下载文件夹(需压缩后下载)
sftp> get -r /remote/folder/ /local/save/path/

​使用 wget 直接下载

1
2
# 支持HTTP/FTP协议(需开放权限)
wget ftp://username:password@ftp.example.com/path/to/file.txt

使用 curl 下载

1
2
# 通过HTTP/FTP下载
curl -o local_file.txt ftp://username:password@ftp.example.com/path/file.txt
This post is licensed under CC BY 4.0 by the author.