ฉัน whould แก้ปัญหาด้วยและท่อความโปร่งใสของtar ตัวอย่างที่สามารถมองเห็นด้านล่างเครื่องคอมพิวเตอร์ระยะไกลเป็นชื่อssh barก่อนการทดสอบผมสร้างสามไฟล์ที่ว่างเปล่าในโดยการดำเนินการ/tmp/foossh 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
-Tธงชาติtarทำให้มันอ่านชื่อไฟล์ที่จะแพ็คจากพารามิเตอร์ต่อไปและ-หมายความว่าเข้ามาตรฐาน ตอนนี้คุณเพียงแค่ต้องไพพ์ชื่อของไฟล์ลงไปซึ่งมันอาจมาจากls(ตามตัวอย่าง) หรือfindสำหรับงานที่ยุ่งยากกว่า ด้วยการตั้งค่านี้คุณสามารถใช้sortเพื่อระบุลำดับที่แน่นอนว่าไฟล์จะถูกส่งผ่าน SSH (ในกรณีนี้-rไฟล์ที่เรียงลำดับตามตัวอักษรแบบย้อนกลับ) คำสั่ง-vนี้จะถูกเพิ่มเข้าไปในขั้นตอนสุดท้ายไม่เปิดหีบห่อtarเพื่อให้สามารถเห็นคำสั่งซื้อได้