Saya harus memecahkan masalah dengan tar
dan pipa-transparansi ssh
. Contohnya dapat dilihat di bawah ini, PC jarak jauh dinamai bar
. Sebelum pengujian, saya membuat tiga file kosong /tmp/foo
dengan mengeksekusi 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
The -T
bendera tar
merek itu membaca nama file untuk berkemas dari parameter berikutnya, dan -
berarti input standar. Sekarang Anda hanya perlu mem-pipe nama file ke dalamnya, yang bisa berasal dari ls
(seperti dalam contoh) atau find
untuk tugas-tugas yang lebih rumit. Dengan pengaturan ini, Anda dapat menggunakan sort
untuk menunjukkan urutan tepat file akan dikirim melalui SSH (dalam hal ini, -r
file yang diurutkan dalam urutan abjad terbalik). Ini -v
hanya ditambahkan ke final, membongkar tar
, sehingga pesanan terlihat.