/ বিন, / এসবিন, / ইউএসআর / বিন, / ইউএসআর / এসবিন, / ইউএসআর / স্থানীয় / বিন, / ইউএসআর / স্থানীয় / এসবিনের মধ্যে পার্থক্য


282

কমান্ড ফাইল সহ আমার ছয়টি ডিরেক্টরি রয়েছে। এগুলি হল /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/binএবং /usr/local/sbin

এই মধ্যে পার্থক্য কি? আমি যদি আমার নিজের স্ক্রিপ্টগুলি লিখছি তবে আমি সেগুলি কোথায় যুক্ত করব?


সম্পর্কিত:



@ কিলান আপনার প্রশ্নটি আমি এক বছর আগে পোস্ট করা একটি প্রশ্নের কাছেই: জিজ্ঞাসাবাবু
উইনউনুছুস ইউনিক্স

উত্তর:


348

এটির জন্য লিনাক্সের জন্য দয়া করে ফাইল সিস্টেম হায়ারার্কি স্ট্যান্ডার্ড (এফএইচএস) দেখুন

  • /bin: /usrপার্টিশন মাউন্ট হওয়ার আগে বাইনারিগুলির জন্য ব্যবহারযোগ্য । এটি খুব প্রাথমিক বুট পর্যায়ে ব্যবহৃত তুচ্ছ বা বাইনারিগুলির জন্য বা আপনার একক-ব্যবহারকারী মোড বুট করার জন্য উপলব্ধ হওয়া দরকার need মত বাইনেরিতে চিন্তা cat, lsইত্যাদি

  • /sbin : একই, তবে সুপারসার (মূল) অধিকার সহ বাইনারিগুলির জন্য ।

  • /usr/bin: প্রথম হিসাবে একই, তবে সাধারণ সিস্টেম-ব্যাপী বাইনারিগুলির জন্য

  • /usr/sbin : উপরের মত একই, তবে সুপারসার (মূল) অধিকার সহ বাইনারিগুলির জন্য।


আমি যদি আমার নিজের স্ক্রিপ্টগুলি লিখছি তবে আমি এগুলি কোথায় যুক্ত করব?

উপরের কেউই না. আপনার ব্যবহার করা উচিত /usr/local/binবা /usr/local/sbinসিস্টেম-ব্যাপী উপলব্ধ স্ক্রিপ্টগুলির জন্য। localপথ মানে এটি সিস্টেমের প্যাকেজ (এই হল এর দ্বারা পরিচালিত না একটি ত্রুটি Debian / Ubuntu- প্যাকেজের জন্য)।

জন্য ব্যবহারকারী-scoped স্ক্রিপ্ট ব্যবহার ~/bin(আপনার home ডিরেক্টরিতে একটি ব্যক্তিগত bin ফোল্ডারে)।

এফএইচএস এর জন্য বলে /usr/local:

স্থানীয় ডেটা জন্য টারসিয়ারি অনুক্রমের এই হোস্টে নির্দিষ্ট । সাধারণত আরও সাবডিরেক্টরি, যেমন, হয়েছে bin/, lib/, share/


সুতরাং / বিন সেখানে সমস্ত মূল ফাইল ইনস্টল করা হয়। এলএস, বিড়াল, পিডাব্লুডির মতো? সুতরাং, / usr / বিন ব্যবহারকারী ইনস্টল অ্যাপস কোথায়? / ইউএসআর / বিনে কী থাকতে হবে তার কয়েকটি উদাহরণ কী?
পটোশি パ ト シ

1
স্ক্রিপ্টগুলি রাখলে কি /binকোনও সমস্যা হয়? আমি আপনার উত্তর অনুসারে আমার স্ক্রিপ্টগুলি সরিয়ে নিয়েছি তবে আমি এখনও আগ্রহী
রুমেশ

5
@ রুমেশ সুধাহরন আপনার এটি করা উচিত নয়, কারণ এটি প্যাকেজ পরিচালনা দ্বারা পরিচালিত হয়। যদি অন্য কোনও প্যাকেজও সেই পথটি ব্যবহার করতে চায় তবে তা আপনার ফাইলটিকে ওভাররাইট করে দেবে। প্যাকেজগুলিতে থাকা ফাইলগুলি কখনই ওভারল্যাপ করতে পারে না (কমপক্ষে সরকারী সংগ্রহস্থলের জন্য), তাই স্থানীয় পথে ইনস্টল করার সময় আপনি আরও সুরক্ষিত হন। এছাড়াও, এটি কেবল আপনার নিজের সুবিধার্থে এবং সুরক্ষার জন্য। স্থানীয় পথে আপনি সিস্টেমে এমন খারাপ উপায়ে গণ্ডগোল করতে পারবেন না এবং আপনি ঘটনাক্রমে কোনও সিস্টেম বাইনারি প্রতিস্থাপন করতে পারবেন না।
gertvdijk

8
আমি ত্রুটির পৃষ্ঠায় ব্যাখ্যাটি পছন্দ করি:Severity:Serious Certainty:Certain
কাটরাইটজম

1
আমি কিছু ফাইল / ইউএসআর / লোকাল / বিনে রেখেছি এবং আমি সেগুলি কার্যকর করতে পারি, তবে আমি তাদের সম্পাদনা করতে পারি না, ls -laকিছুই দেখায় না
এম রেজা নাসিরলু

