লিনাক্সে শেল ইনিশিয়ালাইজেশন ফাইল এবং ব্যবহারকারী প্রোফাইল বোঝা


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

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

এই নিবন্ধে, আমরা লিনাক্সে স্থানীয় ব্যবহারকারী পরিচালনার জন্য ব্যবহারকারীর প্রোফাইল সম্পর্কিত শেল ইনিশিয়ালাইজেশন ফাইলগুলি ব্যাখ্যা করব। কাস্টম শেল ফাংশন, এলিয়াস, ভেরিয়েবলের পাশাপাশি স্টার্টআপ প্রোগ্রামগুলি কোথায় রাখবেন তা আমরা আপনাকে জানাব।

গুরুত্বপূর্ণ: এই নিবন্ধটির উদ্দেশ্যে, আমরা বাশ, একটি sh সামঞ্জস্যপূর্ণ শেল যা সেখানে লিনাক্স সিস্টেমের মধ্যে সর্বাধিক জনপ্রিয়/ব্যবহৃত শেল হিসাবে ফোকাস করব।

আপনি যদি অন্য কোনও শেল (zsh, ছাই, মাছ ইত্যাদি ..) প্রোগ্রাম ব্যবহার করে থাকেন তবে এর সাথে সম্পর্কিত কিছু ফাইল সম্পর্কে আরও জানার জন্য এর ডকুমেন্টেশনের মাধ্যমে পড়ুন আমরা এখানে আলোচনা করব।

লিনাক্সে শেল ইনিশিয়ালাইজেশন

যখন শেলটি আহ্বান করা হয়, সেখানে কিছু নির্দিষ্ট সূচনা/স্টার্টআপ ফাইল রয়েছে যা শেল নিজেই এবং সিস্টেম ব্যবহারকারীর জন্য পরিবেশ স্থাপনে সহায়তা করে; এটি পূর্বনির্ধারিত (এবং কাস্টমাইজড) ফাংশন, ভেরিয়েবল, উপাধি এবং অন্যান্য।

শেল দ্বারা পঠনযোগ্য দুটি ফাইল রয়েছে:

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

আবার শেলটি তিনটি সম্ভাব্য পদ্ধতিতে ডাকা যাবে:

কোনও ব্যবহারকারী// বিন/লগইন ব্যবহার করে/etc/passwd ফাইলে সংরক্ষিত শংসাপত্রগুলি পড়ার পরে সিস্টেমে সফলভাবে লগইন করার পরে শেলটি ডাকা হয়।

শেলটি একটি ইন্টারেক্টিভ লগইন শেল হিসাবে শুরু করা হলে, এটি/ইত্যাদি/প্রোফাইল এবং তার ব্যবহারকারী-নির্দিষ্ট সমতুল্য।/.Bash_profile পড়ে।

শেলটি কমান্ড-লাইনে শেল প্রোগ্রামটি ব্যবহার করে উদাহরণস্বরূপ $/bin/bash বা $/bin/zsh ব্যবহার করে শুরু করা হয়। এটি/bin/su কমান্ড চালিয়ে শুরু করা যেতে পারে।

অতিরিক্তভাবে, একটি ইন্টারেক্টিভ নন-লগইন শেলটি গ্রাফিক্যাল পরিবেশের মধ্যে থেকে কনসোল, এক্সটার্মের মতো টার্মিনাল প্রোগ্রামের সাথেও ডাকা যেতে পারে।

যখন শেলটি এই অবস্থায় শুরু করা হয়, এটি প্যারেন্ট শেলের পরিবেশকে অনুলিপি করে এবং অতিরিক্ত প্রারম্ভিক কনফিগারেশনের নির্দেশাবলীর জন্য ব্যবহারকারী-নির্দিষ্ট ~/.bashrc ফাইলটি পড়ে।

$ su
# ls -la

শেল স্ক্রিপ্ট চলার সময় শেলটি ডাকা হয়। এই মোডে, এটি একটি স্ক্রিপ্ট প্রক্রিয়া করছে (শেল বা জেনেরিক সিস্টেম কমান্ড/ফাংশনগুলির সেট) এবং অন্যথায় না হলে কমান্ডের মধ্যে ব্যবহারকারীর ইনপুট লাগবে না। এটি প্যারেন্ট শেল থেকে উত্তরাধিকার সূত্রে প্রাপ্ত পরিবেশকে ব্যবহার করে।

সিস্টেম-ব্যাপী শেল স্টার্টআপ ফাইলগুলি বোঝা

এই বিভাগে, আমরা শেল স্টার্টআপ ফাইলগুলিতে আরও আলো ছায়া করব যা সিস্টেমে সমস্ত ব্যবহারকারীর জন্য কনফিগারেশন সঞ্চয় করে এবং এর মধ্যে রয়েছে:

/ ইত্যাদি/প্রোফাইল ফাইল - এটি সিস্টেম-বিস্তৃত পরিবেশের কনফিগারেশন এবং লগইন সেটআপের জন্য স্টার্টআপ প্রোগ্রামগুলি সঞ্চয় করে। আপনি সমস্ত সিস্টেম ব্যবহারকারীদের পরিবেশে যে কনফিগারেশন প্রয়োগ করতে চান সেগুলি এই ফাইলটিতে যুক্ত করা উচিত।

উদাহরণস্বরূপ, আপনি এখানে বিশ্বব্যাপী PATH পরিবেশ পরিবর্তনশীল সেট করতে পারেন।

# cat /etc/profile

