Linux কমান্ড-লাইন ইন্টারফেস ব্যবহার করার সময় আপনি যে সবচেয়ে গুরুত্বপূর্ণ কমান্ড শিখবেন সেটি হলো pwd কমান্ড, যা করে print working directory।
এই গাইড আপনাকে দেখাবে কিভাবে pwd কমান্ড ব্যবহার করতে হয়। এছাড়া আপনি যে ডিরেক্টরিতে কাজ করছেন তার ফিজিক্যাল পাথ এবং লজিক্যাল ডিরেক্টরি কীভাবে বের করতে হয় সেটিও দেখাবে।
আপনি বর্তমানে কোন Linux ডিরেক্টরিতে আছেন তা নির্ধারণ করা
আপনি বর্তমানে কোন ডিরেক্টরিতে আছেন তা জানতে একটি কমান্ড লাইন খুলুন এবং নিচের কমান্ড চালান:
pwd
pwd কমান্ডের আউটপুট হবে কিছু এইরকম:
/home/gary
আপনি সিস্টেমে ঘুরে ফিরলে, ওয়ার্কিং ডিরেক্টরি আপনার ফাইল সিস্টেমের বর্তমান পজিশন প্রতিফলিত করতে পরিবর্তন হয়।
উদাহরণস্বরূপ, আপনি যদি cd কমান্ড ব্যবহার করে documents ফোল্ডারে নেভিগেট করেন, তবে pwd কমান্ড নিচের আউটপুট দেবে:
/home/gary/documents
সিম্বলিকলি লিংক করা ফোল্ডারে নেভিগেট করলে pwd কী দেখায়?
এই প্রশ্নের উত্তর জানতে নিচের সিনেরিও সেট আপ করি।
কল্পনা করুন আপনার নিচের ফোল্ডার স্ট্রাকচার আছে:
- home
- gary
- documents
- folder1
- folder2
- documents
- gary
এখন কল্পনা করুন আপনি ফোল্ডার ২-র একটি সিম্বলিক লিংক তৈরি করলেন নিচের মতো:
ln -s /home/gary/documents/folder2 /home/gary/documents/accounts
ফোল্ডার ট্রি এখন এইরকম দেখাবে:
- home
- gary
- documents
- folder1
- folder2
- accounts
- documents
- gary
ls কমান্ড একটি নির্দিষ্ট লোকেশনে ফাইল এবং ফোল্ডার দেখায়:
ls -lt
আপনি যদি documents ফোল্ডারের বিরুদ্ধে ls কমান্ড চালান, তবে accounts-এর জন্য এটি কিছু এইরকম দেখাবে:
accounts -> folder2
সিম্বলিক লিংক ফাইল সিস্টেমের অন্য একটি লোকেশনকে পয়েন্ট করে।
এখন কল্পনা করুন আপনি documents ফোল্ডারে আছেন এবং cd কমান্ড ব্যবহার করে accounts ফোল্ডারে ঢুকেন। pwd এর আউটপুট কী হবে?
আপনি যদি অনুমান করেন এটি /home/gary/documents/accounts দেখাবে, তবে আপনি সঠিক। কিন্তু আপনি যদি accounts ফোল্ডারের বিরুদ্ধে ls কমান্ড চালান, তবে এটি folder2 ফোল্ডারের ফাইলগুলো দেখাবে।
নিচের কমান্ডটি দেখুন:
pwd -P
সিম্বলিকলি লিংক করা ফোল্ডারের ভিতরে উপরের কমান্ড চালালে আপনি ফিজিক্যাল লোকেশন দেখতে পাবেন, যা এই কেসে /home/gary/documents/folder2।
লজিক্যাল ফোল্ডার দেখতে নিচের কমান্ড ব্যবহার করুন:
pwd -L
এই কমান্ড pwd কমান্ড একলেই যেটি দেখায় তেটি দেখাবে, অর্থাৎ /home/gary/documents/accounts।
কমান্ড ডিফল্টভাবে ফিজিক্যাল পাথ দেখাবে নাকি লজিক্যাল পাথ তা নির্ভর করে আপনি কীভাবে pwd সেট আপ এবং কম্পাইল করেছেন আপনার সিস্টেমে। তাই সেরা অনুশীলন হলো -P বা -L সুইচ ব্যবহার করা (আপনি কোন আচরণ চান সেটি অনুযায়ী)।
$PWD ভেরিয়েবল কীভাবে ব্যবহার করবেন
আপনি করেন্ট ওয়ার্কিং ডিরেক্টরি দেখতে $PWD ভেরিয়েবলের মান ডিসপ্লে করে জানতে পারেন, নিচের মতো:
echo $PWD
পূর্বের ওয়ার্কিং ডিরেক্টরি ডিসপ্লে করা
আপনি যদি পূর্বের ওয়ার্কিং ডিরেক্টরি দেখতে চান, তবে নিচের কমান্ড চালান:
echo $OLDPWD
আউটপুট আপনি করেন্ট ডিরেক্টরিতে আসার আগে যেই ডিরেক্টরিতে ছিলেন সেটি দেখাবে।
pwd-এর একাধিক অকুরেন্স
pwd কমান্ড আপনি কীভাবে সেট আপ করেছেন তার উপর ভিত্তি করে আলাদা আচরণ করতে পারে। একটি ভালো উদাহরণ Kubuntu Linux-এ।
pwd-র শেল ভার্সন, যা আপনি pwd কমান্ড চালালে ব্যবহার করেন, সিম্বলিকলি লিংক করা ফোল্ডারের ভিতরে থাকলে লজিক্যাল ওয়ার্কিং ডিরেক্টরি দেখায়। কিন্তু আপনি যদি নিচের কমান্ড চালান, তবে এটি ফিজিক্যাল ওয়ার্কিং ডিরেক্টরি দেখাবে:
/usr/bin/pwd
এই আউটপুট উপকারী নয়: আপনি একই কমান্ড চালাচ্ছেন কিন্তু ডিফল্ট মোডে রান করালে বিপরীত ফলাফল পাচ্ছেন। তাই -P এবং -L সুইচ ব্যবহার করার অভ্যাস বানানো ভালো।
pwd সহ সহায়ক সুইচগুলো
pwd কমান্ডের সাথে দুটি আরও সুইচ সহায়ক। প্রথমটি:
pwd --version
...pwd-র বর্তমান ভার্সন নম্বর দেখায়।
pwd-র শেল ভার্সনের বিরুদ্ধে রান করলে --version সুইচ কাজ নাও করতে পারে। তবে /bin/pwd ভার্সনের বিরুদ্ধে এটি কাজ করবে।
দ্বিতীয় সুইচ:
pwd --help
...ম্যানুয়াল পেজ টার্মিনাল উইন্ডোতে দেখায়।
আবার, এই সুইচ pwd-র শেল ভার্সনের জন্য কাজ করে না, শুধু /bin/pwd ভার্সনের জন্য কাজ করে।