Skill

বেসিক কমান্ডস

ইউনিক্স/লিনাক্স (UNIX / LINUX) - Computer Programming

266

UNIX / LINUX বেসিক কমান্ডস

UNIX এবং LINUX সিস্টেমে কাজ করতে হলে, কিছু বেসিক কমান্ড জানা অত্যন্ত গুরুত্বপূর্ণ। এগুলি সাধারণত ফাইল সিস্টেম পরিচালনা, ফাইল কপি, ডিলিট, এবং অন্যান্য সিস্টেম-সম্পর্কিত কাজের জন্য ব্যবহৃত হয়। নিচে কিছু সাধারণ এবং গুরুত্বপূর্ণ UNIX / LINUX কমান্ডের তালিকা এবং তাদের ব্যবহার দেখানো হলো:


1. ls - ফাইল এবং ডিরেক্টরি তালিকা দেখা

এই কমান্ডটি ব্যবহার করে বর্তমান ডিরেক্টরির সব ফাইল এবং ডিরেক্টরি দেখতে পারেন।

ls

আরও বিস্তারিত তালিকা পেতে -l (long listing) অপশন ব্যবহার করা হয়:

ls -l

2. cd - ডিরেক্টরি পরিবর্তন করা

আপনি যদি কোন ডিরেক্টরি পরিবর্তন করতে চান, তাহলে cd কমান্ড ব্যবহার করেন।

cd /path/to/directory

যেখানে /path/to/directory হলো আপনি যেখানে যেতে চান সেই ডিরেক্টরির পাথ।

3. pwd - বর্তমান কাজের ডিরেক্টরি দেখানো

বর্তমান কাজের ডিরেক্টরি দেখতে pwd কমান্ড ব্যবহার করা হয়।

pwd

4. cp - ফাইল কপি করা

ফাইল কপি করতে cp কমান্ড ব্যবহার করা হয়। উদাহরণস্বরূপ:

cp source_file destination_file

এখানে source_file হলো মূল ফাইল এবং destination_file হলো যেখানে আপনি ফাইলটি কপি করতে চান।

5. mv - ফাইল স্থানান্তর বা নাম পরিবর্তন

ফাইল স্থানান্তর বা নাম পরিবর্তন করতে mv কমান্ড ব্যবহার করা হয়।

mv old_filename new_filename

এটি ফাইলের নাম পরিবর্তন করবে অথবা নির্দিষ্ট ডিরেক্টরিতে ফাইলটি স্থানান্তর করবে।

6. rm - ফাইল মুছে ফেলা

ফাইল মুছে ফেলতে rm কমান্ড ব্যবহার করা হয়।

rm filename

একাধিক ফাইল মুছে ফেলতে:

rm file1 file2

ডিরেক্টরি এবং তার মধ্যে থাকা সমস্ত ফাইল মুছে ফেলতে -r (recursive) অপশন ব্যবহার করা হয়:

rm -r directory_name

7. mkdir - নতুন ডিরেক্টরি তৈরি

নতুন ডিরেক্টরি তৈরি করতে mkdir কমান্ড ব্যবহার করা হয়।

mkdir directory_name

8. rmdir - খালি ডিরেক্টরি মুছে ফেলা

যদি ডিরেক্টরি খালি হয়, তবে rmdir কমান্ড দিয়ে ডিরেক্টরি মুছে ফেলতে পারেন।

rmdir directory_name

9. cat - ফাইলের বিষয়বস্তু দেখানো

একটি ফাইলের বিষয়বস্তু দেখতে cat কমান্ড ব্যবহার করা হয়।

cat filename

10. touch - ফাইল তৈরি করা

নতুন ফাইল তৈরি করতে touch কমান্ড ব্যবহার করা হয়। যদি ফাইলটি ইতোমধ্যে থাকে, তবে এটি ফাইলের টাইমস্ট্যাম্প আপডেট করে।

touch filename

11. echo - টেক্সট প্রদর্শন

echo কমান্ড ব্যবহার করে টেক্সট প্রদর্শন করা হয়।

echo "Hello, World!"

12. man - কমান্ড ম্যানুয়াল দেখানো

প্রতিটি কমান্ডের সাহায্য পাওয়ার জন্য man কমান্ড ব্যবহার করা হয়। উদাহরণস্বরূপ, ls কমান্ডের সাহায্য পেতে:

man ls

13. chmod - ফাইল বা ডিরেক্টরির পারমিশন পরিবর্তন

ফাইল বা ডিরেক্টরির পারমিশন পরিবর্তন করতে chmod কমান্ড ব্যবহার করা হয়।

chmod 755 filename

