想知道在传输文件时是否可以指定排序顺序scp。
例如:
$ scp -r "user@host:/path/to/download/" .
[... files download in a seemingly random order ...]
由于这可能与scp功能有关,是否有某种方法可以在源(服务器)端配置 ssh 以便传输文件,例如,按文件名升序?
我应该解决 的问题tar以及 的管道透明度问题ssh。下面是一个示例,远程 PC 名为bar。在测试之前,我/tmp/foo通过执行创建了三个空文件ssh bar 'mkdir /tmp/foo ; touch /tmp/foo/{a,b,c}'。
$ ssh bar 'cd /tmp/foo ; ls | sort -r | tar -cT -' | tar -xv
c
b
a
$ ls -l a b c
-rw-r--r-- 1 dnet dnet 0 nov 29 17:07 a
-rw-r--r-- 1 dnet dnet 0 nov 29 17:07 b
-rw-r--r-- 1 dnet dnet 0 nov 29 17:07 c
Run Code Online (Sandbox Code Playgroud)
标志-T使其tar从下一个参数读取要打包的文件名,-表示标准输入。现在,您只需将文件名通过管道传输到其中,该文件名可以来自ls(如示例中所示)或find用于更棘手的任务。通过此设置,您可以用来sort指示通过 SSH 传输文件的确切顺序(在本例中,-r文件按相反的字母顺序排序)。仅-v添加到最终的 unpacking 中tar,以便顺序可见。
| 归档时间: |
|
| 查看次数: |
2648 次 |
| 最近记录: |