在 Linux 下使用 SFTP(SSH File Transfer Protocol) 传文件,常见方式有以下几种:
sftp user@host
例如:
sftp root@192.168.1.100
如果是非默认端口(如 2222):
sftp -P 2222 user@host
连接成功后,提示符会变成:
sftp>
put localfile.txt
上传到指定目录:
put localfile.txt /remote/path/
上传整个目录(需加 -r):
put -r localdir
get remotefile.txt
下载到指定目录:
get remotefile.txt /local/path/
下载整个目录:
get -r remotedir
ls # 查看远程目录
lls # 查看本地目录
pwd # 远程当前路径
lpwd # 本地当前路径
cd # 切换远程目录
lcd # 切换本地目录
exit # 退出
sftp user@host:/remote/path/ <<< $'put localfile.txt'
或:
echo "put localfile.txt /remote/path/" | sftp user@host
echo "get /remote/file.txt ./local/" | sftp user@host
sftp -i ~/.ssh/id_rsa user@host
如果只是传文件,也可以用 scp:
scp file.txt user@host:/path/
scp user@host:/path/file.txt ./
如果你有 具体场景(如自动化脚本、Windows 到 Linux、大文件、限速等),可以告诉我,我给你更合适的方案。