整天的几次,我可能正在运行测试,我需要查看远程服务器上的日志文件。我已习惯于使用我的终端sftp到远程服务器,并将所需的日志文件下拉到/ tmp在本地机器上。
我通过今天的选项使用man sftp试图找出一种方法来运行以下命令基本上在一行,所以我不必键入命令,按回车键入命令按enter键等。
(我现在应该做什么)
sftp myuser@myserver --mypassword at prompt lcd /tmp get /dir/dir/dir/dir/file quit
我发现,当通过人sftp查找一个我以前没有使用过的scp的引用。我觉得它可能是我正在寻找,但我没有看到一个方法来指定我想要的安全复制的文件去。
有人可以为我提供一种从远程服务器获取/ dir /文件的方法,并将其下载到/ tmp / file_plus-my-description?
我希望能够运行sftp或scp命令类似于普通的unix副本如:
scp myuser@myserver /dir/file /tmp/file_plus-my-description
我在Mac OS X 10.8中使用内置终端。谢谢。
好吧,所以我觉得有点蠢。但我想出来了。我几乎把它在顶部与:
sftp user@host remoteFile localFile
终端中显示的唯一文档是:
sftp [user@]host[:file ...] sftp [user@]host[:dir[/]]
sftp [-vC1 ] [-b batchfile ] [-o ssh_option ] [-s subsystem | sftp_server ] [-B buffer_size ] [-F ssh_config ] [-P sftp_server path ] [-R num_requests ] [-S program ] host sftp [[user@]host[:file [file]]] sftp [[user@]host[:dir[/]]]
所以简单的答案是你只是做:在你的用户和主机后,远程文件和本地文件名。令人难以置信的简单!
单行,sftp拷贝远程文件:
sftp username@hostname:remoteFileName localFileName sftp kyle@kylesserver:/tmp/myLogFile.log /tmp/fileNameToUseLocally.log
2016年2月更新
如果任何人正在寻找该命令做相反的操作,并将文件从本地计算机推送到一个单行sftp命令中的远程服务器,user @Thariama下面发布了解决方案来完成。帽子提示他们为额外的代码。
sftp {user}@{host}:{remote_dir} <<< $'put {local_file_path}'