এখানে 755 হলো পারমিশনের মোড, যেখানে 7 নির্দেশ করে যে ফাইলের মালিক রিড, রাইট এবং এক্সিকিউট করতে পারবে, এবং অন্যান্যরা শুধুমাত্র রিড এবং এক্সিকিউট করতে পারবে।

14. chown - ফাইলের মালিকানা পরিবর্তন

ফাইলের মালিকানা পরিবর্তন করতে chown কমান্ড ব্যবহার করা হয়।

chown username:groupname filename

এখানে username হলো নতুন মালিকের নাম এবং groupname হলো গ্রুপের নাম।

15. df - ডিস্ক স্পেস ব্যবহার দেখানো

ডিস্কে কতটুকু স্থান ব্যবহৃত এবং কতটুকু খালি আছে, তা দেখতে df কমান্ড ব্যবহার করা হয়।

df -h

16. top - সিস্টেম রিসোর্স ব্যবহার দেখানো

সিস্টেমের রানটাইম কার্যক্রম ও রিসোর্স ব্যবহার দেখাতে top কমান্ড ব্যবহার করা হয়। এটি রিয়েল-টাইমে CPU, মেমরি, প্রক্রিয়া ইত্যাদি সম্পর্কে তথ্য দেখাবে।

top

17. ps - চলমান প্রক্রিয়া দেখানো

প্রতিটি চলমান প্রক্রিয়া সম্পর্কে তথ্য পেতে ps কমান্ড ব্যবহার করা হয়।

ps aux

সারসংক্ষেপ

UNIX এবং LINUX সিস্টেমের সাথে কাজ করার জন্য এই বেসিক কমান্ডগুলি অত্যন্ত গুরুত্বপূর্ণ। এই কমান্ডগুলির মাধ্যমে আপনি ফাইল ও ডিরেক্টরি পরিচালনা, সিস্টেমের রিসোর্স দেখা, এবং অন্যান্য কার্যক্রম সহজে সম্পন্ন করতে পারবেন।

Content added By

ফাইল এবং ডিরেক্টরি সম্পর্কিত কমান্ড

ফাইল এবং ডিরেক্টরি সম্পর্কিত বিভিন্ন কাজের জন্য UNIX এবং LINUX সিস্টেমে কিছু সাধারণ কমান্ড ব্যবহৃত হয়। এই কমান্ডগুলি ব্যবহার করে আপনি ফাইল এবং ডিরেক্টরি তৈরি, মুছা, কপি, সরানো এবং অন্যান্য কাজ করতে পারেন। নিচে ls, cd, pwd, mkdir, rmdir, cp, mv, rm কমান্ডের বিস্তারিত ব্যাখ্যা দেয়া হলো:


1. ls (List)

ls কমান্ড ব্যবহৃত হয় বর্তমান ডিরেক্টরির মধ্যে থাকা ফাইল এবং সাব-ডিরেক্টরির তালিকা দেখার জন্য।

  • ব্যবহার: ls [অপশন] [ডিরেক্টরি]
  • যেমন:
    • ls: বর্তমান ডিরেক্টরির ফাইল এবং ডিরেক্টরির তালিকা দেখাবে।
    • ls -l: বিস্তারিত তালিকা দেখাবে (ফাইলের সাইজ, অনুমতি, মালিক, পরিবর্তনের তারিখ ইত্যাদি)।
    • ls -a: গোপন ফাইল (যেগুলি . দিয়ে শুরু হয়) দেখাবে।

2. cd (Change Directory)

cd কমান্ড ব্যবহৃত হয় বর্তমান কাজের ডিরেক্টরি পরিবর্তন করার জন্য।

  • ব্যবহার: cd [ডিরেক্টরি]
  • যেমন:
    • cd /home/user: /home/user ডিরেক্টরিতে চলে যাবে।
    • cd ..: এক স্তরের উপরের ডিরেক্টরিতে চলে যাবে।
    • cd: হোম ডিরেক্টরিতে ফিরে যাবে।
    • cd -: আগের ডিরেক্টরিতে ফিরে যাবে।

3. pwd (Print Working Directory)

pwd কমান্ড ব্যবহৃত হয় বর্তমান কাজের ডিরেক্টরির পূর্ণপথ দেখতে।

  • ব্যবহার: pwd
  • যেমন:
    • pwd: বর্তমান ডিরেক্টরির পূর্ণ পাথ দেখাবে। যেমন /home/user/Documents

4. mkdir (Make Directory)

mkdir কমান্ড ব্যবহার করা হয় নতুন ডিরেক্টরি তৈরি করার জন্য।

  • ব্যবহার: mkdir [ডিরেক্টরি নাম]
  • যেমন:
    • mkdir newfolder: বর্তমান ডিরেক্টরিতে newfolder নামের একটি নতুন ডিরেক্টরি তৈরি করবে।
    • mkdir -p parent/child: parent নামে একটি ডিরেক্টরি তৈরি করবে এবং তার মধ্যে child নামে একটি সাব-ডিরেক্টরি তৈরি করবে (যদি parent ডিরেক্টরি না থাকে তবে সেটি তৈরি হবে)।

