SCP 长目录

SCP 长目录

我想知道最快的方法是什么

在我的本地计算机上我有一个文件/some/long/path/name

当我通过 SSH 连接到另一台机器时,我决定将本地文件放入 /remote/long/dir/

然后我打开一个新 shell,将文件 scp 到主目录,切换回第一个 shell 并将文件从主目录 mv 到当前目录。

由于制表符补全等功能,我发现这种方法更容易。

是否有一个“技巧”可以让 scp 使用连接到它的计算机的文件显示在远程?

我猜示例语法将是(在远程机器上运行)

scp host:/tabbed/complete/file file

或者如果我中途做出决定,我是否总是需要第二个连接?

我连接的计算机没有外部的直接端口访问

答案1

这些是在 LAN 上,对吗?您可以使用SSHFS在本地机器上挂载远程目录。

创建挂载点

sudo mkdir -p /mnt/remotehost
sudo chmod 777 /mnt/remotehost

挂载远程共享

sshfs user@remotehost:/home/user /mnt/remotehost

使用远程共享

ls /mnt/remotehost
cp /mnt/remotehost/Documents/*.odt ~/Documents/

卸载远程共享

fusermount -u /mnt/remotehost

请记住,这比直接scp查看文件要慢得多,但如果您每次都必须手动检查,从长远来看可能会更快。这也为您提供了使用图形文件管理器的优势(速度很慢,尤其是当它开始创建缩略图时)。

答案2

来自评论,感谢n.st对于这个。

保存公钥

ssh-copy-id user@remotehost

配置 bash

  • 安装 bash-completion 包

或者

配置 zsh

  • 安装 zsh 包
  • zsh
  • 继续主菜单1
  • 配置新的完成系统2
  • 运行配置工具(compinstall)2
  • 写入~/.zshrcEnter
  • 继续Enter
  • 继续Enter
  • 保存并退出0
  • 保存新设置y
  • 设置可立即使用的新样式y
  • 辞职,不做其他事q

scp 带远程制表符补全

scp user@remotehost:/Tab

相关内容