'scp: Not a Regular File' ত্রুটি সমাধান: ধাপে ধাপে গাইড
'scp not a regular file' ত্রুটি মেসেজ ইঙ্গিত দেয় যে আপনি SCP কমান্ড ব্যবহার করে ফাইল কপি করার চেষ্টা করছেন, কিন্তু নির্দিষ্ট সোর্স বা ডেস্টিনেশন একটি রেগুলার ফাইল নয়। SCP কমান্ড SSH (Secure Shell) কানেকশনের মাধ্যমে হোস্টের মাঝপথে নিরাপদে ফাইল ট্রান্সফার করার জন্য ব্যাপকভাবে ব্যবহৃত হয়। এটি ফাইল ট্রান্সফারের জন্য সোর্স এবং ডেস্টিনেশন উভয় নির্দিষ্ট করতে হয়। তাই এই ত্রুটি সাধারণত ভুল ফাইল পাথের কারণে হয়।
"scp not a regular file" ত্রুটি মেসেজ বিভিন্ন অপারেটিং সিস্টেমে ঘটতে পারে, যার মধ্যে ইউনিক্স-লাইক সিস্টেম যেমন 'Linux', 'macOS', এবং 'BSD'। এটি উইন্ডোজ সিস্টেমেও ঘটতে পারে যেখানে SCP কমান্ড ইনস্টল্ড থাকে, সাধারণত 서드-পার্টি সফটওয়্যার যেমন 'PuTTY' বা 'Cygwin'-এর অংশ হিসেবে।
আপনাকে এই ত্রুটি সমাধান করতে সাহায্য করার জন্য, আমরা একটি ট্রাবলশুটিং গাইড প্রস্তুত করেছি যা আপনাকে এই সমস্যাটি বিস্তারিতভাবে সমাধান করতে সাহায্য করবে।
১. সিনট্যাক্স ইস্যু
ইউনিক্স এবং লিনাক্সের সুস্পষ্ট সিনট্যাক্স নিয়ম ও стандар্ড মেনে চলার জন্য খ্যাতি রয়েছে যা কমান্ড, শেল স্ক্রিপ্টিং এবং কনফিগারেশন ফাইলগুলোর প্রশাসন করে। প্রেসক্রাইবড সিনট্যাক্স মেনে চলা এই অপারেটিং সিস্টেমগুলোর সঠিক এক্সিকিউশন এবং এক্সপেক্টেড আচরণ নিশ্চিত করতে গুরুত্বপূর্ণ।
তাই, যদি সিনট্যাক্সে কোনো ত্রুটি পাওয়া যায়, সিস্টেম অটোমেটিক্যালি ইউজারকে ত্রুটি মেসেজ দেয়; এই কেসে ত্রুটি হল "scp: not a regular file." ফাইল কপি করার চেষ্টা করার সময় অনেক বিষয় খেয়াল রাখতে হয়।
১.১ স্পেস চেক করুন
ইউনিক্স/লিনাক্সে ফাইল বা ডিরেক্টরির নামে স্পেস চেক করা একটি গুরুত্বপূর্ণ কাজ। এটি নিশ্চিত করে যে কোনো লিডিং বা ট্রেলিং স্পেস নেই যা কমান্ড বা স্ক্রিপ্টের সাথে কাজ করার সময় সমস্যা সৃষ্টি করতে পারে।
উদাহরণস্বরূপ, একটি সিন্যারিও বিবেচনা করুন যেখানে 'my_file.txt' নামে একটি ফাইল '/home/user' ডিরেক্টরিতে অবস্থিত। ফাইলনেমে স্পেস আছে কিনা যাচাই করতে আপনি নিচের কমান্ডটি ব্যবহার করতে পারেন:
ls -Q /home/user
-Q অপশন ফাইল এবং ডিরেক্টরি নাম কোটেশন مار্কের ভিতরে দেখানোর জন্য ব্যবহৃত হয়। যদি ফাইলনেমে কোনো স্পেস থাকে, তবে এই কমান্ড চালালে সেটি কোটেশন मार্কের ভিতরে দৃশ্যমান হবে।
উদাহরণস্বরূপ, আউটপুট যদি নিচের মতো হয়, তবে আপনাকে اللازمة পদক্ষেপ নিতে হবে
"my file.txt"
এটি ফাইলনেমে স্পেস থাকার ইঙ্গিত দেয়। এমন ক্ষেত্রে, কমান্ড বা স্ক্রিপ্টের সাথে কাজ করার সময় ফাইল বা ডিরেক্টরির নামে স্পেস হ্যান্ডেল করার জন্য স্পেশাল ক্যারেক্টার বা কোটেশন মার্ক ব্যবহার করা উচিত।
ফাইল বা ডিরেক্টরির নামে স্পেস থেকে সংবিধান সম্ভাব্য সমস্যা এড়ানোর জন্য, সাধারণত স্পেস-রহিত ফাইলনেম ব্যবহার করা পরামর্শ দেওয়া হয়।
১.২ মিসিং বা এক্সট্রা কোলন
SCP কমান্ড রিমোট সার্ভার এবং ফাইল পাথ নির্দিষ্ট করার জন্য কোলন ব্যবহার করতে হয়। উদাহরণস্বরূপ, ভুল সিনট্যাক্স যেমন 'scp user@host filepath' বদলে 'scp user@host:filepath' ব্যবহার না করলে ত্রুটি হতে পারে। তাই, "scp not a regular file" ত্রুটি এড়াতে, সিনট্যাক্স সীমাবদ্ধতা মেনে চলুন।
১.৩ সোর্স এবং ডেস্টিনেশন মিক্স আপ
SCP কমান্ড ব্যবহার করার সময় সোর্স এবং ডেস্টিনেশন পাথ মিক্স আপ হলে ত্রুটি বা অনাকাঙ্ক্ষিত আচরণ হতে পারে। সফল ফাইল ট্রান্সফার নিশ্চিত করতে সঠিক ক্রম মেনে চলা গুরুত্বপূর্ণ।
স্পষ্ট করতে, SCP কমান্ড নিচের সিনট্যাক্স ফলো করে:
scp .
আপনি যদি ভুলবশত সোর্স এবং ডেস্টিনেশন পাথ সোয়াপ করান, তবে ফাইলগুলো ভুল ডিরেকশনে কপি হতে পারে অথবা ডেস্টিনেশন ইনভ্যালিড হলে "scp not a regular file" ত্রুটি ট্রিগার হতে পারে।
উদাহরণস্বরূপ, "file.txt" নামে একটি ফাইল লোকাল মেশিন থেকে রিমোট সার্ভারে কপি করার কথা ভাবুন:
ভুল ব্যবহারটা রিমোট ফাইল "file.txt" লোকাল মেশিনে কপি করার চেষ্টা করবে, ফলে অনাকাঙ্ক্ষিত ফলাফল বা ত্রুটি হবে। SCP কমান্ড ব্যবহার করার সময় সবসময় সোর্স এবং ডেস্টিনেশন পাথের সঠিক ক্রম ডাবল-চেক করুন এবং মেনে চলুন।
২. "-r" অপশন ব্যবহার করুন
আপনি এই ত্রুটির সম্মুখীন হচ্ছেন কারণ আপনি সম্ভবত একটি ডিরেক্টরি কপি করছেন কিন্তু অপারেটিং সিস্টেমকে জানাচ্ছেন না যে আপনি একটি ডিরেক্টরি কপি করছেন।
ডিফল্টভাবে SCP ফাইলকে রেগুলার ফাইল হিসেবে বিবেচনা করে, তাই ডিরেক্টরি কপি করার সময় -r অপশন যোগ করতে হয়। "scp not a regular" ত্রুটি ঘটে যখন ইউজার একটি ডিরেক্টরি কপি করার চেষ্টা করে কিন্তু -r অপশন ব্যবহার করে এই অ্যাকশন নির্দিষ্ট করে না।
যখন আপনি একটি পুরো ডিরেক্টরি, এর সাব-ডিরেক্টরি এবং ফাইলসহ কপি করতে চান, তবে "-r" অপশন ব্যবহার করুন। "-r" অপশন ছাড়া, SCP শুধু ইনডিভিজুয়াল ফাইল কপি করবে, ডিরেক্টরি নয়।
এই কমান্ডটি "source_directory"-র কন্টেন্ট এবং এর সকল সাব-ডিরেক্টরি রিকারসিভলি "destination_directory"-তে রিমোট সার্ভারে কপি করবে।
লেখক সম্পর্কে
দাওদ জানজুয়া
দাওদ জানজুয়া একজন অত্যন্ত দক্ষ প্রযুক্তি उत্সাহী যিনি উইন্ডোজ ট্রাবলশুটিং এবং গেমিং-এ বিশাল জ্ঞান রাখেন। তিনি CCNA সার্টিফিকেশন ধারণ করেন এবং কাস্টমারদের uitzকক সমর্থন প্রদান করার প্রমাণিত ট্র্যাক রেকর্ড রাখেন। বর্তমানে লেখক হিসেবে কাজ করছেন, দাওদ ভবিষ্যতে প্রস্তাবিত CCIE সার্টিফিকেশন অর্জন করতে চান যাতে তাঁর প্রযুক্তিগত দক্ষতা বাড়ান এবং আঞ্চলিক স্তরের সমর্থন দিতে পারেন। গেমিং-এর प्रति আগ্রহ এবং প্রযুক্তিতে দক্ষতার সাথে, দাওদ কমিউনিটির সাথে তাঁর জ্ঞান শেয়ার করতে প্রতिबদ্ধ যাতে অন্যদের দক্ষতা এবং জ্ঞান উন্নত করতে সাহায্য করতে পারে।