gpt4 book ai didi

unix - 从终端单行 sftp

转载 作者:行者123 更新时间:2023-12-03 05:28:17 27 4
gpt4 key购买 nike

一天中,我可能多次运行测试,需要查看远程服务器上的日志文件。我已经习惯使用我的终端 sftp到远程服务器并将所需的日志文件拉至 /tmp在我的本地计算机上。

我今天正在使用 man sftp 查看选项试图找出一种基本上在一行中运行以下命令的方法,这样我就不必键入命令,按 Enter 键,键入命令按 Enter 键等。

(我现在做什么)

sftp myuser@myserver
--mypassword at prompt
lcd /tmp
get /dir/dir/dir/dir/file
quit

我在翻阅时发现man sftpscp 的引用我以前没用过。我觉得这可能是我正在寻找的,但我没有找到一种方法来指定我想要安全复制的文件的位置。

有人可以给我提供一种获取 /dir/file 的方法吗?从远程服务器并将其下载到 /tmp/file_plus-my-description

我希望能够运行类似于常规 UNIX 副本的 sftp 或 scp 命令,例如:

scp myuser@myserver /dir/file /tmp/file_plus-my-description

我正在使用内置的 Terminal在 Mac OS X 10.8 中。谢谢。

最佳答案

2017 年 9 月更新 - tl;dr

从远程 ftp 服务器下载单个文件到您的计算机:

sftp {user}@{host}:{remoteFileName} {localFileName}

将单个文件从您的计算机上传到远程 ftp 服务器:

sftp {user}@{host}:{remote_dir} <<< $'put {local_file_path}'
<小时/>

原始答案:

好吧,我觉得有点傻。但我想通了。我几乎把它放在了顶部:

sftp user@host remoteFile localFile

终端中显示的唯一文档是:

sftp [user@]host[:file ...]
sftp [user@]host[:dir[/]]

但是,我遇到了this site在概要下显示以下内容:

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 命令将文件从本地计算机推送到远程服务器,下面的用户@Tharama 发布了实现这一目标的解决方案。向他们致敬以获得额外的代码。

sftp {user}@{host}:{remote_dir} <<< $'put {local_file_path}'

关于unix - 从终端单行 sftp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16721891/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com