ফাইলের নামে স্থানের অক্ষর ব্যবহার না করার জন্য কোন প্রযুক্তিগত কারণগুলি বিদ্যমান?


75

আমি জানি এমন কারও কাছে আজ আমাদের মধ্যে যারা জ্বলজ্বলে প্রকাশ করেছেন যারা আমাদের ফাইলের নামগুলিতে শূন্যস্থান ব্যবহার না করেন, যেমন NamingThingsLikeThis.txt- বেশিরভাগ আধুনিক অপারেটিং সিস্টেম সুনির্দিষ্টভাবে ফাইলনামগুলিতে সমর্থন করে।

এমন কোনও প্রযুক্তিগত কারণ রয়েছে যে (উপযুক্ত) স্থান ছাড়াই ফাইলের নাম দেখা এখনও সাধারণ? যদি তা হয় তবে ফাইল-নামগুলির স্থানগুলি এড়ানো বা নিরুৎসাহিত করার এই প্রযুক্তিগত কারণগুলি কী এবং কী পরিস্থিতিতে সেগুলি প্রাসঙ্গিক?

সর্বাধিক সুস্পষ্ট কারণ যা আমি ভাবতে পেরেছিলাম এবং কেন আমি সাধারণত এড়াতে পারি, হ'ল এই জাতীয় ফাইলগুলির সাথে ডিল করার সময় কমান্ড লাইনে অতিরিক্ত উদ্ধৃতিগুলি প্রয়োজন। অন্য কোন উল্লেখযোগ্য প্রযুক্তিগত কারণ আছে?


আপনি যেমন বলেছিলেন, কমান্ড লাইনে তাদের মোকাবেলা করা অনেক সহজ। এবং প্রোগ্রামিংয়ের জন্য আমি নিশ্চিত না যে এটি ফাইলনেমগুলিতে স্পেস ব্যবহার করা এমনকি সম্ভব বা সম্ভাব্য কিনা।
অ্যালভিন রো 0

উত্তর:


65

ফাইলের নামগুলিতে হোয়াইটস্পেসের অক্ষরগুলি কমান্ড লাইনের অনেকগুলি প্রসঙ্গে প্রবাদকথায় এবং স্ক্রিপ্টগুলিতে একটি সঠিক রাজকীয় ব্যথা হতে পারে, যেখানে আপনাকে যথাযথভাবে পালানো হয়েছে তা নিশ্চিত করার জন্য সতর্কতা অবলম্বন করতে হবে সুতরাং আপনি যে আদেশগুলি সেগুলি পৃথককারীদের মতো দেখবেন না don't চলছে।

সেগুলি সেখানে না রাখাই কেবল নিরাপদ, আপনি যদি নিশ্চিত হন যে ফাইল / ডির / যা কখনও কখনও এমন প্রসঙ্গে ব্যবহৃত হয় না।

যে, এবং পুরানো অভ্যাস কঠোরভাবে মারা যায়।


এগুলি মোকাবেলা করার জন্য এটি একটি সঠিক রাজকীয় ব্যথা তবে আপনাকে পাথ রচনা করতে হবে এবং তাদের সংশোধন করতে হবে। পুনরায় পলায়ন / পুনরায় উদ্ধৃতি দেওয়ার পূর্বে উপাদানগুলি অচিরাচরিত এবং সংশোধনযোগ্য নয় তা নিশ্চিত করা, বিশেষত যদি টুকরাগুলি কোডের অন্য বিটগুলিতে ম্যানিপুলেট করার জন্য প্রেরণ করা হয়।
আফরাজায়

2
আপনি যদি মনে করেন স্থানগুলি খারাপ, '\n'তাদের নামের সাথে নতুন লাইনের ( ) ফাইলগুলি ব্যবহার করার চেষ্টা করুন । (ইউনিক্সের মতো সিস্টেমগুলি আসলে এটির অনুমতি দেয়; উইন্ডোজ সাধারণত, বা কমপক্ষে এটিকে জটিল করে তোলে))
কিথ থম্পসন

30

কমান্ড লাইন এবং পুরানো অভ্যাস সম্পর্কে অন্যান্য উত্তরগুলি ছাড়াও, অনেকগুলি নেটওয়ার্ক প্রোটোকল রয়েছে যাতে স্পেস যুক্ত ফাইলের নামগুলি ব্যবহার করার সময় বিশেষ যত্নের প্রয়োজন হয়।

(আপনি যদি কোনও ওয়েবসাইট থেকে "প্রোডাক্ট লিস্ট.পিডিএফ" ডাউনলোড করার চেষ্টা করে থাকেন এবং "প্রোডাক্ট" নামক একটি ফাইল দিয়ে শেষ করেন তবে আপনি এটি দ্বারা দংশিত হয়ে উঠবেন, কারণ অন্য প্রান্তের প্রোগ্রামার জানেন না বা করতে পারেননি) HTTP বিষয়বস্তু-বিশৃঙ্খলা শিরোনামের উদ্ধৃতি বিধিগুলি বের করতে পারবেন না))