5. rmdir (Remove Directory)

rmdir কমান্ড ব্যবহৃত হয় একটি খালি ডিরেক্টরি মুছে ফেলার জন্য।

  • ব্যবহার: rmdir [ডিরেক্টরি নাম]
  • যেমন:
    • rmdir oldfolder: oldfolder নামের খালি ডিরেক্টরি মুছে ফেলবে।
    • দ্রষ্টব্য: যদি ডিরেক্টরির মধ্যে কিছু ফাইল বা সাব-ডিরেক্টরি থাকে তবে এটি কাজ করবে না।

6. cp (Copy)

cp কমান্ড ব্যবহার করা হয় একটি ফাইল বা ডিরেক্টরি কপি করার জন্য।

  • ব্যবহার: cp [উত্স ফাইল] [গন্তব্য]
  • যেমন:
    • cp file1.txt /home/user/Documents/: file1.txt ফাইলটি /home/user/Documents/ ডিরেক্টরিতে কপি করবে।
    • cp -r folder1 /home/user/: folder1 ডিরেক্টরি এবং এর সমস্ত কন্টেন্ট কপি করবে।
    • cp file1.txt file2.txt: file1.txt ফাইলের একটি কপি তৈরি করবে file2.txt নামে।

7. mv (Move)

mv কমান্ড ব্যবহার করা হয় ফাইল বা ডিরেক্টরি স্থানান্তর বা নাম পরিবর্তন করতে।

  • ব্যবহার: mv [উত্স ফাইল/ডিরেক্টরি] [গন্তব্য ফাইল/ডিরেক্টরি]
  • যেমন:
    • mv file1.txt /home/user/Documents/: file1.txt ফাইলটি /home/user/Documents/ ডিরেক্টরিতে স্থানান্তর করবে।
    • mv file1.txt file2.txt: file1.txt ফাইলটির নাম পরিবর্তন করে file2.txt করবে।
    • mv folder1 newfolder/: folder1 ডিরেক্টরি newfolder/ ডিরেক্টরিতে স্থানান্তর করবে।

8. rm (Remove)

rm কমান্ড ব্যবহার করা হয় ফাইল বা ডিরেক্টরি মুছে ফেলার জন্য।

  • ব্যবহার: rm [ফাইল/ডিরেক্টরি]
  • যেমন:
    • rm file1.txt: file1.txt ফাইলটি মুছে ফেলবে।
    • rm -r folder1: folder1 ডিরেক্টরি এবং এর সমস্ত কন্টেন্ট মুছে ফেলবে।
    • rm -f file1.txt: file1.txt ফাইলটি জোরপূর্বক মুছে ফেলবে (যদি এটি লেখাযোগ্য না হয় তাও)।

সারসংক্ষেপ

ফাইল এবং ডিরেক্টরি সম্পর্কিত এই কমান্ডগুলি লিনাক্স বা ইউনিক্স সিস্টেমে খুবই গুরুত্বপূর্ণ। এগুলি ব্যবহার করে আপনি সহজেই ফাইল তৈরি, স্থানান্তর, মুছা, কপি এবং অন্যান্য কার্যক্রম সম্পন্ন করতে পারেন। এই কমান্ডগুলির মাধ্যমে আপনি সিস্টেমের ফাইল সিস্টেমকে খুবই কার্যকরভাবে পরিচালনা করতে পারবেন।

Content added By

ফাইল দেখার কমান্ড: cat, more, less, head, tail

UNIX এবং LINUX সিস্টেমে ফাইলের বিষয়বস্তু দেখতে বিভিন্ন কমান্ড ব্যবহৃত হয়। প্রতিটি কমান্ডের নিজস্ব বিশেষ বৈশিষ্ট্য রয়েছে এবং এগুলি ব্যবহারকারীদের জন্য ফাইলের বিষয়বস্তু দেখতে সুবিধাজনকভাবে কাজ করে। নিচে cat, more, less, head, এবং tail কমান্ডগুলির ব্যাখ্যা দেওয়া হল।


1. cat (concatenate)

cat কমান্ডটি ফাইলের বিষয়বস্তু প্রদর্শন করার জন্য ব্যবহৃত হয়। এটি সাধারণত ছোট ফাইলগুলো দেখার জন্য ব্যবহৃত হয়, কারণ এটি পুরো ফাইলটি একবারে প্রদর্শন করে এবং স্ক্রল করা বা পেজিং করার সুযোগ দেয় না।

ব্যবহার:

cat <filename>

উদাহরণ:

cat file.txt

