【问题标题】:How to transfer all existing files from remote sftp server to local directory and create a .txt file with listing of those files? [closed]如何将所有现有文件从远程 sftp 服务器传输到本地目录并创建一个包含这些文件列表的 .txt 文件? [关闭]
【发布时间】:2019-10-07 16:11:20
【问题描述】:

我正在尝试从远程 sftp 服务器复制所有 csv 文件并将这些文件循环粘贴到本地服务器。然后我想将这些文件的列表创建为 .txt 文件,以便处理这些文件。为此,我尝试了一些现有的解决方案,但是它们都不能正常工作。我是 bash 脚本的新手。

提前谢谢你。

【问题讨论】:

标签: linux bash sftp


【解决方案1】:

1) 您可以创建 rsa-keys 来链接您的远程服务器和本地服务器。这样您就不必输入密码:

https://www.tecmint.com/ssh-passwordless-login-using-ssh-keygen-in-5-easy-steps/

https://help.github.com/en/articles/error-agent-admitted-failure-to-sign

How can I define a bash alias as a sequence of multiple commands?

我使用这三个链接成功设置了 rsa-keys。我在实验室的 wiki 上创建了一个页面,介绍如何逐步完成此操作,如果您遇到问题,我可能会将说明上传到我的 github。

2) 要复制,试试这个:

scp -r username@remote_server:/path_to_directory_containing_files_you_want/*csv local_path_you_want_to_copy_to

ls > name_of_file.txt

-r 表示您正在递归复制您指定的所有文件,这里它们都是 csv 文件。您应该已经有了您的用户名和远程服务器名称。如果您已经在要将文件复制到的本地目录中,则执行 . 与放入整个本地路径相同。复制完所有文件后执行 ls 命令,它将创建一个新的 txt 文件,其中包含该目录中所有文件的名称。假设那里只有新复制的文件,这将是获取您复制的文件列表的最简单方法。希望这会有所帮助!

【讨论】:

  • 它按预期工作!非常感谢!
猜你喜欢
  • 2013-04-14
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 2019-01-10
  • 2013-06-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多