存放时将文件下载到本地驱动器
在bash中使用ssh登录到另一台计算机时,将文件下载到本地硬盘的最佳方法是什么。我知道sftp,但是不方便,例如它缺少目录名称的制表符补全。我正在使用Ubuntu 8.04.1. 我没有公共IP,也不想设置动态Dynamic DNS解决方案。
解决方案
我不知道。
我会$ scp host:file locallocation
据我所知,没有简单的scp-on-steroids可以让我们在远程文件夹结构上自动完成。如果我们只想基本安装远程文件夹,请查看sshfs。或者只是尝试在Nautilus中使用ssh:// ...挂载远程目录。
我实际上喜欢使用命令行SCP客户端。 :)我不知道它是如何做到的,但是我在Ubuntu上的SCP(来自openssh-client 1:4.7p1-8ubuntu1.2)实际上在我通常通过公钥进行身份验证的主机上完成了远程目录和文件的制表符填充。
我也正在运行Ubuntu 8.04.1,如果我键入
$ scp [email protected]:.bashr<TAB>
我确实确实获得了制表符补全(即bash链接到我的服务器并从文件系统中获取补全结果)。然后
$ scp [email protected]:.bashrc .
将.bashrc从服务器复制到本地计算机上的当前目录。
如果没有得到,请尝试sudo apt-get install bash-completion,并检查.bashrc是否包含以下几行(默认情况下是我的行):
# enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi
ssh-xfer是我们想要的。设置完成后,我们可以输入(从远程计算机上的" ssh"会话中):
$ ssh-xfer foo.txt
和foo.txt将会神奇地显示在本地计算机上。
鱼怎么样? 通过Sh *** ell进行文件传输
我们可以在控制台中使用Midnight Commander:
$ sudo apt-get install mc $ mc
然后按F9;右(对于"右"面板)-> Shell链接
键入远程主机的ssh链接。在提示符下输入计算机名称,然后指定:
user@host
系统将提示我们输入密码(如果已为SSH密钥设置了密码,则自动登录)
现在,我们可以浏览远程文件系统,根据需要选择并复制(F5)。