এই কমান্ডটি file.txt ফাইলটির বিষয়বস্তু সম্পূর্ণভাবে টার্মিনালে প্রদর্শন করবে।

অতিরিক্ত অপশন:

  • cat file1.txt file2.txt: একাধিক ফাইলকে একসাথে দেখাবে।
  • cat -n file.txt: ফাইলের প্রতিটি লাইনের নম্বর সহ প্রদর্শন করবে।

2. more

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

ব্যবহার:

more <filename>

উদাহরণ:

more file.txt

এই কমান্ডটি ফাইলের প্রথম পৃষ্ঠা প্রদর্শন করবে এবং ব্যবহারকারীকে স্ক্রল করার জন্য নির্দেশনা প্রদান করবে।

স্ক্রল করার কীগুলি:

  • Spacebar: পরবর্তী পৃষ্ঠায় চলে যাবে।
  • Enter: এক লাইন নিচে চলে যাবে।
  • q: more থেকে বেরিয়ে আসবে।

3. less

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

ব্যবহার:

less <filename>

উদাহরণ:

less file.txt

স্ক্রল করার কীগুলি:

  • Up Arrow / Down Arrow: উপরে বা নিচে স্ক্রল করবে।
  • Spacebar: পরবর্তী পৃষ্ঠায় যাবে।
  • b: আগের পৃষ্ঠায় ফিরে যাবে।
  • q: less থেকে বেরিয়ে আসবে।

অতিরিক্ত সুবিধা:

  • less কমান্ড ফাইলের মধ্যে খোঁজ করার জন্য / ব্যবহার করতে দেয়, যেমন **/search_term**। এটি খুঁজে পাবে যেখানে search_term ফাইলের মধ্যে আছে।

4. head

head কমান্ডটি ফাইলের প্রথম কিছু লাইন প্রদর্শন করার জন্য ব্যবহৃত হয়। ডিফল্টভাবে এটি প্রথম ১০টি লাইন প্রদর্শন করে, তবে আপনি এটি কাস্টমাইজ করে দেখতে পারেন।

ব্যবহার:

head <filename>

উদাহরণ:

head file.txt

এই কমান্ডটি file.txt ফাইলটির প্রথম ১০টি লাইন প্রদর্শন করবে।

অতিরিক্ত অপশন:

  • head -n 20 file.txt: প্রথম ২০টি লাইন প্রদর্শন করবে।
  • head -n -10 file.txt: ফাইলের শেষ ১০টি লাইন বাদে প্রথমের সব লাইন দেখাবে।

5. tail

tail কমান্ডটি ফাইলের শেষ কিছু লাইন প্রদর্শন করার জন্য ব্যবহৃত হয়। এটি ফাইলের শেষে কী ঘটছে তা দেখার জন্য খুবই কার্যকরী। ডিফল্টভাবে, এটি শেষ ১০টি লাইন দেখায়।

ব্যবহার:

tail <filename>

উদাহরণ:

tail file.txt

এই কমান্ডটি file.txt ফাইলটির শেষ ১০টি লাইন প্রদর্শন করবে।

অতিরিক্ত অপশন:

  • tail -n 20 file.txt: শেষ ২০টি লাইন প্রদর্শন করবে।
  • tail -f file.txt: লাইভ ফাইল মনিটরিং, যা নতুন তথ্য যোগ হলে তা সরাসরি দেখাবে। এটি লগ ফাইলের জন্য বিশেষভাবে ব্যবহৃত হয়।

সারসংক্ষেপ

কমান্ডব্যাখ্যাব্যবহার
catফাইলের পুরো বিষয়বস্তু একবারে প্রদর্শন করে।cat file.txt
moreপেজিংয়ের মাধ্যমে ফাইলের বিষয়বস্তু দেখায়।more file.txt
lessপেজিং এবং স্ক্রলিংয়ের মাধ্যমে ফাইলের বিষয়বস্তু দেখায়, আরও উন্নত।less file.txt
headফাইলের প্রথম কিছু লাইন প্রদর্শন করে (ডিফল্ট ১০টি)।head file.txt
tailফাইলের শেষ কিছু লাইন প্রদর্শন করে (ডিফল্ট ১০টি)।tail file.txt

এই কমান্ডগুলো ব্যবহার করে আপনি সহজেই ফাইলের বিষয়বস্তু দেখতে পারবেন এবং আপনার প্রয়োজন অনুসারে স্ক্রল বা পেজিং করতে পারবেন।

Content added By

ফাইল পারমিশন এবং মালিকানা: chmod, chown, chgrp

