SFTP (SSH File Transfer Protocol) 是一种安全的文件传输协议,基于SSH协议提供加密的文件传输功能。以下是SFTP命令行操作的详细指南:
sftp username@hostname
或指定端口(非默认22端口时):
sftp -P port_number username@hostname
sftp -i /path/to/private_key username@hostname
lls
- 列出本地当前目录内容lpwd
- 显示本地当前工作目录lcd
- 更改本地工作目录ls
- 列出远程当前目录内容pwd
- 显示远程当前工作目录cd
- 更改远程工作目录mkdir
- 在远程创建目录rmdir
- 删除远程空目录rm
- 删除远程文件chmod
- 更改远程文件权限chown
- 更改远程文件所有者chgrp
- 更改远程文件组put
- 上传文件到远程服务器
put local_file [remote_file] # 上传并可选重命名
get
- 从远程服务器下载文件
get remote_file [local_file] # 下载并可选重命名
mput
- 上传多个文件(支持通配符)
mput *.txt
mget
- 下载多个文件(支持通配符)
mget *.log
!command
- 在本地执行shell命令exit
或 quit
- 退出SFTP会话help
- 显示帮助信息sftp -b batchfile.txt username@hostname
其中batchfile.txt
包含一系列SFTP命令,例如:
cd /remote/directory
lcd /local/directory
mput *.pdf
quit
SFTP本身不支持递归传输,但可以使用以下方法:
put -r local_directory # 某些SFTP客户端支持
或使用scp -r
替代:
scp -r local_dir username@hostname:remote_dir
sftp -l 1024 username@hostname # 限制为1024 Kbit/s
连接被拒绝
认证失败
文件权限问题
chmod
命令调整权限传输中断
reget
和reput
命令恢复中断的传输rsync
进行大文件传输通过掌握这些SFTP命令,您可以高效安全地在本地和远程系统之间传输文件。