使用 ls 按一定顺序 scp 文件

2023-12-19

每当我尝试 SCP 文件(在 bash 中)时,它们最终都会以看似随机(?)的顺序出现。

我找到了一种简单但不太优雅的方法来保持所需的顺序,如下所述。有聪明的方法吗?

Edit:从这里删除了我早期的解决方案,使用其他建议进行清理、调整,并添加为下面的答案。


要将文件从本地计算机(例如您的笔记本电脑)发送到远程计算机(例如您的计算服务器),您可以使用 Merlin2011 的巧妙解决方案:

  1. 进入本地计算机中要从中复制文件的文件夹。
  2. 执行scp命令,假设您有远程服务器的访问密钥:
    scp -r $(ls -rt) [email protected] /cdn-cgi/l/email-protection:/where/you/want/them/.

Note:如果您没有公共访问密钥,最好使用以下命令执行类似的操作tar,然后发送 tar 文件,即tar -zcvf files.tar.gz $(ls -rt),然后使用单独发送该 tar 文件scp.


但如果反过来做,你可能无法运行scp直接从远程服务器发送文件到您的笔记本电脑。相反,您可能需要,比方说bring文件存入您的笔记本电脑。我的暴力解决方案是:

  1. 在远程服务器中,cd进入您要从中复制文件的文件夹。
  2. 按照您想要的顺序创建文件列表。例如,对于相反的创建顺序(最近复制的最后):
    ls -rt > ../filenames.txt
  3. 现在您需要添加每个文件名的路径。在转到列表所在的目录之前,请使用以下命令打印路径pwd。现在往上走:cd ..
  4. 您现在需要将此路径添加到列表中的每个文件名。有很多方法可以做到这一点,这里是使用 awk 的方法:
    cat filenames.txt | awk '{print "path/to/files/" $0}' > delete_me.txt
  5. 您需要文件名位于同一行,并用空格分隔,因此将换行符更改为空格:
    tr '\n' ' ' < delete_me.txt > filenames.txt
  6. 将 filenames.txt 获取到本地服务器,并将其放入要将文件复制到的文件夹中。
  7. scp 运行将是:
    scp -r [email protected] /cdn-cgi/l/email-protection:"$(cat filenames.txt)" .