ফাইল পারমিশন এবং মালিকানা হল UNIX এবং LINUX সিস্টেমের একটি অত্যন্ত গুরুত্বপূর্ণ বৈশিষ্ট্য, যার মাধ্যমে ফাইল এবং ডিরেক্টরির অ্যাক্সেস নিয়ন্ত্রণ করা হয়। এগুলি সিস্টেমের নিরাপত্তা এবং ব্যবহারকারীদের একে অপরের ফাইল অ্যাক্সেস করার নিয়ম নির্ধারণ করতে সাহায্য করে। chmod, chown, এবং chgrp কমান্ডগুলি ফাইল পারমিশন এবং মালিকানা পরিবর্তন করার জন্য ব্যবহৃত হয়।


ফাইল পারমিশন

ফাইল পারমিশন নির্ধারণ করে কোন ব্যবহারকারী বা গ্রুপ কীভাবে একটি ফাইল বা ডিরেক্টরি অ্যাক্সেস করতে পারে। UNIX এবং LINUX সিস্টেমে তিনটি ধরনের পারমিশন থাকে:

  1. রিড (Read - r): ফাইলের বিষয়বস্তু পড়া যায়।
  2. রাইট (Write - w): ফাইলের বিষয়বস্তু পরিবর্তন বা মুছে ফেলা যায়।
  3. এক্সিকিউট (Execute - x): ফাইলটিকে প্রোগ্রাম বা স্ক্রিপ্ট হিসেবে চালানো যায়।

ফাইলের তিনটি শ্রেণির পারমিশন থাকে:

  • Owner (মালিক): ফাইল বা ডিরেক্টরির মালিক, সাধারণত ব্যবহারকারী।
  • Group (গ্রুপ): নির্দিষ্ট একটি গ্রুপের সদস্যরা।
  • Others (অন্যরা): অন্যান্য সমস্ত ব্যবহারকারী।

chmod কমান্ড

chmod (চেঞ্জ মড) কমান্ডটি ফাইল বা ডিরেক্টরির পারমিশন পরিবর্তন করার জন্য ব্যবহৃত হয়। এটি দুটি ধাপে কাজ করে:

  1. সীমান্তে (symbolic) মোডে
  2. সংখ্যাত্মক (numeric) মোডে
1. সিম্বোলিক মোড:

এখানে আপনি পারমিশন যোগ (অথবা বিয়োগ) করেন, উদাহরণস্বরূপ:

  • r: রিড পারমিশন
  • w: রাইট পারমিশন
  • x: এক্সিকিউট পারমিশন

কমান্ড উদাহরণ:

  • পারমিশন যোগ করা: chmod +x file.txt (ফাইলটিকে এক্সিকিউট পারমিশন যোগ করবে)
  • পারমিশন বিয়োগ করা: chmod -x file.txt (ফাইলের এক্সিকিউট পারমিশন বিয়োগ করবে)
  • পারমিশন পরিবর্তন করা: chmod u+x file.txt (মালিকের (user) এক্সিকিউট পারমিশন যোগ করবে)
2. সংখ্যাত্মক মোড:

এখানে প্রতিটি পারমিশন একটি সংখ্যা দ্বারা নির্দেশিত:

  • রিড (r) = 4
  • রাইট (w) = 2
  • এক্সিকিউট (x) = 1

তিনটি ভিন্ন শ্রেণির (owner, group, others) জন্য পারমিশন সেট করতে তিনটি ডিজিটের সংখ্যা ব্যবহার করা হয়।

উদাহরণ:

  • chmod 755 file.txt
    • মালিকের জন্য rwx (4+2+1=7), গ্রুপ এবং অন্যদের জন্য r-x (4+1=5)
  • chmod 644 file.txt
    • মালিকের জন্য rw- (4+2=6), গ্রুপ এবং অন্যদের জন্য r-- (4=4)

chown কমান্ড

chown (চেঞ্জ মালিকানা) কমান্ডটি ফাইল বা ডিরেক্টরির মালিক পরিবর্তন করতে ব্যবহৃত হয়। এর মাধ্যমে মালিক এবং গ্রুপ পরিবর্তন করা সম্ভব।

কমান্ড সিনট্যাক্স:

chown [new_owner]:[new_group] file_name

কমান্ড উদাহরণ:

  • মালিক পরিবর্তন: chown user1 file.txt (ফাইলটির মালিক হবে user1)
  • মালিক এবং গ্রুপ পরিবর্তন: chown user1:admin file.txt (ফাইলটির মালিক হবে user1 এবং গ্রুপ হবে admin)

chgrp কমান্ড

chgrp (চেঞ্জ গ্রুপ) কমান্ডটি ফাইল বা ডিরেক্টরির গ্রুপ পরিবর্তন করার জন্য ব্যবহৃত হয়। এটি সাধারণত chown কমান্ডের সাথে ব্যবহার করা হয়, তবে এটি শুধু গ্রুপ পরিবর্তন করে।

