পাস করা দূরবর্তী নামগুলি scp
দূরবর্তী পার্শ্বের প্রকৃতিগুলির পৃথকীকরণের তালিকা হিসাবে ব্যাখ্যা করা হয়। যার নাম ফাঁকা রয়েছে এমন কোনও ফাইল অনুলিপি করার চেষ্টা করার সময় এটি প্রায়শই বিরক্ত হয় তবে এখানে এটি দরকারী: scp -p 'user@machine:/path/a*' .
যার নাম দিয়ে শুরু হয় সেই সমস্ত ফাইল অনুলিপি করে a
।
আপনার কমান্ডটি যদি আপনি প্যাটার্নটি উদ্ধৃত করে কাজ করবে যাতে এটি স্থানীয়ভাবে পরিবর্তে দূর থেকে ব্যাখ্যা করা হয় তবে আপনি অন্য কোনও বাধা অতিক্রম করেন। প্যাটার্নটি !(a*)
কোনও শেল প্যাটার্ন নয়, এটি একটি কেএসএস এক্সটেনশান (যদি আপনি উপযুক্ত বিকল্পটি সেট করেন তবে এটি ব্যাশ এবং জেডএস সমর্থন করে)। সুতরাং এটি কেবল তখনই কাজ করবে যখন আপনার রিমোট শেলটি ksh হয়, এটি অন্য কোনও শেল এবং আপনার exec ksh
থেকে .profile
বা এর অনুরূপ কিছু না হলে নয় ।
সহজ উপায়, যদি না আপনি কোনওরকম সীমাবদ্ধ বা এন্টিকের পরিবেশে থাকেন তবে তা ভুলে যাওয়া scp
। আপনি স্থানীয় ফাইলের মতো দূরবর্তী ফাইলগুলিও কাজ করতে চান, তাই তাদের স্থানীয় ফাইল করুন: sshfs সহ দূরবর্তী ডিরেক্টরিটি মাউন্ট করুন । এটির জন্য স্থানীয় মেশিনে FUSE এবং রিমোট মেশিনে একটি SFTP সার্ভার (অর্থাত্ একটি sftp-server
নির্বাহযোগ্য যা sshd
প্রবর্তনযোগ্য) প্রয়োজন।
mkdir ~/net/machine
sshfs user@machine:/ ~/net/machine
cp -p ~/net/machine/path/!(a*) .