অ্যান্ড্রয়েড

লিনাক্সের পথে কীভাবে একটি ডিরেক্টরি যুক্ত করবেন

W3 L2 Create Execute and Exit from a Process

W3 L2 Create Execute and Exit from a Process

সুচিপত্র:

Anonim

আপনি যখন কমান্ড লাইনে একটি কমান্ড টাইপ করেন, আপনি প্রাথমিকভাবে শেলটি প্রদত্ত নামের সাথে একটি এক্সিকিউটেবল ফাইল চালানোর জন্য বলছেন। লিনাক্সে এই এক্সিকিউটেবল প্রোগ্রাম যেমন ls , ls , file এবং অন্যান্য সাধারণত আপনার সিস্টেমে বিভিন্ন ডিরেক্টরিতে থাকে। এই ডিরেক্টরিতে সঞ্চিত কার্যকরযোগ্য অনুমতি সহ যে কোনও ফাইল যে কোনও অবস্থান থেকে চালানো যেতে পারে। এক্সিকিউটেবল প্রোগ্রামগুলি ধারণ করে এমন সাধারণ ডিরেক্টরিগুলি হ'ল /bin , /sbin , /usr/sbin , /usr/local/bin এবং /usr/local/sbin

তবে শেলটি কীভাবে জানতে পারে, এক্সিকিউটেবল প্রোগ্রামগুলির জন্য কোন ডিরেক্টরিগুলি অনুসন্ধান করতে হয় বা পুরো ফাইল সিস্টেমের মাধ্যমে শেলটি অনুসন্ধান করে?

উত্তরটি সহজ। আপনি যখন কোনও কমান্ড টাইপ করেন, শেলটি সেই নামের এক্সিকিউটেবল ফাইলের জন্য ব্যবহারকারী the $PATH ভেরিয়েবলের মধ্যে উল্লিখিত সমস্ত ডিরেক্টরিতে অনুসন্ধান করে।

এই নিবন্ধটি দেখায় যে কীভাবে আপনার লিনাক্স সিস্টেমে directories $PATH এ ডিরেক্টরি যুক্ত করতে হয়।

লিনাক্সে $PATH কী

$PATH পরিবেশগত পরিবর্তনশীল হ'ল ডিরেক্টরিগুলির একটি কোলন-সীমাবদ্ধ তালিকা যা এক্সিকিউটেবল ফাইলগুলির জন্য অনুসন্ধান করতে ডিরেক্টরিগুলি শেলকে জানায়।

আপনার $PATH কী ডিরেক্টরি রয়েছে তা যাচাই করতে আপনি printenv বা echo কমান্ডটি ব্যবহার করতে পারেন:

echo $PATH

আউটপুটটি এরকম কিছু দেখবে:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

আপনার $PATH একটি ডিরেক্টরি যুক্ত করা হচ্ছে

এমন পরিস্থিতিতে রয়েছে যেখানে আপনি অন্যান্য ডিরেক্টরিতে $PATH ভেরিয়েবল যুক্ত করতে চাইতে পারেন। উদাহরণস্বরূপ, কিছু প্রোগ্রাম বিভিন্ন স্থানে ইনস্টল করা হতে পারে বা আপনি আপনার ব্যক্তিগত স্ক্রিপের জন্য একটি ডেডিকেটেড ডিরেক্টরি রাখতে চাইতে পারেন, তবে এক্সিকিউটেবল ফাইলগুলির নিখুঁত পথ নির্দিষ্ট না করে এগুলি চালাতে সক্ষম হবেন। এটি করার জন্য আপনাকে কেবল আপনার $PATH ডিরেক্টরি যুক্ত করতে হবে।

ধরা যাক আপনার হোম ডিরেক্টরিতে bin নামক একটি ডিরেক্টরি রয়েছে যেখানে আপনি নিজের শেল স্ক্রিপ্টগুলি রাখেন। আপনার $PATH তে ডিরেক্টরি যুক্ত করতে টাইপ করুন:

export PATH="$HOME/bin:$PATH"

export কমান্ড শেল চাইল্ড প্রক্রিয়া পরিবেশে পরিবর্তিত পরিবর্তনশীল রফতানি করবে।

এক্সিকিউটেবলের পুরো পাথটি নির্দিষ্ট না করেই আপনি এখন সহজেই এক্সিকিউটেবল স্ক্রিপ্ট নাম টাইপ করে আপনার স্ক্রিপ্টগুলি চালাতে পারেন।

তবে এই পরিবর্তনটি কেবলমাত্র বর্তমান শেল সেশনে অস্থায়ী এবং বৈধ।

পরিবর্তনটি স্থায়ী করতে, আপনাকে শেল কনফিগারেশন ফাইলগুলিতে $PATH ভেরিয়েবলটি নির্ধারণ করতে হবে। আপনি যখন নতুন সেশন শুরু করেন তখন বেশিরভাগ লিনাক্স বিতরণে, পরিবেশের ভেরিয়েবলগুলি নিম্নলিখিত ফাইলগুলি থেকে পড়ে:

  • গ্লোবাল শেল নির্দিষ্ট কনফিগারেশন ফাইল যেমন /etc/environment এবং /etc/profile । আপনি যদি সমস্ত ডিরেক্টরি ব্যবহারকারী users $PATH এ নতুন ডিরেক্টরি যুক্ত করতে চান তবে এই ফাইলটি ব্যবহার করুন।

    প্রতি ব্যবহারকারী শেল নির্দিষ্ট কনফিগারেশন ফাইল। উদাহরণস্বরূপ, আপনি যদি ব্যাশ ব্যবহার করছেন তবে আপনি ~/.bashrc ফাইলে $PATH ভেরিয়েবল সেট করতে পারেন এবং যদি আপনি ~/.zshrc ব্যবহার করছেন তবে ফাইলটির নাম ~/.zshrc

এই উদাহরণে, আমরা ~/.bashrc ফাইলে ভেরিয়েবল সেট করব। আপনার পাঠ্য সম্পাদক দিয়ে ফাইলটি খুলুন এবং এর শেষে নিম্নলিখিত লাইনটি যুক্ত করুন:

nano ~/.bashrc ~ /.Bashrc

export PATH="$HOME/bin:$PATH"

source কমান্ডটি ব্যবহার করে বর্তমান শেল সেশনে ফাইলটি সংরক্ষণ করুন এবং নতুন $PATH লোড করুন:

source ~/.bashrc

ডিরেক্টরিটি সফলভাবে যোগ করা হয়েছে তা নিশ্চিত করতে, টাইপ করে আপনার $PATH এর মানটি মুদ্রণ করুন:

echo $PATH

উপসংহার

আপনার ব্যবহারকারী বা বৈশ্বিক $PATH ভেরিয়েবলে নতুন ডিরেক্টরি যুক্ত করা সহজ। এটি আপনাকে নির্বাহযোগ্যের পুরো পথ টাইপ করার প্রয়োজন ছাড়াই অমানুষিক স্থানে সঞ্চিত কমান্ড এবং স্ক্রিপ্টগুলি কার্যকর করতে দেয়।

উবুন্টু, সেন্টোস, আরএইচইল, ডেবিয়ান এবং লিনাক্স মিন্ট সহ যে কোনও লিনাক্স বিতরণে একই নির্দেশাবলী প্রয়োগ করা হয়।

আপনার কোনও প্রশ্ন থাকলে নির্দ্বিধায় কোনও মন্তব্য করুন leave

প্রান্তিক