6

এক বছর আগে আমারও একই প্রশ্ন ছিল: আমার বাশ স্ক্রিপ্টগুলি রাখার জন্য সেরা ডিরেক্টরি?

বাইনারিগুলির জন্য সিস্টেম ডিরেক্টরি

man hier(শ্রেণিবিন্যাস) সমস্ত ডিরেক্টরি তালিকাবদ্ধ করে। শুধুমাত্র বাইনারি ব্যবহারের জন্য এটিগুলি পেতে:

$ man hier | grep -E 'bin$|sbin$|^.{7}(/bin)|^.{7}(/sbin)' -A2

       /bin   This directory contains executable programs which are needed in single user
              mode and to bring the system up or repair it.

--
       /sbin  Like  /bin,  this  directory  holds commands needed to boot the system, but
              which are usually not executed by normal users.

--
       /usr/X11R6/bin
              Binaries  which  belong  to the X-Window system; often, there is a symbolic
              link from the more traditional /usr/bin/X11 to here.
--
       /usr/bin
              This  is the primary directory for executable programs.  Most programs exe
              cuted by normal users which are not needed for booting or for repairing the
--
       /usr/local/bin
              Binaries for programs local to the site.

--
       /usr/local/sbin
              Locally installed programs for system administration.

--
       /usr/sbin
              This directory contains program binaries for  system  administration  which
              are  not  essential  for the boot process, for mounting /usr, or for system

আপনার নিজের স্ক্রিপ্ট কোথায় রাখবেন?

সমস্ত ব্যবহারকারীদের আপনার স্ক্রিপ্ট অ্যাক্সেস করার জন্য আপনি এগুলিতে রাখতে পারেন /usr/local/binsudoএখানে ফাইল যুক্ত / পরিবর্তন করতে আপনার অ্যাক্সেসের প্রয়োজন মনে রাখবেন । দেখুন: কাস্টম লিনাক্স স্ক্রিপ্ট স্থাপনের জন্য কি কোনও আদর্শ জায়গা আছে?

আপনার নিজের ব্যবহারকারীর আইডি স্ক্রিপ্টগুলি এতে রাখুন /home/YOUR_NAME/bin। মনে রাখবেন আপনাকে প্রথমে এই ডিরেক্টরিটি তৈরি করতে হবে এবং রাস্তাটি স্বয়ংক্রিয়ভাবে সেট আপ করতে টার্মিনালটি পুনরায় চালু করতে হবে ~/.profile। দেখুন: কীভাবে / home / ব্যবহারকারীর নাম / বিনকে AT PATH এ যুক্ত করবেন?


আমি যা জানি আমি জানি না

আমি আমার আরও জটিল বাশ স্ক্রিপ্টগুলি জিজ্ঞাসা উবুন্টুতে নেওয়ার এবং সেগুলি ইনস্টল করার জন্য স্ক্রিপ্টগুলি সেটআপ করার বিষয়ে চিন্তাভাবনা করছি github। এখানে কয়েকটি উদাহরণ দেওয়া হল:

আমি মনে করি যে স্ক্রিপ্টগুলি ইনস্টল করা উচিত /usr/binযা $ PATH- তে রয়েছে তবে আমি এখনও উপযুক্ত জায়গায় নিশ্চিত নই।


1
আমি আপনার প্রচেষ্টার প্রশংসা করি, তবে "আমি যা জানি আমি জানি না" অংশটি বাদে আপনি জার্তিভিডিজকের উত্তরটি পুনরাবৃত্তি করেছিলেন।
ডানজেল

1
@ এডানজেল আমি মনে করি মূল অংশটি হ'ল সেই man hierঅংশ যা জার্টভিডিজকের উত্তর সম্বোধন করে নি। উদাহরণস্বরূপ আপনি ওয়েবে এটি পড়ার অবলম্বন না করে কমান্ড লাইনে ডিরেক্টরি হায়ারারিকিকাল কাঠামো পেতে পারেন (যেমন এখানে)।
WinEunuuchs2Unix

1
আমি আকর্ষণীয় তথ্য, আমি সম্মত। তবে জার্মটভিডিজ্ক ইতিমধ্যে ফাইলসাইম হায়ারার্কি স্ট্যান্ডার্ডকে উল্লেখ করেছে (যা man hierআইএমওর একটি তথ্য হিসাবে অপ্রতুল অংশ)। তবে এটি আমার ব্যক্তিগত মতামত হতে পারে।
ডানজেল

@ এডানজেল আমি সম্মতি জানাই যে আমাদের হার্ড ড্রাইভে থাকা ওয়েবসাইটের চেয়ে ওয়েবসাইটগুলির অনেক বেশি গভীর-বিশ্লেষণ রয়েছে। আমি কেবল তথ্যটি আমাদের হার্ড ড্রাইভে ইন্টারনেট অবলম্বন না করেই দেখানোর চেষ্টা করছি। উদ্ধৃত উইকিপিডিয়া লিঙ্কটি অনুপস্থিত /usr/X11R6/bin এবং এটিতে /usr/local/binঅন্তর্ভুক্ত রয়েছে man heir
উইনউইউউকস

@ উইনউনুছুস ইউনিক্স, শেষ প্যারা; কেন নয় /usr/local/binযেহেতু আপনি প্যাকেজ ম্যানেজার না?
পেসারিয়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.