কমান্ড সিনট্যাক্স:

chgrp [new_group] file_name

কমান্ড উদাহরণ:

  • গ্রুপ পরিবর্তন: chgrp admin file.txt (ফাইলটির গ্রুপ হবে admin)

উদাহরণ এবং ব্যবহার

  1. chmod উদাহরণ:
    • মালিককে সম্পূর্ণ পারমিশন দেওয়া, অন্যদের রিড পারমিশন দেওয়া:

      chmod 744 file.txt
    • সব ব্যবহারকারীকে সম্পূর্ণ পারমিশন দেওয়া:

      chmod 777 file.txt
  2. chown উদাহরণ:
    • ফাইলটির মালিক পরিবর্তন করা:

      chown user1 file.txt
    • মালিক এবং গ্রুপ পরিবর্তন করা:

      chown user1:admin file.txt
  3. chgrp উদাহরণ:
    • ফাইলটির গ্রুপ পরিবর্তন করা:

      chgrp admin file.txt

সারসংক্ষেপ

  • chmod কমান্ডটি ফাইলের পারমিশন পরিবর্তন করে, যা মালিক, গ্রুপ এবং অন্যদের জন্য রিড, রাইট এবং এক্সিকিউট পারমিশন নিয়ন্ত্রণ করে।
  • chown কমান্ডটি ফাইল বা ডিরেক্টরির মালিক পরিবর্তন করে এবং chgrp কমান্ডটি গ্রুপ পরিবর্তন করে।
  • এই তিনটি কমান্ড UNIX ও LINUX সিস্টেমে নিরাপত্তা এবং অ্যাক্সেস কন্ট্রোলের জন্য অত্যন্ত গুরুত্বপূর্ণ, যা ব্যবহারকারীদের ফাইল ও ডিরেক্টরির উপর নিয়ন্ত্রণ দেয়।
Content added By

ফাইল এবং ডিরেক্টরি অনুসন্ধান: find, locate

কম্পিউটার সিস্টেমে ফাইল এবং ডিরেক্টরি অনুসন্ধান একটি গুরুত্বপূর্ণ কাজ, বিশেষত যখন সিস্টেমে অনেক ফাইল এবং ডিরেক্টরি থাকে। UNIX এবং LINUX সিস্টেমে ফাইল এবং ডিরেক্টরি অনুসন্ধানের জন্য দুটি প্রধান কমান্ড ব্যবহার করা হয়: find এবং **locate**। এই দুটি কমান্ডের কার্যকারিতা ও ব্যবহারের মধ্যে কিছু পার্থক্য রয়েছে, যা নিচে বিস্তারিতভাবে আলোচনা করা হয়েছে।


1. find কমান্ড

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

ব্যবহার:

find [পথ] [অপশন] [অনুসন্ধান শর্ত]

উদাহরণ:

  1. একটি নির্দিষ্ট ডিরেক্টরিতে ফাইল খোঁজা:

    find /home/user/Documents -name "file.txt"

    এই কমান্ডটি /home/user/Documents ডিরেক্টরির মধ্যে file.txt নামের ফাইল অনুসন্ধান করবে।

  2. বিভিন্ন শর্ত দিয়ে ফাইল খোঁজা:
    • ফাইলের আকার অনুসারে:

      find /home/user/Documents -size +1G

      এই কমান্ডটি /home/user/Documents ডিরেক্টরির মধ্যে ১ গিগাবাইটের বড় ফাইলগুলো খুঁজে বের করবে।

    • ফাইলের শেষ পরিবর্তন তারিখ অনুসারে:

      find /home/user -mtime -7

      এই কমান্ডটি ৭ দিনের মধ্যে পরিবর্তিত ফাইলগুলি খুঁজে বের করবে।

  3. ফাইল মুছে ফেলতে:

    find /home/user/Documents -name "*.log" -exec rm -f {} \;

    এই কমান্ডটি /home/user/Documents ডিরেক্টরির মধ্যে .log এক্সটেনশনের সকল ফাইল মুছে ফেলবে।

  4. ডিরেক্টরি অনুসন্ধান:

    find /home/user -type d -name "folder_name"

    এই কমান্ডটি /home/user ডিরেক্টরির মধ্যে folder_name নামের ডিরেক্টরি খুঁজে বের করবে।

find কমান্ডের বৈশিষ্ট্য:

  • এটি অনেক বেশি কাস্টমাইজযোগ্য, যেমন ফাইলের মাইম টাইপ, মালিকানা, আকার ইত্যাদি অনুসারে অনুসন্ধান করা।
  • এটি রিয়েল টাইমে অনুসন্ধান করে, সুতরাং এটি দ্রুত বা ধীর গতিতে কাজ করতে পারে।

2. locate কমান্ড

