ফাইল এবং ডিরেক্টরি ম্যানেজমেন্ট
UNIX এবং LINUX সিস্টেমে ফাইল এবং ডিরেক্টরি ম্যানেজমেন্ট অত্যন্ত গুরুত্বপূর্ণ, কারণ এগুলি সিস্টেমের ডাটা সংগঠন এবং অ্যাক্সেস পরিচালনার মূল অংশ। ফাইল এবং ডিরেক্টরি পরিচালনা করার জন্য বিভিন্ন কমান্ড ব্যবহার করা হয়। নিচে কিছু সাধারণ এবং গুরুত্বপূর্ণ ফাইল এবং ডিরেক্টরি ম্যানেজমেন্ট কমান্ডের তালিকা দেওয়া হলো।
1. ফাইল এবং ডিরেক্টরি তৈরি করা
touch: নতুন ফাইল তৈরি করতে ব্যবহার করা হয়।উদাহরণ:
touch newfile.txtএটি
newfile.txtনামে একটি নতুন ফাইল তৈরি করবে (যদি ফাইলটি ইতিমধ্যেই না থাকে)।mkdir: নতুন ডিরেক্টরি তৈরি করতে ব্যবহৃত হয়।উদাহরণ:
mkdir new_directoryএটি
new_directoryনামক একটি নতুন ডিরেক্টরি তৈরি করবে।
2. ফাইল এবং ডিরেক্টরি তালিকা দেখা
ls: ডিরেক্টরি বা ফাইলের তালিকা দেখতে ব্যবহৃত হয়।উদাহরণ:
lsএটি বর্তমান ডিরেক্টরির সমস্ত ফাইল এবং ডিরেক্টরি দেখাবে।
বিস্তারিত তথ্য সহ তালিকা দেখতে:
ls -lসমস্ত লুকানো (hidden) ফাইলও দেখতে:
ls -a
3. ডিরেক্টরি পরিবর্তন করা
cd: ডিরেক্টরি পরিবর্তন করার জন্য ব্যবহৃত হয়।উদাহরণ:
cd /path/to/directoryএটি
/path/to/directoryনামক ডিরেক্টরিতে চলে যাবে।পূর্ববর্তী ডিরেক্টরিতে ফিরে যাওয়ার জন্য:
cd -হোম ডিরেক্টরিতে ফিরে যাওয়ার জন্য:
cd ~
4. ফাইল বা ডিরেক্টরি কপি করা
cp: ফাইল বা ডিরেক্টরি কপি করার জন্য ব্যবহৃত হয়।উদাহরণ:
cp file1.txt file2.txtএটি
file1.txtফাইলটি কপি করেfile2.txtনামে একটি নতুন ফাইল তৈরি করবে।ডিরেক্টরি কপি করতে
-r(recursive) অপশন ব্যবহার করুন:cp -r dir1 dir2
5. ফাইল বা ডিরেক্টরি স্থানান্তর বা নাম পরিবর্তন
mv: ফাইল বা ডিরেক্টরি স্থানান্তর বা নাম পরিবর্তন করার জন্য ব্যবহৃত হয়।উদাহরণ:
mv oldfile.txt newfile.txtএটি
oldfile.txtফাইলের নাম পরিবর্তন করেnewfile.txtকরবে।ফাইল স্থানান্তর করতে:
mv file1.txt /path/to/destination/
6. ফাইল বা ডিরেক্টরি মুছে ফেলা
rm: ফাইল মুছে ফেলতে ব্যবহৃত হয়।উদাহরণ:
rm file.txtফাইলগুলোকে শক্তভাবে মুছে ফেলতে
-f(force) অপশন ব্যবহার করা হয়:rm -f file.txtডিরেক্টরি মুছে ফেলতে
-r(recursive) অপশন ব্যবহার করা হয়:rm -r directory_nameযদি ডিরেক্টরির মধ্যে লুকানো (hidden) ফাইল থাকে, তাহলে
-aঅপশন ব্যবহার করা যায়:rm -rf directory_name
7. ফাইলের মালিকানা এবং পারমিশন পরিবর্তন
chmod: ফাইল বা ডিরেক্টরির পারমিশন পরিবর্তন করার জন্য ব্যবহৃত হয়।উদাহরণ:
chmod 755 file.txtএটি
file.txtফাইলটির পারমিশন পরিবর্তন করবে। এখানে7মানে রিড, রাইট, এক্সিকিউট পারমিশন (মালিকের জন্য),5মানে রিড এবং এক্সিকিউট পারমিশন (গ্রুপের জন্য), এবং5মানে রিড এবং এক্সিকিউট পারমিশন (অন্যদের জন্য)।chown: ফাইল বা ডিরেক্টরির মালিকানা পরিবর্তন করতে ব্যবহৃত হয়।উদাহরণ:
chown user:group file.txtএটি
file.txtফাইলের মালিকানাuserএবং গ্রুপgroupএ পরিবর্তন করবে।
8. ফাইলের বিষয়বস্তু দেখা
cat: ফাইলের বিষয়বস্তু দেখতে ব্যবহৃত হয়।উদাহরণ:
cat file.txtmore: একটি ফাইলের বিষয়বস্তু পেজ বাই পেজ দেখতে ব্যবহৃত হয়।উদাহরণ:
more file.txtless:moreএর মত, তবে এটি ফাইলের মধ্যে দ্রুত নেভিগেট করতে সাহায্য করে।উদাহরণ:
less file.txt
9. ফাইলের টেক্সট পরিবর্তন
nanoবাvim: টেক্সট এডিটর ব্যবহার করে ফাইলের বিষয়বস্তু পরিবর্তন করতে পারেন।উদাহরণ:
nano file.txtঅথবা
vim file.txt
10. ফাইল অনুসন্ধান
find: একটি নির্দিষ্ট প্যাটার্ন বা শর্তে ফাইল খুঁজে বের করার জন্য ব্যবহৃত হয়।উদাহরণ:
find /path/to/directory -name "file.txt"এটি
/path/to/directoryডিরেক্টরির মধ্যেfile.txtনামক ফাইল খুঁজে বের করবে।
সারসংক্ষেপ
UNIX এবং LINUX সিস্টেমে ফাইল এবং ডিরেক্টরি ম্যানেজমেন্টের জন্য এসব কমান্ড অত্যন্ত গুরুত্বপূর্ণ। এগুলি ফাইল তৈরি, স্থানান্তর, কপি, মুছে ফেলা, পারমিশন পরিবর্তন, এবং বিভিন্ন ফাইল সম্পর্কিত কার্যক্রম পরিচালনা করতে ব্যবহৃত হয়। সঠিকভাবে এই কমান্ডগুলি জানলে সিস্টেম পরিচালনা আরও সহজ এবং কার্যকর হয়।
ফাইল সিস্টেম এবং মাউন্ট করা
ফাইল সিস্টেম এবং মাউন্টিং হলো কম্পিউটার সিস্টেমে ডেটা সংরক্ষণ, সংগঠন, এবং অ্যাক্সেস করার জন্য ব্যবহৃত দুটি গুরুত্বপূর্ণ ধারণা। এগুলি লিনাক্স এবং UNIX সিস্টেমে বিশেষভাবে গুরুত্বপূর্ণ, যেখানে বিভিন্ন ধরনের ফাইল সিস্টেম ব্যবহৃত হয় এবং ডিভাইস/পার্টিশন মাউন্ট করা হয় যাতে ব্যবহারকারীরা সেগুলোর মধ্যে ডেটা অ্যাক্সেস করতে পারে।
ফাইল সিস্টেম (File System)
ফাইল সিস্টেম একটি পদ্ধতি বা ডেটা স্টোরেজ কাঠামো যা কম্পিউটার ডিভাইসের উপর ডেটা সংরক্ষণ এবং সংগঠনের জন্য ব্যবহৃত হয়। এটি ফাইলগুলির এবং ডিরেক্টরির কাঠামো নির্ধারণ করে, যার মাধ্যমে অপারেটিং সিস্টেম এবং ব্যবহারকারীরা ফাইল এবং ডিরেক্টরি অ্যাক্সেস করতে পারে।
ফাইল সিস্টেমের কাজ:
- ফাইল এবং ডিরেক্টরি কাঠামো: ফাইল সিস্টেম ফাইল এবং ডিরেক্টরি তৈরি, স্থানান্তর, মুছা এবং অ্যাক্সেস করার জন্য কাঠামো তৈরি করে।
- ডেটা সঞ্চয় এবং অ্যাক্সেস: এটি ডেটা সঞ্চয় করে এবং সেই ডেটাকে দ্রুত এবং দক্ষতার সাথে অ্যাক্সেস করার ব্যবস্থা প্রদান করে।
- নিরাপত্তা এবং অনুমতি: ফাইল সিস্টেমের মাধ্যমে ফাইল এবং ডিরেক্টরির উপর অনুমতি (read, write, execute) নির্ধারণ করা হয়।
প্রধান ফাইল সিস্টেমের ধরন:
- EXT4 (Fourth Extended File System): LINUX-এ সবচেয়ে জনপ্রিয় ফাইল সিস্টেম। এটি একটি স্থিতিশীল এবং দক্ষ ফাইল সিস্টেম যা আধুনিক লিনাক্স সিস্টেমে ব্যবহৃত হয়।
- NTFS (New Technology File System): এটি উইন্ডোজ অপারেটিং সিস্টেমে ব্যবহৃত ফাইল সিস্টেম।
- FAT32 (File Allocation Table 32): এটি একটি পুরোনো ফাইল সিস্টেম যা অনেক কম্পিউটার সিস্টেম এবং মেমরি কার্ডে ব্যবহৃত হয়।
- XFS: একটি উচ্চ ক্ষমতা সম্পন্ন ফাইল সিস্টেম যা বিশেষভাবে বড় ডেটাবেস এবং মিডিয়া ফাইলের জন্য ব্যবহৃত হয়।
- Btrfs (B-Tree File System): এটি একটি উন্নত ফাইল সিস্টেম যা লিনাক্সে ব্যবহৃত হয় এবং এর মধ্যে ফাইলের স্ন্যাপশট এবং ডেটা সমন্বয়ের সুবিধা রয়েছে।
মাউন্ট করা (Mounting)
মাউন্টিং হল একটি প্রক্রিয়া যার মাধ্যমে কোনো ডিভাইস (যেমন হার্ড ড্রাইভ, ইউএসবি ড্রাইভ, পার্টিশন) বা ফাইল সিস্টেমকে লিনাক্স বা UNIX সিস্টেমের ফাইল সিস্টেমে যুক্ত করা হয়, যাতে সেগুলোর মধ্যে ডেটা অ্যাক্সেস করা যায়।
মাউন্টিং প্রক্রিয়া:
- যখন আপনি একটি নতুন ডিভাইস বা পার্টিশন যুক্ত করেন, তখন এটি সিস্টেমের মূল ফাইল সিস্টেমে "মাউন্ট" করতে হয়, যাতে এটি ব্যবহারযোগ্য হয়।
- প্রতিটি মাউন্ট পয়েন্ট সাধারণত একটি ফোল্ডার বা ডিরেক্টরি হিসেবে কাজ করে, যেখানে ডিভাইসের ফাইল সিস্টেম অ্যাক্সেস করা যায়।
মাউন্ট কমান্ড:
mount: ডিভাইস বা পার্টিশন মাউন্ট করতে ব্যবহৃত হয়।- ব্যবহার:
mount [ডিভাইস] [মাউন্ট পয়েন্ট]- যেমন:
mount /dev/sdb1 /mnt:/dev/sdb1ডিভাইসটি/mntডিরেক্টরিতে মাউন্ট করবে।mount /dev/sda1 /media/usb:/dev/sda1ডিভাইসটি/media/usbডিরেক্টরিতে মাউন্ট করবে।
- যেমন:
মাউন্ট পয়েন্ট:
- এটি একটি ডিরেক্টরি যেখানে মাউন্ট করা ডিভাইস বা পার্টিশন অ্যাক্সেস করা যায়। সাধারণত,
/mnt,/media,/homeইত্যাদি ডিরেক্টরি মাউন্ট পয়েন্ট হিসেবে ব্যবহৃত হয়।
umount কমান্ড
umount কমান্ড ব্যবহার করা হয় কোনো মাউন্ট করা ডিভাইস বা পার্টিশন আনমাউন্ট (অর্থাৎ সংযোগ বিচ্ছিন্ন) করার জন্য। এটি ডিভাইস বা পার্টিশনটি নিরাপদে মুছে ফেলার আগে বা ব্যবহারের পর আনমাউন্ট করার জন্য ব্যবহার করা হয়।
- ব্যবহার:
umount [ডিভাইস বা মাউন্ট পয়েন্ট] - যেমন:
umount /mnt:/mntথেকে মাউন্ট করা ডিভাইস বা পার্টিশন আনমাউন্ট করবে।umount /dev/sdb1:/dev/sdb1ডিভাইসটি আনমাউন্ট করবে।
স্বয়ংক্রিয় মাউন্টিং
লিনাক্সে আপনি /etc/fstab ফাইলের মাধ্যমে স্বয়ংক্রিয়ভাবে মাউন্টিং কনফিগার করতে পারেন। এই ফাইলের মধ্যে ডিভাইস, মাউন্ট পয়েন্ট, ফাইল সিস্টেম টাইপ এবং অপশনগুলি সঠিকভাবে কনফিগার করা হয়, যা সিস্টেম বুটের সময় মাউন্ট হওয়ার জন্য নির্দেশ দেয়।
/etc/fstab ফাইল উদাহরণ:
/dev/sdb1 /mnt ext4 defaults 0 0এই কনফিগারেশনটি /dev/sdb1 ডিভাইসটিকে /mnt ডিরেক্টরিতে স্বয়ংক্রিয়ভাবে মাউন্ট করবে যখন সিস্টেম বুট হবে।
সারসংক্ষেপ
- ফাইল সিস্টেম হল ডেটা সংরক্ষণ এবং সংগঠনের একটি পদ্ধতি যা ফাইল এবং ডিরেক্টরি পরিচালনা করে।
- মাউন্টিং হল ডিভাইস বা পার্টিশনকে লিনাক্স বা UNIX সিস্টেমের ফাইল সিস্টেমে যুক্ত করার প্রক্রিয়া, যাতে আপনি সেই ডিভাইস বা পার্টিশনের ডেটা অ্যাক্সেস করতে পারেন।
mountকমান্ড মাউন্টিং এবংumountকমান্ড আনমাউন্টিং করার জন্য ব্যবহৃত হয়।- আপনি
/etc/fstabফাইলের মাধ্যমে স্বয়ংক্রিয়ভাবে ডিভাইস মাউন্ট করতে পারেন।
এই প্রক্রিয়া এবং কমান্ডগুলি সিস্টেমের ফাইল সিস্টেম এবং ডিভাইস পরিচালনা করার জন্য অত্যন্ত গুরুত্বপূর্ণ।
ফাইল পারমিশন এবং chmod এর ব্যবহার
UNIX এবং LINUX সিস্টেমে ফাইল পারমিশন ব্যবহারকারী এবং গ্রুপের জন্য ফাইল বা ডিরেক্টরির অ্যাক্সেস নিয়ন্ত্রণ করতে ব্যবহৃত হয়। ফাইল পারমিশন ঠিকমতো কনফিগার করা না থাকলে নিরাপত্তা সমস্যা হতে পারে, কারণ এটি ফাইলের অ্যাক্সেস বা পরিবর্তন সীমাবদ্ধ করতে সাহায্য করে।
ফাইল পারমিশন কী?
ফাইল পারমিশন হল সিস্টেমের মধ্যে ফাইল বা ডিরেক্টরি কারা পড়তে, লিখতে বা এক্সিকিউট করতে পারবে তা নির্ধারণ করে। UNIX এবং LINUX সিস্টেমে তিনটি ধরনের পারমিশন থাকে:
- রিড (Read) –
r: ফাইলের বিষয়বস্তু পড়া যাবে। - ওয়্রাইট (Write) –
w: ফাইলের বিষয়বস্তু পরিবর্তন বা লিখা যাবে। - এক্সিকিউট (Execute) –
x: ফাইলটি চালানো যাবে (যদি এটি একটি প্রোগ্রাম বা স্ক্রিপ্ট হয়)।
এই পারমিশনগুলি তিনটি ভিন্ন শ্রেণীতে ভাগ করা হয়:
- Owner (স্বত্বাধিকারী): ফাইলের মালিক।
- Group (গ্রুপ): ফাইলের মালিকের সাথে একই গ্রুপে থাকা অন্য ব্যবহারকারীরা।
- Others (অন্যান্য): সিস্টেমের অন্যান্য ব্যবহারকারীরা।
ফাইল পারমিশন এর উদাহরণ:
-rwxr-xr--- প্রথম চরিত্র
-নির্দেশ করে এটি একটি ফাইল (ডিরেক্টরি হলে প্রথম চরিত্রটিdহবে)। - পরবর্তী তিনটি চরিত্র
rwxহল owner (স্বত্বাধিকারী) এর পারমিশন, অর্থাৎ ফাইলটি পড়া, লেখা, এবং এক্সিকিউট করা যাবে। - পরবর্তী তিনটি চরিত্র
r-xহল group (গ্রুপ) এর পারমিশন, অর্থাৎ ফাইলটি পড়া এবং এক্সিকিউট করা যাবে, কিন্তু লেখা যাবে না। - শেষের তিনটি চরিত্র
r--হল others (অন্যান্য) এর পারমিশন, অর্থাৎ তারা শুধুমাত্র পড়তে পারবে, লিখতে বা এক্সিকিউট করতে পারবে না।
chmod কমান্ড কী?
chmod (Change Mode) কমান্ডটি ফাইল বা ডিরেক্টরির পারমিশন পরিবর্তন করার জন্য ব্যবহৃত হয়। আপনি এই কমান্ডটি ব্যবহার করে ফাইলের মালিক, গ্রুপ, এবং অন্যান্যদের জন্য পারমিশন সেট করতে পারেন। chmod কমান্ডের দুটি মডেল থাকে:
- সিম্বলিক মডেল (Symbolic Mode)
- নিউমেরিক মডেল (Numeric Mode)
১. সিম্বলিক মডেল (Symbolic Mode)
সিম্বলিক মডেলে, আপনি r, w, এবং x দিয়ে পারমিশন সেট করবেন, এবং +, -, এবং = দিয়ে পারমিশন অ্যাড, রিমুভ বা সেট করবেন। এখানে কিছু সাধারণ ব্যবহার:
+: পারমিশন যোগ করা-: পারমিশন সরিয়ে ফেলা=: নির্দিষ্ট পারমিশন সেট করা
ব্যবহার:
chmod [user/group/others] [operation] [permission] <filename>উদাহরণ:
পারমিশন যোগ করা:
chmod u+x file.txtএই কমান্ডটি ফাইলের মালিকের (user) জন্য এক্সিকিউট পারমিশন যোগ করবে।
পারমিশন সরানো:
chmod g-w file.txtএই কমান্ডটি ফাইলের গ্রুপের (group) লেখার পারমিশন সরিয়ে ফেলবে।
পারমিশন সেট করা:
chmod u=rwx file.txtএই কমান্ডটি ফাইলের মালিকের (user) জন্য রিড, রাইট এবং এক্সিকিউট পারমিশন সেট করবে।
সব ব্যবহারকারীর জন্য পারমিশন যোগ করা:
chmod a+x file.txtএই কমান্ডটি সব ব্যবহারকারীর (owner, group, এবং others) জন্য এক্সিকিউট পারমিশন যোগ করবে।
২. নিউমেরিক মডেল (Numeric Mode)
নিউমেরিক মডেলে, প্রতিটি পারমিশনকে একটি সংখ্যা দিয়ে প্রতিনিধিত্ব করা হয়। তিনটি পারমিশনের জন্য একটি তিন ডিজিটের সংখ্যা ব্যবহৃত হয়:
- Read (r): 4
- Write (w): 2
- Execute (x): 1
এই সংখ্যা গুলো যোগ করে আপনি একটি ফাইলের জন্য পারমিশন নির্ধারণ করতে পারেন।
| পারমিশন | মালিক (Owner) | গ্রুপ (Group) | অন্যান্য (Others) |
|---|---|---|---|
rwx | 7 (4+2+1) | 7 (4+2+1) | 7 (4+2+1) |
rw- | 6 (4+2) | 6 (4+2) | 6 (4+2) |
r-- | 4 (4) | 4 (4) | 4 (4) |
--- | 0 (none) | 0 (none) | 0 (none) |
ব্যবহার:
chmod <permission> <filename>উদাহরণ:
ফাইলের মালিকের জন্য পূর্ণ পারমিশন এবং গ্রুপ ও অন্যান্যদের জন্য শুধুমাত্র পড়ার পারমিশন:
chmod 744 file.txtএই কমান্ডটি ফাইলের মালিকের জন্য rwx (7), গ্রুপের জন্য r-- (4), এবং অন্যান্যদের জন্য r-- (4) পারমিশন সেট করবে।
সব ব্যবহারকারীর জন্য পূর্ণ পারমিশন:
chmod 777 file.txtএই কমান্ডটি ফাইলের মালিক, গ্রুপ এবং অন্যান্যদের জন্য rwx (7) পারমিশন সেট করবে।
ফাইলের মালিক এবং গ্রুপের জন্য পূর্ণ পারমিশন এবং অন্যান্যদের জন্য শুধুমাত্র পড়ার পারমিশন:
chmod 775 file.txtএই কমান্ডটি ফাইলের মালিক এবং গ্রুপের জন্য rwx (7) এবং অন্যান্যদের জন্য r-x (5) পারমিশন সেট করবে।
সারসংক্ষেপ
chmodকমান্ড ব্যবহার করে আপনি ফাইল বা ডিরেক্টরির পারমিশন পরিবর্তন করতে পারেন।- সিম্বলিক মডেল (Symbolic Mode) দিয়ে আপনি পারমিশন যোগ বা সরাতে পারেন এবং নির্দিষ্ট পারমিশন সেট করতে পারেন।
- নিউমেরিক মডেল (Numeric Mode) দিয়ে আপনি পারমিশন সংখ্যা দিয়ে সেট করতে পারেন, যেমন 7 (rwx), 6 (rw-), 4 (r--), ইত্যাদি।
- সঠিক ফাইল পারমিশন সেট করার মাধ্যমে আপনি নিরাপত্তা এবং অ্যাক্সেস নিয়ন্ত্রণ নিশ্চিত করতে পারেন।
ফাইল এবং ডিরেক্টরির মালিকানা পরিবর্তন
UNIX এবং LINUX সিস্টেমে ফাইল এবং ডিরেক্টরির মালিকানা পরিবর্তন করা একটি গুরুত্বপূর্ণ কাজ, যা নিরাপত্তা এবং অ্যাক্সেস কন্ট্রোলের জন্য ব্যবহৃত হয়। মালিকানা পরিবর্তন করা মানে হল যে আপনি একটি নির্দিষ্ট ফাইল বা ডিরেক্টরি এর মালিক বা গ্রুপ পরিবর্তন করবেন। এর জন্য সাধারণত chown (চেঞ্জ মালিকানা) এবং chgrp (চেঞ্জ গ্রুপ) কমান্ড ব্যবহার করা হয়।
1. chown কমান্ড: ফাইল বা ডিরেক্টরির মালিক পরিবর্তন
chown (চেঞ্জ মালিকানা) কমান্ড ব্যবহার করে আপনি ফাইল বা ডিরেক্টরির মালিক এবং গ্রুপ পরিবর্তন করতে পারেন।
সিনট্যাক্স:
chown [new_owner]:[new_group] file_or_directorynew_owner: নতুন মালিকের ব্যবহারকারীর নামnew_group: নতুন গ্রুপের নাম (এটি ঐচ্ছিক, যদি আপনি শুধুমাত্র মালিক পরিবর্তন করতে চান তবে গ্রুপ উল্লেখ করা দরকার নেই)
কমান্ড উদাহরণ:
মালিক পরিবর্তন করা:
chown user1 file.txtএই কমান্ডটি
file.txtফাইলটির মালিকuser1হিসাবে পরিবর্তন করবে।মালিক এবং গ্রুপ পরিবর্তন করা:
chown user1:admin file.txtএই কমান্ডটি
file.txtফাইলটির মালিকuser1এবং গ্রুপadminহিসাবে পরিবর্তন করবে।রিকার্সিভভাবে (subdirectories সহ) মালিকানা পরিবর্তন করা:
chown -R user1:admin /path/to/directoryএই কমান্ডটি
/path/to/directoryডিরেক্টরির সকল ফাইল এবং সাব-ডিরেক্টরির মালিকuser1এবং গ্রুপadminহিসেবে পরিবর্তন করবে।
2. chgrp কমান্ড: ফাইল বা ডিরেক্টরির গ্রুপ পরিবর্তন
chgrp (চেঞ্জ গ্রুপ) কমান্ড ব্যবহার করে আপনি শুধুমাত্র ফাইল বা ডিরেক্টরির গ্রুপ পরিবর্তন করতে পারেন।
সিনট্যাক্স:
chgrp [new_group] file_or_directorynew_group: নতুন গ্রুপের নাম
কমান্ড উদাহরণ:
গ্রুপ পরিবর্তন করা:
chgrp admin file.txtএই কমান্ডটি
file.txtফাইলটির গ্রুপadminহিসাবে পরিবর্তন করবে।রিকার্সিভভাবে (subdirectories সহ) গ্রুপ পরিবর্তন করা:
chgrp -R admin /path/to/directoryএই কমান্ডটি
/path/to/directoryডিরেক্টরির সকল ফাইল এবং সাব-ডিরেক্টরির গ্রুপadminহিসেবে পরিবর্তন করবে।
মালিকানা পরিবর্তনের জন্য কিছু অতিরিক্ত নির্দেশনা:
- রুট ইউজার হিসেবে মালিকানা পরিবর্তন:
শুধুমাত্র রুট (root) ব্যবহারকারী বা সুপারইউজার
sudoব্যবহার করে অন্য ব্যবহারকারীর ফাইল বা ডিরেক্টরির মালিকানা পরিবর্তন করতে পারেন। উদাহরণস্বরূপ:sudo chown user1:admin file.txt
- ফাইলের মালিকানা এবং গ্রুপ একযোগে পরিবর্তন করা:
মালিকানা এবং গ্রুপ একযোগে পরিবর্তন করতে
:ব্যবহার করুন:sudo chown user1:admin file.txt
- ফাইলের মালিকানা দেখার জন্য:
একটি ফাইলের মালিকানা এবং গ্রুপ দেখতে
ls -lকমান্ড ব্যবহার করুন:ls -l file.txt- এটি ফাইলের বিস্তারিত তথ্য দেখাবে, যার মধ্যে মালিক এবং গ্রুপের নামও অন্তর্ভুক্ত থাকবে।
সারসংক্ষেপ
chownকমান্ড দিয়ে ফাইল বা ডিরেক্টরির মালিক এবং গ্রুপ পরিবর্তন করা যায়।chgrpকমান্ড দিয়ে শুধুমাত্র গ্রুপ পরিবর্তন করা যায়।- মালিকানা পরিবর্তন করার সময়
sudoব্যবহার করে প্রশাসনিক অনুমতি নিতে হতে পারে। -Rঅপশনটি রিকার্সিভভাবে ডিরেক্টরি এবং তার ভিতরের সমস্ত ফাইল এবং সাব-ডিরেক্টরি পরিবর্তন করতে ব্যবহৃত হয়।
এগুলি নিরাপত্তা এবং পারমিশন কন্ট্রোলের জন্য অত্যন্ত গুরুত্বপূর্ণ, বিশেষ করে বড় সিস্টেমে যেখানে একাধিক ব্যবহারকারী এবং গ্রুপ একসাথে কাজ করে।
লিংক এবং ইনোড: হার্ড লিংক এবং সিম্বলিক লিংক
ফাইল সিস্টেমে লিংক একটি পদ্ধতি যা ফাইলের একাধিক রেফারেন্স তৈরি করতে ব্যবহৃত হয়। লিংক দুটি ধরনের হতে পারে: হার্ড লিংক এবং **সিম্বলিক লিংক (সফট লিংক)**। এগুলি ফাইল এবং ডিরেক্টরি পরিচালনার জন্য অত্যন্ত গুরুত্বপূর্ণ।
ইনোড (Inode) কী?
ইনোড একটি ডাটা স্ট্রাকচার যা ফাইল সিস্টেমে একটি নির্দিষ্ট ফাইলের মেটাডেটা সংরক্ষণ করে, যেমন:
- ফাইলের মালিকানা
- ফাইলের আকার
- ফাইলের প্রকার (ফাইল, ডিরেক্টরি, বা লিঙ্ক)
- ফাইলের পরিবর্তনের তারিখ
- ফাইলের অবস্থান (ফাইল ডেটা কোথায় সংরক্ষিত রয়েছে)
যখন কোনো ফাইল তৈরি করা হয়, তখন একটি ইনোড বরাদ্দ করা হয় এবং এটি ফাইলের সব মেটাডেটা সংরক্ষণ করে। একটি ইনোডের মাধ্যমে ফাইল সিস্টেমে ফাইলের অবস্থান চিহ্নিত করা হয়।
হার্ড লিংক (Hard Link)
হার্ড লিংক হল একটি নতুন রেফারেন্স বা পয়েন্টার যা একটি বিদ্যমান ফাইলের ইনোডের দিকে নির্দেশ করে। এটি মূল ফাইলের সাথে একটি সমান সমতল কপি তৈরি করে, তবে এটি মূল ফাইলের ইনোডের সাথে সম্পর্কিত থাকে।
বিশেষত্ব:
- হার্ড লিংক মূলত একটি ফাইলের নতুন নাম সৃষ্টি করে।
- ফাইলের তথ্য একাধিক স্থানে থাকে, কিন্তু এগুলির মধ্যে কোনো পার্থক্য থাকে না। এর মানে, উভয় লিংক একই ফাইলের জন্য ইনোড শেয়ার করে।
- যখন কোনো একটি হার্ড লিংক বা মূল ফাইল মুছে ফেলা হয়, ফাইলটি তখনো সিস্টেমে থাকবে যদি অন্য কোনো হার্ড লিংক থেকে সেই ইনোড রেফারেন্স করা হয়।
- একই পার্টিশনে থাকা ফাইলের জন্যই হার্ড লিংক তৈরি করা যায়।
বৈশিষ্ট্য:
- ফাইলের মধ্যে কোনো পার্থক্য নেই: হার্ড লিংক এবং মূল ফাইল উভয়ই একে অপরের সাথে সম্পর্কিত থাকে এবং একই ইনোডে পয়েন্ট করে।
- ডিরেক্টরি লিংক করা যাবে না: সাধারণত ডিরেক্টরি ফাইলের জন্য হার্ড লিংক তৈরি করা যাবে না, শুধুমাত্র ফাইলের জন্যই এটি সম্ভব।
- হার্ড লিংক তৈরি করার জন্য
lnকমান্ড ব্যবহৃত হয়।
উদাহরণ:
ln file.txt hardlink.txtএই কমান্ডটি file.txt এর একটি হার্ড লিংক তৈরি করবে hardlink.txt নামে।
সিম্বলিক লিংক (Symbolic Link / Soft Link)
সিম্বলিক লিংক (বা সফট লিংক) একটি বিশেষ ধরনের ফাইল যা অন্য একটি ফাইল বা ডিরেক্টরির পথকে নির্দেশ করে। এটি একটি পাথ বা লিংক ফাইল তৈরি করে যা আসল ফাইলের বা ডিরেক্টরির সাথে সংযুক্ত থাকে। এটি আসল ফাইল বা ডিরেক্টরি এর দিকে একটি "পয়েন্টার" হিসেবে কাজ করে।
বিশেষত্ব:
- সিম্বলিক লিংক আসলে একটি আলাদা ফাইল যা মূল ফাইলের পাথ ধারণ করে।
- ফাইলের মধ্যে পার্থক্য থাকে: এটি মূল ফাইলের একটি আলাদা ফাইল নাম হিসেবে কাজ করে এবং পাথের রেফারেন্স রাখে।
- সিম্বলিক লিংক ফাইল বা ডিরেক্টরি অন্য একটি জায়গায় থাকতে পারে, যেমন অন্য পার্টিশনে।
- যদি মূল ফাইলটি মুছে ফেলা হয়, তবে সিম্বলিক লিংকটি "broken" হয়ে যায় এবং কোনো কার্যকারিতা রাখে না।
- সিম্বলিক লিংক তৈরি করতে
ln -sকমান্ড ব্যবহৃত হয়।
বৈশিষ্ট্য:
- পাথের রেফারেন্স: সিম্বলিক লিংক মূল ফাইলের অবস্থান নির্দেশ করে, এবং এটি মূল ফাইলের পরিবর্তন অনুসরণ করে।
- ফাইল ও ডিরেক্টরি লিংক করা যাবে: সিম্বলিক লিংক ফাইল এবং ডিরেক্টরি উভয়ের জন্য তৈরি করা যায়।
- অন্য পার্টিশনে কাজ করতে পারে: সিম্বলিক লিংক এক পার্টিশন থেকে অন্য পার্টিশনে ফাইলের লিংক করতে পারে।
- সিম্বলিক লিংক তৈরি করতে
ln -sকমান্ড ব্যবহৃত হয়।
উদাহরণ:
ln -s /home/user/file.txt symlink.txtএই কমান্ডটি /home/user/file.txt ফাইলটির জন্য একটি সিম্বলিক লিংক তৈরি করবে symlink.txt নামে।
হার্ড লিংক এবং সিম্বলিক লিংকের মধ্যে পার্থক্য
| বৈশিষ্ট্য | হার্ড লিংক | সিম্বলিক লিংক |
|---|---|---|
| ফাইলের নাম | একটি নতুন নাম তৈরি করে, কিন্তু একই ইনোডে থাকে। | একটি নতুন ফাইল তৈরি করে যা মূল ফাইলের পাথকে নির্দেশ করে। |
| ইনোড শেয়ারিং | একই ইনোড শেয়ার করে। | আলাদা ইনোড থাকে, এবং মূল ফাইলের পাথ সংরক্ষণ করে। |
| ডিরেক্টরি লিংক | সাধারণত ডিরেক্টরি লিংক করা যায় না। | ডিরেক্টরি লিংক করা সম্ভব। |
| ফাইল মুছে ফেলা হলে | অন্য হার্ড লিংক থাকলে ফাইলের ডেটা অক্ষত থাকে। | মূল ফাইল মুছে ফেলা হলে সিম্বলিক লিংক "broken" হয়ে যায়। |
| পার্টিশন সীমাবদ্ধতা | শুধুমাত্র একই পার্টিশনে কাজ করে। | এক পার্টিশন থেকে অন্য পার্টিশনে কাজ করতে পারে। |
| অ্যাপ্লিকেশন | ফাইলের প্রতিটি লিংক সমান অধিকার পায়। | সিম্বলিক লিংকটি একটি রেফারেন্স হিসাবে কাজ করে। |
সারসংক্ষেপ
হার্ড লিংক এবং সিম্বলিক লিংক ফাইল সিস্টেমে ফাইলগুলির রেফারেন্স তৈরি করতে ব্যবহৃত হয়। হার্ড লিংক একটি মূল ফাইলের সাথে একই ইনোড শেয়ার করে, তবে সিম্বলিক লিংক মূল ফাইলের পাথের একটি রেফারেন্স তৈরি করে। যেখানে হার্ড লিংক একটি কপি ফাইলের মতো কাজ করে, সিম্বলিক লিংক একটি পাথ নির্দেশক হিসাবে কাজ করে এবং এটি অন্যান্য পার্টিশন বা ডিরেক্টরির জন্যও ব্যবহার করা যেতে পারে।
Read more