LOADING...

加载中请稍等...

loading

Linux每日一篇 - 57 - sftp

Linux安全FTP神器!掌握sftp命令,使用SSH加密传输文件,提供交互式操作!

sftp命令是什么?

sftp是”SSH File Transfer Protocol”的缩写,基于SSH协议的安全文件传输工具,提供交互式命令行界面,用于在本地主机和远程主机之间安全地传输文件。

基本用法

# 连接到远程服务器
sftp username@hostname

# 指定端口连接
sftp -P 2222 username@hostname

# 使用密钥文件连接
sftp -i ~/.ssh/id_rsa username@hostname

# 从命令行直接执行命令
sftp username@hostname << EOF
ls -la
get remotefile.txt
quit
EOF

实用技巧

# 在sftp会话中常用命令:
# 列出远程目录内容
ls

# 列出本地目录内容
lls

# 切换远程目录
cd /path/to/directory

# 切换本地目录
lcd /path/to/directory

# 上传文件到远程
put localfile.txt

# 上传目录到远程
put -r localdir/

# 下载文件到本地
get remotefile.txt

# 下载目录到本地
get -r remotedir/

# 显示远程工作目录
pwd

# 显示本地工作目录
lpwd

常用场景

# 批量下载文件
sftp user@server << EOF
cd /var/log
mget *.log
quit
EOF

# 批量上传文件
sftp user@server << EOF
cd /tmp
mput *.txt
quit
EOF

# 创建远程目录并上传文件
sftp user@server << EOF
mkdir /home/user/newdir
cd /home/user/newdir
put localfile.txt
quit
EOF

# 递归下载整个目录
sftp user@server << EOF
get -r /remote/directory /local/directory
quit
EOF

# 使用配置文件连接
sftp -F /path/to/ssh_config server_alias

# 限制传输速度
sftp -o "BandwidthLimit=100K" user@server
头像
汪多多是只猫
失业的运维工程师
热爱开源与分享
微信公众号