দ্রষ্টব্য: আরএইচইএল/সেন্টোস like এর মতো নির্দিষ্ট সিস্টেমে আপনি "এই ফাইলটি পরিবর্তন করার প্রস্তাব দেওয়া হয় না আপনি যদি না জানেন যে আপনি কী করছেন।" আপনার পরিবেশে কাস্টম পরিবর্তন করতে /etc/profile.d/ এ একটি কাস্টম .sh শেল স্ক্রিপ্ট তৈরি করা আরও ভাল, কারণ এটি ভবিষ্যতের আপডেটগুলিতে মার্জ হওয়ার প্রয়োজনীয়তা রোধ করবে ”।

/Etc/profile.d/ ডিরেক্টরি - আপনার পরিবেশে কাস্টম পরিবর্তন করতে ব্যবহৃত শেল স্ক্রিপ্টগুলি সংরক্ষণ করে:

# cd /etc/profile.d/
# ls  -l 

/ Etc/bashrc বা /etc/bash.bashrc ফাইলটিতে সিস্টেম ব্যাপী ফাংশন এবং অন্যান্য কনফিগারেশন সহ অন্যান্য উপকরণ রয়েছে যা সমস্ত সিস্টেম ব্যবহারকারীদের জন্য প্রযোজ্য।

যদি আপনার সিস্টেমে একাধিক ধরণের শাঁস থাকে তবে এই ফাইলটিতে ব্যাশ-নির্দিষ্ট কনফিগারেশনগুলি রাখা ভাল ধারণা।

# cat /etc/bashrc

ব্যবহারকারী-নির্দিষ্ট শেল স্টার্টআপ ফাইলগুলি বোঝা

এরপরে, আমরা ব্যবহারকারী-নির্দিষ্ট শেল (ব্যাশ) প্রারম্ভকালীন ডট ফাইলগুলি সম্পর্কিত, সিস্টেমে কোনও নির্দিষ্ট ব্যবহারকারীর জন্য কনফিগারেশনগুলি সঞ্চয় করে সেগুলি ব্যবহারকারীর হোম ডিরেক্টরিতে অবস্থিত এবং সেগুলি অন্তর্ভুক্ত করে:

# ls -la

B/.bash_profile ফাইল - এটি ব্যবহারকারীর নির্দিষ্ট পরিবেশ এবং স্টার্টআপ প্রোগ্রাম কনফিগারেশন সংরক্ষণ করে। আপনি নীচের স্ক্রিনশট হিসাবে প্রদর্শিত হিসাবে আপনার কাস্টম PATH পরিবেশ পরিবর্তনশীল এখানে সেট করতে পারেন:

# cat ~/.bash_profile

~/.Bashrc ফাইল - এই ফাইলটি ব্যবহারকারীর নির্দিষ্ট উপাত্ত এবং ফাংশন সংরক্ষণ করে।

# cat ~/.bashrc

B/.bash_login ফাইল - এটিতে নির্দিষ্ট কনফিগারেশন রয়েছে যা সাধারণত যখন আপনি সিস্টেমে লগ ইন করেন কেবল তখনই সম্পাদিত হয়। যখন ~/.bash_ প্রোফাইলে অনুপস্থিত থাকে, তখন এই ফাইলটি ব্যাশ দ্বারা পড়া হবে।

~ /। প্রোফাইল ফাইল - এই ফাইলটি ~/.bash_profile এবং ~/.bash_login এর অভাবে পড়ে; এটি একই কনফিগারেশনগুলি সঞ্চয় করতে পারে যা এগুলি সিস্টেমের অন্যান্য শেলগুলির দ্বারাও অ্যাক্সেসযোগ্য। যেহেতু আমরা এখানে মূলত বাশ সম্পর্কে কথা বলেছি, নোট করুন যে অন্যান্য শেলগুলি সম্ভবত ব্যাশ সিনট্যাক্সটি বুঝতে পারে না।

এরপরে, আমরা আরও দুটি গুরুত্বপূর্ণ ব্যবহারকারী নির্দিষ্ট ফাইল ব্যাখ্যা করব যা প্রয়োজনীয়ভাবে প্রাথমিকভাবে ফাইলগুলিকে বাশ করতে পারে না:

~/.Bash_history ফাইল - ব্যাশ সিস্টেমে কোনও ব্যবহারকারী দ্বারা প্রবেশ করা কমান্ডের ইতিহাস বজায় রাখে। আদেশের এই তালিকাটি কোনও ব্যবহারকারীর হোম ডিরেক্টরিতে ~/.bash_history ফাইলে রাখা আছে।

এই তালিকাটি দেখতে, টাইপ করুন:

$ history 
or 
$ history | less

~/.Bash_logout ফাইল - এটি শেল প্রারম্ভের জন্য ব্যবহৃত হয় না, তবে লগআউট পদ্ধতির জন্য ব্যবহারকারীর নির্দিষ্ট নির্দেশাবলী সংরক্ষণ করে। কোনও ব্যবহারকারী ইন্টারেক্টিভ লগইন শেল থেকে বেরিয়ে আসার সময় এটি পড়া এবং কার্যকর করা হয়।

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

# cat bash_logout 

অতিরিক্ত অন্তর্দৃষ্টিগুলির জন্য, বিভিন্ন লিনাক্স ডিস্ট্রোজে এই শেল প্রারম্ভিককরণ ফাইলগুলির সামগ্রীগুলি পরীক্ষা করে দেখুন এবং ব্যাশ ম্যান পৃষ্ঠার মাধ্যমে পড়ুন:

এখন এ পর্যন্তই! এই নিবন্ধে, আমরা লিনাক্সে শেল প্রারম্ভ/সূচনা ফাইলগুলি ব্যাখ্যা করেছি। আমাদের ফিরে লিখতে নীচের মন্তব্য ফর্মটি ব্যবহার করুন।