লিনাক্স টার্মিনাল নিয়ে বেসিক কিছু ধারণা এবং অপারেশন সম্পর্কে আলোচনা করেছি আগের একটি লেখায়। ভাল কিছু কনসেপ্ট পেতে চাইলে বেসিক টার্মিনাল পরিচিতি এবং টার্মিনালে সফটওয়্যার ইন্সটলেশন এবং মজার কিছু কমান্ড লেখাগুলো পড়ে নিতে পারেন।
এখানে লিনাক্স টার্মিনালের একটা গুরুত্বপূর্ণ অপারেশন সম্পর্কে আলোচনা করবো, সেটি হল ফাইল অপারেশন। লিনাক্স পার্টিশনের বিভিন্ন ফাইল, ডিরেক্টরিতে গিয়ে সেখানকার কার্যক্রমগুলো নিয়ে বিস্তর আলোচনা করার চেষ্টা করবো।
প্রথমে ফাইল এবং ডিরেক্টরি সম্পর্কে জেনে নেই। ফাইলের সাথে আমরা সাধারনভাবে সবাই পরিচিত, অনেক ধরনের ফাইল রয়েছে, যেমন- .doc, .pdf, .txt, .jar, .exe, .dev এসব একেক ধরনের স্পেসিফিক ফাইল। আর ডিরেক্টরি হল এগুলোর ঠিকানা। অর্থাৎ ফাইলগুলো যে ঠিকানায় অবস্থান করে।
/home/sanzid/Documents/Routine.png
1
/home/sanzid/Documents/Routine.png
এখানে- /home/sanzid/Documents হল ডিরেক্টরি এবং Routine.png হল একটা ফাইল। অর্থাৎ /home/document ডিরেক্টরিতে Routine.png ফাইলটি অবস্থান করছে।
বর্তমান অবস্থান সম্পর্কে জানাঃ
বর্তমানে কোন ডিরেক্টরিতে আছি সেটা জানতে টার্মিনালে pwd কমান্ড লিখে এন্টার চাপলেই পেয়ে যাবো আমাদের বর্তমান ডিরেক্টরি। pwd এর পূর্ণরূপ হল print working directory.
এখানে আমি /home/sanzid/Documents ফোল্ডারে বা ডিরেক্টরিতে আছি, এটা pwd লিখলেই জানতে পারলাম।
বর্তমান অবস্থানের সকল ফাইল এবং ডিরেক্টরিসমূহ দেখাঃ
বর্তমানে যে ডরেক্টরিতে আছি, সে ডিরেক্টরিতে আবার যেসকল ফাইল বা ডিরেক্টরি রয়েছে তা ls লিখে জানতে পারি। ls এর পূর্ণরূপ হল list services.
এখানে Documents ডিররেক্টরিতে থাকা সকল ফাইল এবং ডিরেক্টরিগুলো দেখতে পাচ্ছি। একটু খেয়াল করতে বুঝতে পারবেন ফাইল এবং ডিরেক্টরিগুলোর আলাদা আলাদা কালার দ্বারা রিপ্রেজেন্ট করা হয়েছে।
আমরা আরেকটু এডভান্সভাবে ফাইলগুলো দেখতে চাইলে ls | sort কমান্ড ইউজ করতে পারি, তাহলে ফাইল এবং ডিরেক্টরিগুলো সর্টিং হয়ে সুন্দর লিস্ট আকারে দেখাবে।
ডিরেক্টরি পরিবর্তন করে অন্য ডিরেক্টরিতে যাওয়াঃ
একটি ডিরেক্টরি থেকে পরবর্তী কোন ডিরেক্টরিতে যেতে হলে cd dirctocyName লিখে এন্টার চাপলেই সেখানে চলে যাবে।
এখানে root ফোল্ডার থেকে Documents ফোল্ডারে যাওয়ার জন্য cd Documents টাইপ করে এন্টার দিয়েছি, তখন root ফোল্ডার থেকে Documents ফোল্ডারে চলে গিয়েছে। তখন ls কমান্ড দিলে আর root ফোল্ডারের এলিমেন্টস গুলো দেখা যাচ্ছে না, Documents ফোল্ডারে যা যা আছে সেগুলো দেখতে পাচ্ছি।
বিঃ দ্রঃ এখানে ফাইল এবং ডিরেক্টরির নাম কেইস সেনসিটিভ।
আবার কোন ডিরেক্টরি থেকে ঠিক আগের ডিরেক্টরিতে ফিরে যেতে চাইলে একই রকমভাবে cd ../ কমান্ড লিখে এন্টার চাপলেই চলে যাবে ঠিক আগের ডিরেক্টরিতে।
যেকোন ডিরেক্টরি থেকে root ডিরেক্টরিতে আসতে হলে cd ~ কমান্ড লিখলেই চলে যাবে।
যেকোন ডিরেক্টরি থেকে cd — কমান্ড দিলে রিসেন্ট ডিরেক্টরিতে চলে যাবে।
বর্তমান অবস্থানের সকল ফাইল এবং ডিরেক্টরিসমূহের বিস্তারিত প্রোপার্টি দেখাঃ
কোন ডিরেক্টরি থেকে সেই ডিরেক্টরির সকল এলিমেন্টের বিস্তারিত প্রোপার্টি দেখতে ls -l লিখে এন্টার দিলেই হয়। আমি Documents এ থাকা সকল ফাইলের প্রোপার্টি দেখার জন্য কমান্ড দিয়েছি-
এসব দেখে ভয় পাওয়ার কিছু নাই। বুঝিয়ে বলছি…
প্রথম থেকে-
♦ d দ্বারা ডিরেক্টরি বা ফোল্ডার বুঝিয়েছে। ছাড়াও l, c, b, – থাকতে পারে, যেখানে-
“-“ দ্বারা সাধারন বা রেগুলার ফাইল বুঝায়।
“l” দ্বারা সিম্বলিক লিংক বুঝায়।
“c” দ্বারা ক্যারেক্টার স্পেশাল ফাইল বুঝায়।
“b” দ্বারা ব্লক স্পেশাল ফাইল বুঝায়।
♦ পরের rwxrwxr-x দ্বারা ফাইল বা ডিরেক্টরিতে একসেস পারমিশন বুঝায়। লিনাক্সে কোন ফাইল বা ফোল্ডারে কোন কোন ইউজার একসেস করতে পারবে তা সুপার ইউজার ডিফাইন করে দিতে পারে। ইউজারসমূহ আবার তিনটা ভাবে ভাগ করা যায়- Owner, Group, Word.
Owner বলতে বুঝায় সুপার ইউজার বা যে সবকিছু নিয়ন্ত্রন করতে পারবে।
Group অর্থ পারমিশনপ্রাপ্ত সকল ইউজার, এখানকার সকলের জন্য ওউনার নিজে ক্ষমতা নির্ধারন করে থাকে।
Word বলতে বুঝায় বাকী সকল ইউজার, যাদের একসেস দেয়া হয়নি।
rwxrwxr-x কে বিশ্লেষন করলে আমরা পাই-
প্রথম তিনটি মিলে rwx, এটি Owner এর একসেস পারমিশন।
পরের rwx হল Group এর একসেস পারমিশন।
এবং r-x হল Word এর পারমিশন।
এখানে r, w, x, – একেকটি এট্রিবিউট-
r হল Read একসেস, অর্থাৎ দেখার পারমিশন।
w হল Write অর্থাৎ লেখা বা ইডিট করার পারমিশন।
x হল Execution অর্থাৎ ঢুকতে দেয়ার পারমিশন।
– হল ব্লাঙ্ক পারমিশন, পারমিশন না থাকলে এটা দেয়া থাকে।
♦ 2 দ্বারা বুঝায় হার্ডলিঙ্ক, অর্থাৎ এখানে কতগুলো হার্ডলিঙ্ক আছে।
♦ sanzid হল Owner এর নাম বুঝায়। এটি ক্রিয়েটর বা মালিকের নাম নির্দেশ করে।
♦ আবার sanzid হল Group এর নাম। এটি দ্বারা ফাইল বা ডিরেক্টরিটি কোন গ্রুপের মালিকানায় আছে তা বুঝায়।
♦ 4096 দ্বারা ফাইল বা ফোল্ডারেরটি কতটুকু জায়গা দখল করেছে নির্দেশ করে। এখানে দখলকৃত মেমোরি অলওয়েজ বাইট আকারে দেখায়।
♦ May 13 এটা হল তারিখ এবং মাস। শেষ কবে এটি মোডিফাই করা হয়েছে সেটা নির্দেশ করে।
♦ 00.14 এটা হল শেষ মোডিফিকেশনের সময়।
♦ Nijbari সর্বশেষ এটি হল আমাদের ঐ ফাইল বা ডিরেক্টরির নাম। এখানে ফাইল এক্সটেনশন ছাড়া শুধু নামটি নির্দেশ করে।
আমার ব্লগের মূল পোস্টঃ
https://bit.ly/329IMWI