আমি সমস্যাটি tar
পাইপ-স্বচ্ছতার সাথে সমাধান করব ssh
। নীচে একটি উদাহরণ দেখা যায়, রিমোট পিসির নাম দেওয়া হয়েছে 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
এর -T
পতাকাটি tar
পরের প্যারামিটার থেকে প্যাক করতে ফাইলের নামগুলি পড়তে দেয় এবং এর -
অর্থ স্ট্যান্ডার্ড ইনপুট। এখন আপনাকে কেবল এতে ফাইলগুলির নামটি পাইপ করতে হবে, যা ls
(উদাহরণস্বরূপ) থেকে বা find
কৌশলযুক্ত কার্যগুলির জন্য আসতে পারে। এই সেটআপের sort
সাহায্যে আপনি এসএসএইচ মাধ্যমে ফাইলগুলি সঞ্চারিত হবে তা সঠিক নির্দেশ করতে ব্যবহার করতে পারেন (এই ক্ষেত্রে, -r
বিপরীত বর্ণানুক্রমিকভাবে ফাইলগুলি বাছাই করা)। -v
শুধুমাত্র চূড়ান্ত যোগ করা হয় আন-প্যাক, tar
, তাই যাতে দৃশ্যমান হয়।