locate কমান্ড একটি দ্রুত ফাইল অনুসন্ধান পদ্ধতি প্রদান করে, তবে এটি পূর্বে তৈরি হওয়া একটি ডাটাবেস ব্যবহার করে। এই ডাটাবেসে সিস্টেমের ফাইলের অবস্থান সংরক্ষিত থাকে, যার মাধ্যমে খুব দ্রুত ফাইল খোঁজা সম্ভব হয়। তবে এটি বাস্তবসম্মত সময়ে কাজ করে না এবং নতুন ফাইল বা ডিরেক্টরি তৈরি হলে ডাটাবেস আপডেট হওয়া প্রয়োজন।

ব্যবহার:

locate [ফাইল নাম]

উদাহরণ:

  1. ফাইল খোঁজা:

    locate file.txt

    এই কমান্ডটি পুরো সিস্টেমে file.txt নামের ফাইলের অবস্থান দেখাবে।

  2. ফাইলের অংশ অনুসন্ধান:

    locate *.txt

    এই কমান্ডটি সিস্টেমের মধ্যে .txt এক্সটেনশনের সকল ফাইল খুঁজে বের করবে।

locate কমান্ডের বৈশিষ্ট্য:

  • এটি find থেকে অনেক দ্রুত কাজ করে কারণ এটি একটি ডাটাবেস ব্যবহার করে।
  • ডাটাবেসটি নিয়মিতভাবে আপডেট করা উচিত, এবং এটি নতুন ফাইল বা ডিরেক্টরি সনাক্ত করতে পারে না যদি ডাটাবেস আপডেট না করা হয়।
  • এটি শুধুমাত্র ফাইলের নাম অনুসারে অনুসন্ধান করতে সক্ষম, ফাইলের আকার বা পরিবর্তন তারিখ অনুসন্ধান করতে পারে না।

find এবং locate এর মধ্যে পার্থক্য

বৈশিষ্ট্যfindlocate
কাজ করার পদ্ধতিরিয়েল টাইমে সিস্টেমের ফাইল অনুসন্ধান করে।একটি পূর্ব-নির্মিত ডাটাবেস ব্যবহার করে।
দ্রুততাধীর হতে পারে, বিশেষ করে বড় ডিরেক্টরিতে।অনেক দ্রুত, কারণ এটি ডাটাবেস ব্যবহার করে।
কাস্টমাইজেশনঅত্যন্ত কাস্টমাইজযোগ্য, যেমন ফাইলের আকার, মালিকানা ইত্যাদি অনুসারে অনুসন্ধান করা।সীমিত কাস্টমাইজেশন, শুধুমাত্র ফাইলের নাম অনুসারে অনুসন্ধান।
রিয়েল টাইম ফলাফলহ্যাঁ, এটি সিস্টেমের বর্তমান অবস্থার ভিত্তিতে ফলাফল প্রদান করে।না, এটি পুরানো ডাটাবেসের ভিত্তিতে ফলাফল প্রদান করে।

সারসংক্ষেপ

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

Content added By

টেক্সট অনুসন্ধান কমান্ড: grep, awk, sed

UNIX এবং LINUX সিস্টেমে টেক্সট প্রসেসিং এবং অনুসন্ধান করার জন্য বিভিন্ন কমান্ড রয়েছে। এগুলি ডাটা ফাইলের মধ্যে প্যাটার্ন অনুসন্ধান, ফরম্যাটিং এবং পরিবর্তন করার জন্য ব্যবহৃত হয়। এখানে grep, awk, এবং sed কমান্ডগুলির বিস্তারিত ব্যাখ্যা দেওয়া হলো।


1. grep - টেক্সট অনুসন্ধান

grep (Global Regular Expression Print) কমান্ডটি টেক্সট ফাইলের মধ্যে একটি নির্দিষ্ট প্যাটার্ন বা শব্দ অনুসন্ধান করতে ব্যবহৃত হয়। এটি ফাইলের মধ্যে নির্দিষ্ট টেক্সট বা প্যাটার্ন খুঁজে বের করে এবং মেলে এমন লাইনগুলি প্রিন্ট করে।

বেসিক সিনট্যাক্স:

grep "pattern" filename

উদাহরণ:

  1. একটি ফাইলে "hello" শব্দটি খুঁজে বের করার জন্য:

    grep "hello" file.txt

    এটি file.txt ফাইলে "hello" শব্দটি থাকা সমস্ত লাইন প্রিন্ট করবে।

  2. সব ফাইলের মধ্যে "error" শব্দটি অনুসন্ধান করতে:

    grep "error" *.log
  3. বড় বড় কেস-sensitive অনুসন্ধান বন্ধ করতে -i অপশন ব্যবহার করুন:

    grep -i "error" file.txt
  4. শুধুমাত্র ম্যাচের সংখ্যা দেখতে:

    grep -c "pattern" filename
  5. grep এর সাথে পাইপ ব্যবহার করে অন্য কমান্ডের আউটপুট থেকে অনুসন্ধান:

    ps aux | grep "apache"

