~ /। প্রোফাইল, ~ / .bashrc, ~ / .bash_profile, ~ / .gnomerc, / ইত্যাদি / bash_bashrc, / ইত্যাদি / স্ক্রিনসিআর… এর মধ্যে পার্থক্য কী?


68

এসও এবং অ্যাসুবুন্টু সম্পর্কিত প্রশ্নের উত্তর , এবং পোকার মাধ্যমে (এবং এর শিরোনামগুলি পড়ার মাধ্যমে) $HOMEএবং /etc/, এমন অনেকগুলি ফাইল নির্দেশ করে যা পরিবেশ ভেরিয়েবল সেট করতে ব্যবহৃত হতে পারে:

  • ~/.profile
  • ~/.bashrc
  • ~/.bash_profile
  • ~/.gnomerc
  • ~/.Rprofile
  • /etc/bash_bashrc
  • /etc/profile
  • /etc/screenrc

আমি ফাইলগুলি /etc/সমস্ত ব্যবহারকারীর জন্য কাজ করি যেখানে ফাইলগুলি $HOMEব্যবহারকারী-নির্দিষ্ট। আমি .profileলগইন করে .bashrcলোড /bin/bashকরা হয় তা কার্যকর করা হয় যখন মৃত্যুদন্ড কার্যকর করা হয়। আমি আরও বুঝতে পারি যে বিভিন্ন প্রোগ্রামের বিভিন্ন সেটিংস ফাইল রয়েছে (যেমন .Rprofileআর এর জন্য)। তবে আমি কিছু স্পষ্টতার প্রশংসা করব:

  • হয় *rcএবং *profileফাইল মৌলিকভাবে ভিন্ন?
  • এই জাতীয় ফাইলের সুযোগ কী (উদাহরণস্বরূপ লিনাক্সের সাথে কোন ফাইলগুলি ব্যবহৃত হয়)
  • একটি শ্রেণিবিন্যাস আছে (উদাহরণস্বরূপ .bashrcওভাররাইট ভেরিয়েবল সেট আপ .settings)
  • এই শ্রেণীর ফাইলগুলির জন্য একটি ভাল রেফারেন্স কী? এই ফাইলগুলির বিকল্পগুলির জন্য?

সংযুক্ত প্রশ্ন


3
INVOCATIONবিভাগটি দেখুন man bashFHSলিনাক্স ফাইল সিস্টেমে উইকি নিবন্ধটি দেখুন । এটি আপনাকে একটি ভাল সূচনা দেবে এবং এই কয়েকটি প্রশ্নের উত্তর দেবে। পূর্ববর্তী ডট ( .) সহ ফাইলগুলি সাধারণত ব্যবহারকারী-নির্দিষ্ট they এগুলি ব্যবহারকারীর $HOMEডিরেক্টরিতে থাকে।

3
তাদের সবাই? সত্যি?
ইগনাসিও ওয়াজকেজ-আব্রামস

@ IgnacioVazquez-Abram আমি বিশদগুলি খুঁজছি না, কেবল কীভাবে তারা সম্পর্কিত হয় এবং কখন একটির অন্যটির ব্যবহার করা উচিত তার একটি সাধারণ বিবরণ।
আবে

উত্তর:


48

আপনার প্রশ্নগুলি বোঝার চেয়ে কনফিগারেশন ফাইলগুলির সংগঠনটি অনেক কম ইউনিফর্ম। এখানে কোনও "শ্রেণি" নেই, কোনও "শ্রেণিবিন্যাস" নেই, এবং কোনও বিশ্বব্যাপী "কনফিগারেশন সিজার" বা কমিটি নেই যা একটি সাধারণ বাক্য গঠন বা অন্যান্য সুন্দর পরিষ্কার জেনারালাইজেশনের জন্য আপনাকে সন্ধান করছে বলে ঘোষণা করে। মাত্র মত পৃথক অ্যাপ্লিকেশনের গর্জন করে ওঠে R, bash, screenএবং GNOME ডেস্কটপ পরিবেশে, যাদের সব জিনিসগুলি তাদের নিজস্ব উপায় আছে, তাই আপনি ডকুমেন্টেশন তাকান প্রতিটি প্রোগ্রাম কোন উত্তরের জন্য উচিত নির্দিষ্ট একটি নির্দিষ্ট ফাইল সম্পর্কে প্রশ্ন। যদি এটি অ্যাড-হক হিসাবে মনে হয়, কারণ এটি এটি হ'ল: ইউনিক্স / লিনাক্স সফ্টওয়্যারগুলির বেশিরভাগই বিভিন্ন লোকেরা বিভিন্ন উদ্দেশ্যে বিভিন্ন উদ্দেশ্যে তৈরি করেছিল যারা কনফিগারেশনটি কিছুটা ভিন্নভাবে চলেছিল।