同样,这假设您有一个私有访问密钥,否则会更简单tar遥控器中的文件,然后将其带来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ls 按一定顺序 scp 文件 的相关文章

  • Linux 命令之 - scp(从远端机器拉取数据)

    scp是secure copy的简写 用于在Linux下进行远程拷贝文件的命令 和它类似的命令有cp 不过cp只是在本机进行拷贝不能跨服务器 而且scp传输是加密的 命令格式 scp 参数 原路径 目标路径 从本地服务器复制到远程服务器 需
  • Cygwin配置优化(乱码、颜色等问题)

    前面介绍了如何将Cygwin集成到Windows资源管理器的右键菜单中 点击在当前路径下打开窗口 本文介绍一些乱码问题与美化问题 1 乱码问题 在Cygwin中执行Windows原生程序 如ping ipconfig 时会出现中文乱码 显示
  • 通过 SSH 传输文件的综合指南

    Secure Shell SSH 是一种加密网络协议 用于计算机之间的安全通信和远程命令执行 其最常见的用例之一是通过网络安全地传输文件 在本指南中 我们将探索通过 SSH 传输文件的各种工具和方法 包括 scp rsync 和 sftp
  • Paramiko / scp - 检查远程主机上是否存在文件

    我正在使用 Python Paramiko 和 scp 在远程计算机上执行一些操作 我使用的一些机器要求文件在其系统上本地可用 在这种情况下 我使用 Paramiko 和 scp 来复制文件 例如 from paramiko import
  • 如何在 Linux 中获取包含感兴趣的特定文件的最新文件夹并在 Python 中使用 Paramiko 下载该文件?

    我正在尝试使用 Python 3 中的 Paramiko 将特定文件从远程服务器 scp 到我的本地计算机 背景 有一个目录mydir在目标计算机 198 18 2 2 上 包含许多以名称开头的时间戳目录2020 目标机器 198 18 2
  • watch 命令不适用于使用管道的命令[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 非常简单 快速的问题 为什么这个命令不起作用 watch ls log wc l or watch d ls log wc l 我正在尝试watch当前目录中文件总数的更新
  • 如何在node js中使用scp2将文件复制到远程服务器?

    我想使用 Node js 将文件从本地服务器复制到远程服务器scp2包裹 首先 使用文件上传到本地服务器multer之后将该文件复制或移动到远程服务器 My Code exports newFileUpload function req r
  • 用 execv 调用 'ls'

    我是系统调用和 C 编程新手 正在完成我的大学作业 我想调用 ls 命令并让它打印目录 我所拥有的 我添加了注释 以便您可以看到我通过每个变量看到的内容 int execute command cmd char full path 50 f
  • 使用 Jenkins 管道脚本从 Windows 到 Linux 的 SCP

    我想要做SCP从 Windows Jenkins 节点到 Linux 服务器 在此设置中 Windows 计算机是 Jenkins 从机 我要复制的目标服务器是 Linux 下面是我的 Jenkins 管道脚本 在运行下面的脚本之前 我将克
  • 所有文件夹和子文件夹的列表[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 在Linux中 我想找出所有文件夹 子文件夹名称并重定向到文本文件 我试过ls alR gt list txt 但它给出了所有文件 文件夹 您可以使用
  • maven antrun ssh 或 scp 隐藏输出

    我想使用 ant 在 mvn 中运行来运行 ssh 和 scp 命令 ssh 和 scp 命令正确运行 并且在下一阶段中声明的插件 运行 但是 ssh scp 之后的所有命令的输出 不会写入任何输出 问题是什么 这是我的 pom xml
  • 我可以知道 unix 中 scp 命令的退出状态吗

    使用 scp 命令在 perl 中进行编程时 我坚持面对 scp 命令的退出状态如果你告诉我哪个退出值 0 成功 1 错误除外 是为了我的生活会很简单 From here http support attachmate com techdo
  • scp 或 sftp 使用单个命令复制多个文件

    我想将文件从远程服务器复制到不同的目录中 例如 我想同时运行这 4 个命令 scp remote A 1 txt local A 1 txt scp remote A 2 txt local A 2 txt scp remote B 1 t
  • JavaScript 文件传输 SSH

    我目前正在开发一个基于浏览器的项目 这是我第一次使用 JavaScript HTML 和 CSS 之前没有使用这些语言的经验 基本上该项目涉及以下内容 1 允许用户通过以下代码上传 csv文件
  • 命令在 shell 中有效,但在脚本中无效 [重复]

    这个问题在这里已经有答案了 我正在使用命令ls files text txt xt 获取以任何模式结尾的所有文件 当我在 shell 中运行它时 我得到这个结果 ls files text txt xt files f1 text file
  • scp(安全复制)到 ec2 实例,无需密码

    我有一个正在运行的 EC2 实例 FreeBSD 9 AMI ami 8cce3fe5 我可以使用我的亚马逊创建的密钥文件 ssh 进入它 而无需密码提示 没有问题 但是 当我想使用 scp 将文件复制到实例时 系统会要求我输入密码 scp
  • 目录中的最大 inode 数量? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 单个目录的inode数量是否有最大限制 我有一个包含超过 200 万个文件的目录 但无法获取ls命令来处理该目录 所以现在我想知道我是否超
  • 使用 grep 列出目录中的条目

    我试图列出目录中名称仅包含大写字母的所有条目 目录需要附加 bin bash cd testfiles ls grep r 由于 grep 默认情况下仅查找大写字母 对吗 因此我只是在 testfiles 下的目录中递归搜索仅包含大写字母的
  • Powershell相当于Linux:ls -al [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不经常使用 Powershell 或 Linux 所以我不确定 ls al 在 Powershell 术语 中是什么 我试图找到一些东西
  • 如果未使用 scp 命令指定目标路径,则文件位置

    要将文件夹从本地计算机复制到我使用的服务器 scp r local folder user server path 现在我忘了第一次指定目标路径 scp r local folder user server 现在有人知道该文件夹是否已被复制

随机推荐

  • HDFS挂载到本地目录失败

    我目前正在尝试将 hdfs 挂载到 ubuntu 计算机上的本地目录 我正在使用 hadoop fuse dfs 包 所以 我正在执行下面的命令 ubuntu dev hadoop fuse dfs dfs localhost 8020 m
  • 通过 Slack API 或传入 Webhook 发送消息时,是否可以使用文件路径而不是 url 作为“image_url”?

    假设我有以下块 我想通过传入 Webhook 发送到 Slack type image title type plain text text foo bar image url https api slack com img blocks
  • android Sdk 中的 FFT 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在处理android项目 我需要FFT算法来处理android加速度计数据 android sdk中
  • iPhone 应用程序操作按钮

    我需要在我的 iPhone 应用程序中添加一个操作按钮 单击该按钮时 需要弹出带有按钮的 UIActionSheet 谁能告诉我如何添加操作按钮 意味着 iPhone 应用程序有内置操作按钮吗 或者我们是否需要创建一个带有图像的新按钮 提前
  • 在 pinescript 中向警报添加变量

    我想在 pine 脚本中对 TradingView 中的多只股票使用相同的警报条件 问题是我不知道哪只股票触发了警报 除非我创建脚本的副本并为每个脚本提供自定义消息 我想要这样的东西 alertcondition someCondition
  • 相当于 Java 中的 C++ map.lower_bound

    我的问题很基本 但我自己找不到解决方案 我习惯用C 编写算法 在那里我经常使用std map结构 以及它提供的所有辅助方法 此方法将迭代器返回到映射的第一个元素 其中键 gt 作为参数给出的键 例子 map
  • 如何在解决方案中找到未使用的 NuGet 包?

    如何在解决方案中找到未使用的 NuGet 包 我有很多解决方案 其中有很多已安装的软件包 并且其中很大一部分被标记为有更新 但是 我担心可能会发生重大更改 因此我首先想通过删除任何未使用的软件包来进行清理 ReSharper 2016 1
  • 如何使用 Javascript、PHP 等将 html + CSS 页面转换为 pdf? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 但请记住我需要一个免费的图书馆它不会干扰我的网页的 CSS 并轻松转换我的网页的某些部分 我使用了 J
  • 经典 ASP 页面自动将 IE 8 中的 Quriks 模式设置为默认模式

    查看 HTML 时 IE 8 将默认文档模式设置为 IE8 标准 但它会在 ASP 页面上进入怪异模式 即使我使用 这并没有什么帮助 我应该怎么办 我要做的第一件事是将相同的输出放入 HTM 文件中并访问它 如果你得到不同的结果 那么确实发
  • terraform 支持数学舍入吗?

    是否可以在 terraform 字符串插值中舍入整数值 这有点像黑客 不使用 terraform 字符串插值 但是 您可以使用外部数据源 https www terraform io docs providers external data
  • SOAP HTTPS 测试获取类转换异常(字符串到整数)

    我正在使用 HTTPS 上的独立应用程序测试 SOAP 请求 我已经从 WSDL 创建了所需的类 使用 wsimport 我已经使用一些模拟值填充了对象值 令人惊讶的是 我的所有 XML 值都在 String 中 但我收到一个类转换异常 为
  • npm test 未检测到 jenkins 中新的测试文件更改

    Jenkins jest 和 CI 我使用 create react app 创建了一个 React APP 并使用 JEST 进行测试 我在创建的 app test js 文件中做了一些新的更改 并提交给 git hub 当我运行 npm
  • 捕获 Excel 数据透视表刷新事件

    是否有与数据透视表的数据刷新相对应的事件 我已经找到了 worksheet pivottableupdate 事件 但这似乎每次我更改过滤器或操作数据透视表时都会被调用 这在我的宏中非常频繁 我需要的只是捕获底层数据何时更新 有办法做到这一
  • 隐式运算符和类型转换器是否等效?

    在我看来 实现隐式运算符与 TypeConverter 似乎非常容易 因此我假设它们并不等效 因为框架中 TypeConverters 的流行 请参阅扩展 FrameworkElement 的任何内容 但为什么 创建 string gt o
  • 通过 HTTP 传输文件的 Response.TransmitFile 的替代方案

    我正在开发一个允许用户下载文件的 ASP NET 网站 以前 文件存储在与网站相同的服务器上 因此我们可以执行以下操作 Response Clear Response AddHeader Content Disposition attach
  • WinForms - 本地化 - UI 控件在其他文化中的位置不同

    我做了 UI 设置 原始语言是英语 之后我将 Localized 属性设置为 True 将原始 resx 文件复制到 frmMain de De resx 例如 翻译所有字符串 一切正常 但现在我想改变控件的位置 之后变化可见only原始
  • React-native --variant 选项

    可能的值是什么 variant选项除了release 它记录在哪里 我在反应本机文档中找不到 我应该指定这个选项吗debug or devDebug调试构建的价值 thanks 只有两个选择 release and debug 默认vari
  • 如何从文本文件中删除 ^M 并将其替换为下一行

    假设我有一个包含以下内容的文本文件 Hello what is up M M What are you doing 我想删除 M并将其替换为下面的行 所以我的输出看起来像 Hello what is up What are you doin
  • 为所有用户添加一个键到 HKEY_CURRENT_USER

    我有一个安装程序 它在 HKEY CURRENT USER 上安装一个密钥 当我运行安装程序时 它仅将其添加到正在安装的用户上 有没有办法一次性为所有用户添加密钥 Thanks 你必须遍历所有不同的用户HKEY USERS 这需要更高的权限
  • 使用 ls 按一定顺序 scp 文件

    每当我尝试 SCP 文件 在 bash 中 时 它们最终都会以看似随机 的顺序出现 我找到了一种简单但不太优雅的方法来保持所需的顺序 如下所述 有聪明的方法吗 Edit 从这里删除了我早期的解决方案 使用其他建议进行清理 调整 并添加为下面