![使用 SFTP - 如何使用一个命令执行 cd 和 lcd?](https://linux22.com/image/1326939/%E4%BD%BF%E7%94%A8%20SFTP%20-%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20cd%20%E5%92%8C%20lcd%EF%BC%9F.png)
我通过终端使用 SFTP 连接到服务器来上传和下载文件。我经常发现自己输入这样的语句:
cd website/theme/drupal7default/assets/css
lcd website/theme/drupal7default/assets/css
put mainstyle.css
如果我能有一个命令同时执行 cd 和 lcd 就更好了。这样我就可以执行以下操作:
cdboth website/theme/drupal7default/assets/css
put mainstyle.css
这将确保我的 lpwd 和 pwd 相同。我正在寻找的命令是否存在?如果命令确实存在,它是什么?
答案1
最sftp
简单的方法可能是使用⇧箭头返回上一个命令,然后Home或Ctrl+A转到行首,然后L Enter。即:
- ⇧ Home L Enter
不过,对于您的用例来说,内部 SFTP 客户端可能不是最顺畅的方式。您没有提到操作系统,但如果涉及 *nix,那么使用SCP 包装器脚本直接可能最终是一种节省时间的简单方法,例如创建myupload
并mydownload
分别尝试将作为参数的文件上传或下载到服务器,从给定的一些基本项目路径自动决定正确的路径。设置基于密钥的登录,这样您就不必每次都输入密码。
使用的另一个优点从命令行进行 SCP与 SFTP 客户端相比,在 *nix 上,您将处于熟悉的 shell 环境中,很可能是 Bash,并且可以使用命令之间的常规导航技巧,例如制表符完成、命令重复、括号扩展等。
我个人更喜欢版本控制系统完成这类任务。它将为您提供简单的上传功能,例如使用提交钩子,版本控制对于代码项目非常方便。我不知道你到底在做什么,所以它可能不太合适,但如果你愿意,可以看看例如Mercurial或者Git。