লোকেরা বলেছে আপনার ইউনিক্স ফাইলের নামকরণের ফাঁকা স্থান ব্যবহার করা উচিত নয়। ফাইলের নাম (যেমন, File_Name.txt
বনাম file_name.txt
) তে মূল অক্ষর ব্যবহার না করার কোনও ভাল কারণ আছে ? বা এটি কি কেবল ব্যক্তিগত পছন্দের বিষয়?
লোকেরা বলেছে আপনার ইউনিক্স ফাইলের নামকরণের ফাঁকা স্থান ব্যবহার করা উচিত নয়। ফাইলের নাম (যেমন, File_Name.txt
বনাম file_name.txt
) তে মূল অক্ষর ব্যবহার না করার কোনও ভাল কারণ আছে ? বা এটি কি কেবল ব্যক্তিগত পছন্দের বিষয়?
উত্তর:
লোকেরা বলেছে আপনার ইউনিক্স ফাইলের নামকরণের ফাঁকা জায়গা থাকা উচিত নয়।
মানুষ অনেক কথা বলে। কিছু সরঞ্জাম রয়েছে যা এঁকে দিতে পারে, তবে আশা করা যায় সময় মতো এগুলি সংখ্যায় খুব কম, যেহেতু স্পেসগুলি দৈত্য ভোক্তা মালিকানাধীন ওএস কর্পোরেশনগুলির দ্বারা ছড়িয়ে পড়া একটি ভাইরাস এবং এখন এড়ানো অসম্ভব।
স্পেসগুলি কমান্ড লাইনে ফাইল ফাইল নির্দিষ্টকরণ ইত্যাদিকে বিশ্রী করে তোলে। এটা সম্বন্ধে. * নিক্স সিস্টেমে কেবলমাত্র নিষিদ্ধ অক্ষরগুলি হ'ল নুল (উদ্বেগ করবেন না, এটি আপনার কীবোর্ডে বা অন্য কারও নয়) এবং /
যেহেতু এটিই পথ বিভাজক। 1 এ ছাড়া আর কিছু যায় না। স্বতন্ত্র পাথ উপাদানসমূহ (ফাইলের নাম) 255 বাইটের মধ্যে সীমাবদ্ধ (আপনি যদি বর্ধিত অক্ষর সেট ব্যবহার করছেন তবে একটি সম্ভাব্য জটিলতা) এবং 4 কিবিতে সম্পূর্ণ পাথ।
বা এটি কেবল ব্যক্তিগত পছন্দের বিষয়
আমি এটা বলব। সর্বাধিক ডেন এর আপনার মূলধন ডিরেক্টরি একটি হত্যা তৈরি বলে মনে হচ্ছে $HOME
( Downloads
, Desktop
, Documents
- D
, খুবই জনপ্রিয়) যাতে এটি সম্পর্কে উদ্ভট কিছু নেই। এগুলির মধ্যে রাজধানী সহ খুব সাধারণ commonতিহ্যবাহী ফাইলও রয়েছে, যেমন .Xclients
এবং .Xauthority
।
শুরুতে জিনিসকে মূলধন করার একটি মূল্য হ'ল ডিকোসোগ্রাফিকভাবে তালিকাভুক্ত করার পরে তারা নিম্ন কেসের জিনিসগুলির আগে উপস্থিত হতে পারে - কমপক্ষে অনেক সরঞ্জাম সহ এবং লোকেলের সাপেক্ষে।
আমি উটের মামলার ভক্ত (যেমন উট কেস) এবং এটি ফাইলের নাম সহ ব্যবহার করি, যেমন /home/goldilocks/blueSuedeShoes
- সেখানে কী আছে তা মনে করবেন না। অবশ্যই ব্যক্তিগত পছন্দের বিষয় তবে এটি এখনও আমার শোকের কারণ হতে পারে না।
জাভা ক্লাস ফাইলগুলিতে প্রকৃতির দ্বারা মূলধনগুলি থাকে, কারণ জাভা শ্রেণীর নামগুলি থাকে। এবং অবশ্যই, আসুন আমরা ভুলে যাই না NetworkManager
, এমনকি যদি আমাদের মধ্যে কিছু পছন্দ করে।
1. একটা আরো অনেক কিছু, সীমায়িত POSIX সুপারিশ "পোর্টেবল ফাইলের নাম অক্ষর সেট" যে নেই ব্যবধান থাকা - কিন্তু তা অন্তর্ভুক্ত করে বড় হাতের অক্ষরে! পসিক্স একই নথির অন্য কোথাও "স্ল্যাশ চরিত্র এবং নাল বাইট" সংক্রান্ত আরও সাধারণ সীমাবদ্ধতা নির্দিষ্ট করে । এটি দীর্ঘস্থায়ী প্রচলিত অনুশীলনের প্রতিফলন বা প্রতিফলিত হয় ।
README
Makefile
ফাইলনামগুলিতে ক্যাপগুলি এড়ানোর একটি কারণ হ'ল ইউনিক্সে বাছাই করা অর্ডারটি কেস সংবেদনশীল, সুতরাং মূলধন পত্রের সাথে শুরু হওয়া ফাইলগুলি ক্রমবিন্যস্ত হবে। মূল কারণ Makefile
হিসাবে সাধারণত নামকরণ করার কারণে এটি হয় M
- এটি প্রথমে আপনি দেখতে চান এমন ফাইলগুলির মধ্যে একটি, ট্রাট স্ক্রোলিং / স্কিপিং ছাড়াই a-l
।
এটি বলেছে, আপনি ফাইলের নামের ক্ষেত্রে আরও খারাপ করতে পারেন:
-
সমস্যা শুরু করতে সমস্যা হতে পারে কারণ অনেক প্রোগ্রাম এটিকে ফাইলের নামের পরিবর্তে কমান্ড-লাইন বিকল্প হিসাবে দেখতে পাবে (উদাহরণস্বরূপ rm -r
নামকরণ করা কোনও ফাইল সরিয়ে দেবে না -r
)।.
এটি অনেকগুলি ইউটিলিটি এবং শেল গ্লোববিং থেকে আড়াল করে রাখবে (যেমন rm *
ফাইলগুলি মুছে ফেলবে না .config
)|<>*?
এবং এমনকি মুদ্রণযোগ্য অক্ষরগুলির মতো newline
প্রযুক্তিগতভাবে ব্যবহার করা প্রযুক্তিগতভাবে সম্ভব, তবে স্পেস অক্ষরের অনুরূপ স্ক্রিপ্টগুলি / প্রোগ্রামগুলি ভেঙে ফেলতে পারে। পার্থক্যটি হ'ল স্পেস ক্যারেক্টারটি প্রায়শই ব্যবহৃত হয়, সুতরাং প্রোগ্রামাররা তাদের প্রোগ্রামগুলি এর বিপরীতে পরীক্ষা করার প্রবণতা দেখায়, যখন কম জনপ্রিয় চরিত্রগুলি প্রায়শই অরক্ষিত থাকে।rm *
ফাইলগুলি সরিয়ে দেবে না .config
?
Makefile
এবং README
এটির নিখুঁত উদাহরণ। আরও মনে রাখবেন যে চিঠিটি যদি নামের প্রথম অক্ষর না হয় তবে এই প্রভাবটি নগণ্য so তাই আপনি যদি উট কেস ব্যবহার করেন তবে এটি কোনও বড় বিষয় নয়। অবশ্যই, আপনি anOctagon
আগে দেখে অবাক হতে পারেন angle
, তবে অন্তত তারা তালিকাতে একসাথে থাকবেন।
আপনি যদি উইন্ডোজ পরিবেশের সাথে ইন্টারফেস করতে চলেছেন তবে আপনার রাজধানীগুলি এড়ানো উচিত কারণ উইন্ডোজ সব কিছু কমিয়ে দেবে। এটি প্রায়শই অন্যভাবে যেতে সমস্যা হয়; একটি লিঙ্কের Page_2.html
পাবেন page_2.html
উইন্ডোজে কিন্তু ইউনিক্স মধ্যে ব্যর্থ হবে।
NUL
ও অক্টেটের খুব দীর্ঘ ফাইলের নাম /
।
cat > Foo
ফাইলটি ওভাররাইট করা হবে foo
। এই আচরণটি অপ্রত্যাশিত এবং বিভ্রান্ত হওয়ার সম্ভাবনা রয়েছে যদি আপনি কেস-সংরক্ষণ এবং কেস-সংবেদনশীল ফাইল সিস্টেম যেমন এক্সট * এর জন্য ব্যবহার করেন।
\0
এবং /
, কেস সংবেদনশীল)। কমপক্ষে এটি আমার মনে আছে। তবে আমি একমত যে এটি এক ধরণের গোলযোগ। …
এড়ানোর ক্যাপ করার একটি কারন যে bash
গুলি tabcompletion কেস সংবেদনশীল (অন্তত ডিফল্ট অনুসারে) -এই হয় এখনো আমাকে প্রত্যেক সময় আমি একটি সামনে শেষ পর্যন্ত ভ্রমণের bash
ডিফল্ট কনফিগারেশন সঙ্গে। অবশ্যই, অন্যান্য জনপ্রিয় শাঁস রয়েছে, তবে bash
এটি অনেক ওএসের ডিফল্ট লগইন শেল এর সাথে মিলিত হওয়ার অর্থ ডিফল্টটি প্রায়শই কেস-সংবেদনশীল সমাপ্তির সময় হয়। সমস্ত ছোট হাতের ফাইল ফাইল ব্যবহার করে জিনিসগুলি এখানে সহজতর করে।
echo set completion-ignore-case On >> ~/.inputrc
কিছুটা সাহায্য করতে পারে, কমপক্ষে নিজের সিস্টেমে।
Foo
এবং পরে cat f
(ট্যাব) টাইপ করেন তবে এটি ব্যর্থ হবে। কিন্তু একই জিনিস যদি আপনি টাইপ ঘটবে cat foo
, cat Foobar
বা cat Fu
সত্য আপনি কষ্ট একটি ফাইল যার নাম আপনি সঠিকভাবে মনে করতে পারছি না সত্যিই স্বয়ংসম্পূর্ণ সাথে কিছু নেই অ্যাক্সেসের ক্ষেত্রে সমস্যা করবে -।
যেহেতু এনএল_ডেরেক এই পোকার কৃমিটি খুলেছিল, তবে এটি সঠিকভাবে প্রকাশ করেনি, তাই আমি এটি বলব:
বড় হাতের অক্ষর ব্যবহার করা ঠিক আছে তবে কেবলমাত্র ক্ষেত্রে ক্ষেত্রে পৃথক হওয়া ফাইল (একই ডিরেক্টরিতে) তৈরি করা আপনার এড়ানো উচিত কারণ উদাহরণস্বরূপ, File_Name.txt
এবং file_name.txt
, কারণ
FILENA~1.TXT
এবং FILENA~2.TXT
- dir /x
কোন দীর্ঘ নামটি দিয়ে কোন সংক্ষিপ্ত নামটি (যদি থাকে তবে) কী হয় তা টাইপ করুন )cmd1 > foo
cmd2 > Foo
cmd2
প্রযুক্তিগত কারণগুলি ছাড়াও আমার এটির একটি ব্যবহারিক দিক রয়েছে। ছোট হাতের অক্ষরে আটকানো নিশ্চিত করবে যে গ্রেপ -i বা সনাক্তকরণ -i ব্যবহারের খুব বেশি পছন্দ না হলে অনুসন্ধানগুলি আরও সহজ। কখনও কখনও, এমনকি যদি উট কেস বিভ্রান্ত হতে পারে তবে যদি স্টোরেজ এনওয়াইসিডিসিপিআরমি-তে যেমন কোনও কেস-কেস শব্দের একটি স্ট্রিং ব্যবহার করতে হয়। সুতরাং, স্টোরেজ_নিসি_ডিসি_প্রাইমেরির মতো ছোট ছোট এবং পড়ার যোগ্যতার জন্য আন্ডারস্কোর বা হাইফেনগুলি দিয়ে মরিচগুলি আঁকিয়ে রাখা ভাল মনে হয়।
storageNycDcPrimary
এবং StorageNycDcPrimary
উভয়ই পড়তে অদ্ভুত।
আমি বিবেচনা করি ফাইলের নাম এবং রাজধানীর ফাঁকা স্থানগুলি ব্যবহার করা এড়ানো ভাল অনুশীলন ।
কেউ কেউ বলবেন তারা একমত নয় তবে এটি একটি বিষয় বা আমি যা ধর্মীয় বিশ্বাস বলে থাকি : আলোচনা করা এবং তাতে একমত হওয়া শক্ত hard যারা একমত নন তারা বলছেন যে বেশিরভাগ সরঞ্জাম এখন রাজধানী এবং স্থানগুলি বন্ধুত্বপূর্ণ বলে স্থির করা হয়েছে: তারা ঠিক আছে তবে এটি অবশ্য প্রশ্ন নয়।
সঠিক নামটি হ'ল ফাইলের নামগুলিতে আপনার রাজধানী এবং স্পেস ব্যবহার করার প্রয়োজন । এই প্রশ্নের উত্তর দেওয়ার জন্য, আমি যখন জাভাতে প্রোগ্রামিং করছি তখনই উত্তরটি বেশিরভাগ সময় থাকে: আমার ফাইলের নামগুলিতে আমার বড় বড় রাজধানী এবং স্পেসের প্রয়োজন হয় না । আমি সমস্ত স্থান আমি একটি আন্ডারস্কোর ( _
) বা একটি বিয়োগ চিহ্ন ( -
) দ্বারা প্রতিস্থাপন করেছি এবং এর কারণে আমি অন্যান্য ধর্মের বিপরীতে উটের কেস (ওরফে। উটকেস) ব্যবহার করি না।
অনেক লোক আমার উপর বুলশিট বলেছিল যে এটি করার এবং শেখানোর জন্য - তাদের মধ্যে কেউ কেউ এখনও তা করে - তাদের মধ্যে কেউ কেউ এমন একটি সরঞ্জামের উপরে ছড়িয়ে পড়েছিল যা মূলধন / স্থানের পক্ষে বন্ধুত্বপূর্ণ ছিল না এবং আমার কাছে এসেছিল যে আমি ঠিক ছিলাম এবং তাদের আমার কথা শোনা উচিত ছিল। আপনি যা চান তা করুন , এবং আপনি যদি ফাইলনেমে রাজধানী এবং স্পেস ব্যবহার করেন তবে আমি আশা করি আপনি কোনও খারাপ লিখিত সরঞ্জামে আর ভ্রমণ করবেন না। তবে, আপনি যদি এই জাতীয় সরঞ্জামটিতে ভ্রমণ করেন, আশা করি আবার, এটি ঠিক করা কঠিন হবে না এবং আপনার ব্যবসায় এবং / অথবা আপনার প্রচুর অর্থ এবং / অথবা সময় ব্যয় হবে না। তবে যদি এটির খারাপ পরিণতি হয় তবে আপনি মনে রাখবেন যে কেউ কেউ আপনাকে অতীতে বলেছিল যে ফাইলনেমে রাজধানী এবং স্পেস ব্যবহার করা খারাপ অভ্যাস।
এবং একটি শেষ কথা, আপনি যদি সমস্ত সমস্যা এড়াতে চান তবে ফাইলের নামগুলিতে কোনও বিশেষ অক্ষর নেই (কেবলমাত্র ছোট অক্ষরের অক্ষর, অঙ্কগুলি, আন্ডারস্কোর এবং বিয়োগগুলি [1])। এই অবাঞ্ছিত চরিত্রের তালিকায় সমস্ত অ্যাস্কি অক্ষরও রয়েছে (হ্যাঁ, ফরাসী এবং অন্যান্য অ ইংরেজী লোক - এবং আমি তাদের মধ্যে একজন am যার মধ্যে কোনওটি নেই: à, â, ä, ç, ..., ..., ö, æ, œ , ...)। এটি লগইন এবং পাসওয়ার্ড সহ আরও অনেক কিছুতে প্রসারিত । আপনি যখন কোনও লগইন বা পাসওয়ার্ডে একটি উদ্ধৃতি বা ডাবল উদ্ধৃতি ( '
বা "
) রাখেন যা বাশ স্ক্রিপ্ট দ্বারা পরিচালিত কোনও নিশ্চিত সিসাদমিন দ্বারা লিখিত না হয়ে কি হবে তা অনুমান করার সুযোগ দেব ...
[1]: হয়তো আমরা প্রসারিত করতে পারে যে করতে ~
, @
, #
এবং কিছু অন্যদের, কিন্তু এই কষ্ট করার জন্য খুঁজছেন হয় (এবং হ্যাঁ আমি Emacs ফাইল সম্পর্কে জানি ...)।