11
+1 টি। একটি সূচনা জন্য HTTP। ইউআরএলগুলিতে ফাঁকা স্থান (কোনও প্রোটোকলের জন্য, কেবল এইচটিটিপি নয়)% 20 বা + এড়িয়ে যেতে হবে। বিভ্রান্তি দেখা দিতে পারে যখন সেগুলি যেমন হওয়া উচিত তেমন এনকোড করা হয়নি। ওয়েব পৃষ্ঠাগুলির জন্য উভয় জায়গাগুলি এবং আন্ডারস্কোর ("_") এড়াতে সাধারণভাবে এগুলি প্রতিস্থাপন করার জন্য একটি দর্শনীয় কারণ রয়েছে - তারা উভয়ই একটি আন্ডারলাইন করা লিঙ্কে একই দেখতে পারে, সুতরাং লিঙ্কটি ম্যানুয়ালি অনুলিপি করতে বা কারও কাছে এটি পড়তে পারে এটা ভুল.
ডেভিড স্পিললেট

5
ইউআরএলগুলিতে এনকোড করা দরকার স্পেসগুলি সম্পর্কে সবচেয়ে বিরক্তিকর বিষয়গুলির মধ্যে একটি হ'ল নির্দিষ্ট সফ্টওয়্যারটির ফাঁকা স্থানগুলি এনকোড করে রাখার
প্রবণতা

এই বাস্তব হয়? 2018 এ কি ঘটে?
ক্রিস কলো

@ ক্রিসকালো আপনি খেয়াল করতে পারেন যে এই উত্তরটি ২০০৯ সালে দেওয়া হয়েছিল, ২০১ not সালে নয় But তবে, হ্যাঁ, এটি এখনও ২০১ happens সালে ঘটে less সম্ভবত কম সময়ে, এখন বেশিরভাগ ছদ্মবেশী বিকাশকারীরা স্ক্র্যাচ থেকে সবকিছু করার চেয়ে ওয়েবসাইট তৈরিতে ফ্রেমওয়ার্ক ব্যবহার করেন, তবে এটি এখনও রয়েছে একটি ইস্যু.
স্টোবার

28

এর অনেক কারণ 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পরিবর্তে পরিবর্তিত করতে হবে । এটি ইউআরএলটির ফাইল নাম অংশটি কম পঠনযোগ্য করে তোলে এবং এইভাবে, লোকেরা এটিকে প্রথম স্থানে এড়াতে সক্ষম করে।


25

স্পেসগুলি এনকোড করা হয় বা %20ওয়েবে ফাইলের নামগুলিতে রূপান্তরিত হয় , যা কোনও সাইটের সম্পদ পরিচালনা করা আরও কঠিন করে তুলতে পারে।

হচ্ছে Image 1.pngএবং Image%201.pngবিভ্রান্তিকর। Image001.pngপরিবর্তে এটি ব্যবহার করা সহজ ।

এটি সত্যই কমান্ড লাইনের জন্য এস্কেপ সিকোয়েন্সগুলির মতো একই বিভাগের আওতায় পড়ে।


5

কখনও কখনও, কমান্ড লাইনে কাজ করার সময়, বা ওএস এর পুরানো ওএস ব্যবহার করার সময়, বা বিভিন্ন ওএস-তে সংকলিত প্রোগ্রামগুলি লেখার সময়, বা যখন ... সমস্যা দেখা দিতে পারে এমন অনেকগুলি কারণ রয়েছে যখন ফাঁকা স্থানগুলি একটি সমস্যা উপস্থিত করতে পারে I ফাইলটি লিখতে আসলেই এমন সমস্যা বলে মনে হয় না: ফাইল-বিহীন-ফাঁকা ফাইলগুলিtxt বা file_without_blanks.txt । আমি ডাস্কটিকে পছন্দ করি কারণ ডিল করার সময় আন্ডারস্কোরটি কখনও কখনও অদৃশ্য হয়ে যায়।

তবে বেশিরভাগ ক্ষেত্রে, এটি বৃদ্ধ বয়স থেকেই অভ্যাসের বিষয়। কোনটি আমি মনে করি না সেখানে যথেষ্ট প্রো কারণে পরিত্যাগ।


একটি অতিরিক্ত নোট, সম্ভবত সম্পর্কিত নয়, তবে তবুও আমি এটি এখানে রাখব। লোকেরা স্পেস দিয়ে তাদের ফাইলগুলির নাম রাখেন তারা সাধারণত সে বিষয়ে খুব বেশি ভাবেন না; যাঁরা প্রায়শই জানেন না তাদের ফাইলনামে এড়ানো কেন ভাল of
এবং আমরা সকলেই একমত হতে পারি, একটি ফাইলের চেয়ে খারাপ আর কিছুই নেই যার নাম "প্রিয় স্যার বা ম্যাডাম, আমি আপনাকে yo.doc সম্পর্কে অবহিত করতে এই চিঠিটি লিখছি"।

কেবল ফাঁকা স্থান নয় - ফাইলের দৈর্ঘ্যও কোনও কিছুর জন্য গণনা করে এবং আইএমএইচও, এটি 30 অক্ষরের চেয়ে বেশি হওয়া উচিত নয়। সিডি এর ডিভিডি রেকর্ড করার সময় ভিতরে ফাঁকা জায়গাগুলির সাথে দীর্ঘ ফাইলের নামগুলিও একটি আশীর্বাদ, এগুলি যেমন পুরানো ওএস এর অধীনে এবং উইন এবং * নিক্স প্ল্যাটফর্মের মধ্যে পড়তে হবে।


2
অলস শব্দ ব্যবহারকারীগণ ...
সামাব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.