2. awk - টেক্সট প্রক্রিয়া ও ফরম্যাটিং

awk একটি শক্তিশালী টেক্সট প্রসেসিং কমান্ড যা ফাইলের প্রতিটি লাইনকে ফিল্ডে ভাগ করে এবং সেগুলি নিয়ে গণনা বা প্রক্রিয়াকরণ করতে ব্যবহৃত হয়। awk মূলত কলাম ভিত্তিক ডাটা বিশ্লেষণ এবং ফরম্যাটিংয়ের জন্য ব্যবহৃত হয়।

বেসিক সিনট্যাক্স:

awk 'pattern { action }' filename

উদাহরণ:

  1. ফাইলের প্রথম কলাম প্রিন্ট করতে:

    awk '{ print $1 }' file.txt
  2. শুধুমাত্র দ্বিতীয় কলাম প্রিন্ট করতে:

    awk '{ print $2 }' file.txt
  3. নির্দিষ্ট কলামগুলির যোগফল বের করা:

    awk '{ sum += $2 } END { print sum }' file.txt
  4. শর্ত ভিত্তিক প্রিন্টিং (যেমন, দ্বিতীয় কলামে 100 এর বেশি মান থাকলে প্রিন্ট করুন):

    awk '$2 > 100 { print $1, $2 }' file.txt
  5. একটি নির্দিষ্ট টেক্সট প্যাটার্ন অনুসন্ধান করতে:

    awk '/pattern/ { print $1, $2 }' file.txt
  6. কলাম সেপারেটর পরিবর্তন করা (যেমন স্পেসের পরিবর্তে কমা):

    awk -F "," '{ print $1, $2 }' file.csv

3. sed - স্ট্রিং বা টেক্সট পরিবর্তন

sed (Stream Editor) একটি স্ট্রিম এডিটর যা ফাইলের মধ্যে টেক্সট পরিবর্তন, ইনসার্ট, বা ডিলিট করতে ব্যবহৃত হয়। এটি মূলত এক্সপ্রেশন এবং স্ক্রিপ্ট ব্যবহার করে টেক্সটকে ম্যানিপুলেট করে।

বেসিক সিনট্যাক্স:

sed 'command' filename

উদাহরণ:

  1. ফাইলের মধ্যে একটি নির্দিষ্ট শব্দ প্রতিস্থাপন (যেমন "hello" কে "world" দিয়ে প্রতিস্থাপন):

    sed 's/hello/world/' file.txt
  2. পুরো ফাইলে সমস্ত "hello" কে "world" দিয়ে প্রতিস্থাপন করতে:

    sed 's/hello/world/g' file.txt
  3. পরিবর্তনগুলো ফাইলে সেভ না করে টার্মিনালে দেখাতে:

    sed 's/hello/world/g' file.txt
  4. টেক্সটের একটি নির্দিষ্ট লাইন মুছে ফেলতে:

    sed '2d' file.txt

    এটি দ্বিতীয় লাইনটি মুছে ফেলবে।

  5. নির্দিষ্ট লাইন বা অংশে টেক্সট ইনসার্ট করা:

    sed '2i Hello World' file.txt

    এটি ফাইলের দ্বিতীয় লাইনে "Hello World" ইনসার্ট করবে।

  6. টেক্সট প্রতিস্থাপন এবং ফাইলেই পরিবর্তন সেভ করা:

    sed -i 's/old/new/g' file.txt
  7. একটি নির্দিষ্ট প্যাটার্ন অনুযায়ী সমস্ত লাইন মুছে ফেলতে:

    sed '/pattern/d' file.txt

সারসংক্ষেপ

  • grep: নির্দিষ্ট প্যাটার্ন অনুসন্ধান করে এবং মেলানো লাইন প্রিন্ট করে।
  • awk: ফাইলের কলামভিত্তিক ডাটা প্রক্রিয়া করে এবং সেগুলির উপর বিভিন্ন কার্যক্রম সম্পাদন করে।
  • sed: টেক্সট ফাইলের মধ্যে সরাসরি স্ট্রিং বা টেক্সট পরিবর্তন, মুছতে, অথবা ইনসার্ট করতে ব্যবহৃত হয়।

এই তিনটি কমান্ড UNIX এবং LINUX সিস্টেমের মধ্যে টেক্সট প্রসেসিং এবং অনুসন্ধান করার জন্য অত্যন্ত শক্তিশালী এবং গুরুত্বপূর্ণ টুল।

Content added By
Promotion

Are you sure to start over?

Loading...