linux下sftp重命名远程文件应优先使用mv命令,因其兼容性最好;rename命令仅部分旧版或定制服务器支持,遇“invalid command”错误时应立即改用mv。

Linux 下用 sftp 重命名远程文件,核心就是进会话后用 mv 或 rename 命令。多数现代 OpenSSH 服务只支持 mv,rename 在部分旧版本或定制服务器上才可用,所以优先记住 mv。
sftp 连接与定位目标目录
先建立安全连接,并进入要操作的目录:
- 运行
sftp username@host(如sftp alice@192.168.1.50),输入密码完成登录 - 用
pwd查看当前远程路径,确认位置 - 用
cd /path/to/dir切换到含目标文件的目录(例如cd /var/log) - 用
ls列出文件,核对原文件名(比如看到app.log.20240701)
用 mv 命令重命名(推荐且通用)
mv 是 SFTP 标准命令,兼容性最好,本质是“移动+改名”,语法简洁:
- 格式:
mv 原文件名 新文件名 - 示例:
mv app.log.20240701 app.log.20240702 - 支持相对路径和完整路径,如
mv ./old.txt /home/user/new.txt - 若新文件名已存在,会直接覆盖(无提示),操作前建议先
ls确认
rename 命令的注意事项
rename 虽然语义更直观,但不是所有 sftp 服务都启用:
- 语法同
mv:rename oldname newname - 如果输入后提示
Invalid command或Unknown command,说明服务器不支持该命令 - 遇到报错不用反复尝试,直接切回
mv即可,效果完全一致 - 某些定制化 SFTP 服务(如某些 FTPS 网关)可能禁用
rename以限制操作粒度
验证与退出
改名后快速确认是否生效:
- 再执行一次
ls,查看新文件名是否出现、旧文件名是否消失 - 如需进一步验证内容,可用
get 新文件名下载本地比对(非必需) - 确认无误后,输入
exit或bye安全退出会话











