এর অনেক কারণ areতিহাসিক। এর অর্থ এই নয় যে তারা আজ বোঝায় না।
বহনযোগ্যতার বিষয়গুলি
কোনও ফাইলের নামকরণ করার সময়, আপনাকে অন্যান্য ফাইল (ফাইল) সিস্টেমগুলি কীভাবে সেই ফাইলটির নামটি ব্যবহার করবে তা বিবেচনা করতে হবে। কোনও ফাইলের নামের একটি অক্ষর আপনার সিস্টেমের জন্য ভাল হতে পারে তবে এটি অন্য সিস্টেমের জন্য সমস্যা হতে পারে।
সুতরাং, যতক্ষণ না কোনও প্রবীণ সিস্টেম থেকে সহজেই ফাইলটি অ্যাক্সেস করতে সক্ষম হতে পারে এমন সামান্যতম সম্ভাবনা থাকলে আপনি কেবল নিরাপদ চরিত্রটি বেছে নিতে পারেন । এর মধ্যে আপনার চারপাশে রাখা পুরাতন পুনরুদ্ধার সিস্টেমে বুট করা বা সাম্প্রতিক উইন্ডোজ সংস্করণগুলি এমএস-ডস-এর উপর ভিত্তি করে এখনও ভয় রয়েছে include
লম্বা
একটি ফাইল সিস্টেম কোনও ফাইলের দৈর্ঘ্য সীমাবদ্ধ করতে পারে। এমএস-ডস 8.3 ফাইলের নাম সীমাবদ্ধ থাকা দিনগুলিতে এটি আরও গুরুতর ছিল । সুতরাং, স্পেসগুলি ছেড়ে দিয়ে আপনাকে নামটিতে আরও অর্থবোধক অক্ষর স্থাপন করতে সক্ষম করে।
বেশ কয়েকটি অন্যান্য ফাইল সিস্টেম তাদের ফাইলের নাম দৈর্ঘ্যের উপর কঠোর সীমাবদ্ধতাও সংজ্ঞায়িত করেছে। উইকিপিডিয়ায় ফাইল সিস্টেমের তুলনা সম্পর্কে নিবন্ধে একটি টেবিল রয়েছে যারা বিশদ চান।
সংরক্ষিত অক্ষর
এমএস-ডস স্পেস অক্ষরটিকে একটি সংরক্ষিত চরিত্র হিসাবেও সংজ্ঞায়িত করেছিলেন। এটি এফএটিতে প্যাডিংয়ের জন্য স্পেস ক্যারেক্টারটি ব্যবহৃত হয়েছিল এই কারণে হয় । অতিরিক্তভাবে, এমএস-ডস শেলটিতে একটি পলায়নের সিস্টেম সরবরাহ করে না।
কমান্ড-লাইন ব্যাখ্যার
বেশিরভাগ কমান্ড-লাইনগুলি আমি প্যারামিটার ডিলিমিটার হিসাবে স্পেস অক্ষরটি ব্যবহার করতে সচেতন । কোনও ফাইল নাম সঠিকভাবে এড়াতে অবহেলা করার সময়, এর মারাত্মক পরিণতি হতে পারে কারণ ফাইল নামটির অংশগুলি আপনি যে অ্যাপ্লিকেশনটিতে কল করতে চেয়েছিলেন তার পরামিতি হিসাবে ব্যাখ্যা করা যেতে পারে।
মধ্যে পার্থক্য বিবেচনা করুন
rm foo bar
এবং
rm "foo bar"
উপরে লিঙ্কিত উইকিপিডিয়া নিবন্ধটি সঠিকভাবে কোনও আদেশ থেকে রেহাই পাওয়ার জন্য নিখোঁজ হয়ে প্রবর্তিত অস্পষ্টতা নির্দেশ করে:
প্রথমে ফাইল- এবং ডিরেক্টরিতে নাম অন্তর্ভুক্ত করে (উদাহরণস্বরূপ, আন্ডারস্কোর '_' দিয়ে তাদের প্রতিস্থাপন করে) বা কমান্ড-লাইন ইন্টারপ্রেটার দ্বারা সমর্থিত এবং প্রোগ্রামগুলি এই পরামিতিগুলি গ্রহণ করে তবে অস্পষ্টতা রোধ করা যায় either আর্গুমেন্টগুলি, কোট অক্ষরের মধ্যে এম্বেড থাকা ফাঁকা জায়গাগুলির সাথে একটি নাম সংযুক্ত করে বা স্পেসের আগে একটি পালানোর অক্ষর ব্যবহার করে, সাধারণত ব্যাকস্ল্যাশ ('\')। উদাহরণ স্বরূপ
Long path/Long program name Parameter one Parameter two ...
অস্পষ্ট (এটি "প্রোগ্রামের নাম" প্রোগ্রাম নামের অংশ, বা দুটি পরামিতি?); যাহোক
Long_path/Long_program_name Parameter_one Parameter_two ...,
LongPath/LongProgramName ParameterOne ParameterTwo ...,
"Long path/Long program name" "Parameter one" "Parameter two" ...
এবং দীর্ঘ \ পথ / দীর্ঘ \ প্রোগ্রাম \ নাম প্যারামিটার \ একটি পরামিতি \ দুই ...
অস্পষ্ট নয়।
ইউনিফর্ম রিসোর্স লোকেটার (ইউআরএল)
কোনও ইউআরএল ব্যবহার করে কোনও ফাইলের অবস্থান বর্ণনা করার চেষ্টা করার সময় স্পেসগুলি এড়ানো দরকার।
চরিত্রগুলি বেশ কয়েকটি কারণে অনিরাপদ হতে পারে। স্পেস অক্ষরটি অনিরাপদ কারণ ইউআরএলগুলি প্রতিলিপি বা টাইপসেট বা ওয়ার্ড-প্রসেসিং প্রোগ্রামগুলির চিকিত্সার শিকার হওয়ার সময় উল্লেখযোগ্য স্থানগুলি অদৃশ্য হয়ে যেতে পারে এবং তুচ্ছ স্থানগুলি উপস্থিত হতে পারে।
সূত্র: আরএফসি 1738
সুতরাং, একটি স্থান %20
পরিবর্তে পরিবর্তিত করতে হবে । এটি ইউআরএলটির ফাইল নাম অংশটি কম পঠনযোগ্য করে তোলে এবং এইভাবে, লোকেরা এটিকে প্রথম স্থানে এড়াতে সক্ষম করে।