আপনার অন্যান্য প্রশ্নের উত্তর দিকনির্দেশ:

  • *rcএবং *profileখুব বেশি অর্থ বোঝায় না, সুতরাং এই প্রশ্নের সত্যই উত্তর দেওয়া যাবে না। "আরসি" হ'ল সাধারণভাবে ব্যবহৃত সংক্ষিপ্তকরণ বা কনফিগারেশন ফাইলগুলির প্রত্যয়। এর ব্যুৎপত্তিটি প্রাচীন যুগে ফিরে এসেছে (কম্পিউটার বছরগুলিতে), এবং সম্ভবত রান কমান্ড ( রানকম থেকে ) বোঝায় । অ্যাপ্লিকেশনগুলির একই শব্দ ব্যবহার করার অর্থ এই নয় যে তারা সম্মেলনে সম্মত হয়। "প্রোফাইল" অনেক কম সাধারণ প্রত্যয়।

  • সুযোগ নির্ধারণ". বেশিরভাগ অ্যাপ্লিকেশনগুলি অন্যান্য অ-সম্পর্কিত অ্যাপ্লিকেশনগুলির সাথে কনফিগারেশন ফাইলগুলি ভাগ করে না। সম্ভাব্য একটি ব্যতিক্রম হ'ল /etc/profileএবং এটি .profileএকাধিক বিভিন্ন শেল (কমপক্ষে shএবং সহ bash) ব্যবহার করতে পারে । প্রতিটি চলমান প্রক্রিয়ার সাথে যুক্ত এমন একটি পরিবেশ রয়েছে যার মধ্যে ভেরিয়েবলগুলি থাকতে পারে যা বলেন প্রক্রিয়াটির আচরণকে প্রভাবিত করতে পারে। সাধারণত, পরিবেশের ভেরিয়েবলগুলি উপযুক্ত শেল কনফিগারেশন ফাইলগুলি দ্বারা বা সম্ভবত আপনি গ্রাফিকাল ডেস্কটপ পরিবেশ ব্যবহার করছেন তার কনফিগারেশন ফাইলগুলি দ্বারা সেট করা হয়। "লাইব্রেরি" এর জন্য কনফিগারেশন ফাইল রয়েছে যেমন .inputrcরিডলাইনের .gtkrc*জন্য এবং জিটিকে-র জন্য যা লাইব্রেরি ব্যবহার করে এমন প্রতিটি অ্যাপ্লিকেশনকে প্রভাবিত করবে।

  • না, কনফিগারেশন ফাইলগুলির জন্য কোনও বৈশ্বিক শ্রেণিবদ্ধতা নেই। আবার, ডকুমেন্টেশন নির্দিষ্ট প্রোগ্রামের জন্য প্রশ্নে, পড়ুন, উদাহরণস্বরূপ bashম্যানুয়াল জন্য bash। একটি সাধারণ কনভেনশন যা আপনি সাধারণত নির্ভর করতে পারেন সেটি হল $HOMEসিস্টেম-প্রশস্ত কনফিগারেশনে ওভাররাইডের ব্যবহারকারীর সেটিংস /etc। এটি সাধারণত সিস্টেমের পরে ব্যবহারকারী ফাইলটি পড়ার দ্বারা সম্পন্ন হয়, যাতে পরবর্তী সেটিংস আগের ফাইলগুলি ওভাররাইট করে। তবে এটি কোনও গ্যারান্টি নয় এবং নির্দিষ্ট জবাবগুলির জন্য আপনার ব্যবহার করা নির্দিষ্ট প্রোগ্রামটির জন্য ডকুমেন্টেশনটি উল্লেখ করা উচিত।

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


5

আমি মনে করি এই প্রশ্নটি এতগুলি স্তরে খুব বিস্তৃত, যেমন আপনি একটি প্রশ্নে কমপক্ষে চারটি ভিন্ন প্রোগ্রাম সম্পর্কে প্রশ্ন জিজ্ঞাসা করছেন । আমি কেবল কনফিগারেশন ফাইলগুলির মধ্যে /etcএবং এর মধ্যে পার্থক্যটি দেখব $HOME

ইউনিক্স, একটি একাধিক ব্যবহারকারী অপারেটিং সিস্টেম এই বিভিন্ন ব্যক্তি, একটি সিস্টেম ব্যবহার করতে পারেন ব্যবহার করে এর মানে হল ssh, telnetবা Xorg। আপনার ব্যবহারকারীদের জন্য একটি প্রমিত কনফিগারেশন সরবরাহ করতে আপনি সিস্টেম ওয়াইড কনফিগারেশন সরবরাহ করতে পারেন /etc/, এটি সাধারণত আপনার বিতরণ দ্বারা যেমন একটি বৈশ্বিক কনফিগারেশন সরবরাহ করতে bashবা screen

অন্যদিকে, কিছু ব্যবহারকারী তাদের নিজের প্রোগ্রামগুলির জন্য সেটিংস নিজের পছন্দ মতো কী-বাইন্ডিং, রঙ বা চেহারা পছন্দসই করতে চান। এটি তাদের কনফিগারেশন ফাইলের মাধ্যমে করা হয় $HOME। সুতরাং সংক্ষেপে /etc/সিস্টেম বিস্তৃত কনফিগারেশন সরবরাহ করে while HOM এ কনফিগার করা ফাইলগুলি ব্যবহারকারীদের সিস্টেম ওয়াইড কনফিগারেশন পরিবর্তন / ওভাররাইড করার অনুমতি দেয়।


3

উত্তরের অংশটি এই পোস্ট থেকে এসেছে :

.bashrc ইন্টারফেসটিভভাবে যখনই এটি শুরু হয় তখন বাশ চালিত একটি শেল স্ক্রিপ্ট।

বিপরীতে .bash_profileএবং .profileযা কেবলমাত্র একটি নতুন লগইন শেলের শুরুতে চালিত হয়। (বাশ-এল)

আপনি একবার নির্বাচন করতে চান বা প্রতিটি ইন্টারেক্টিভ শেল শুরু করার জন্য কোনও কমান্ড .bashrcবনাম চলে কিনা তার .bash_profileউপর নির্ভর করে আপনি চয়ন করেন ।

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