লিনাক্স মেটাচ্যার্যাক্টর কি এবং কীভাবে আপনি তাদের ব্যবহার করেন

উইকিপিডিয়া অনুসারে, একটি মেটাচেপার্টি কোনও অক্ষর যা একটি বিশেষ অর্থ আছে, যেমন একটি ক্যারেট (^), ডলার চিহ্ন ($) বা একটি তারকাচিহ্ন (*)।

লিনাক্সের ক্ষেত্রে, এই metacharacters একটি ন্যায্য সংখ্যা আছে এবং তাদের অর্থ যা আপনি চলমান হয় কমান্ড বা প্রোগ্রাম উপর নির্ভর করে পৃথক।

দ্য ফাল স্টপ এ একটি মেটাচারক (।)

নমুনা পূর্ণ স্টপ সিডির মত কমান্ড যেমন চলছে, তেমনি বর্তমান অবস্থানে দান করার জন্য ব্যবহার করা হয়, তবে এগুলির মধ্যে awk , grep এবং sed এর মতো অ্যাপ্লিকেশনের মধ্যে যেকোন চরিত্র বোঝা যায়।

উদাহরণস্বরূপ, নিম্নোক্ত কমান্ডটি বিদ্যমান ফোল্ডারে এবং নীচের সমস্ত mp3 ফাইলগুলি খুঁজে পাবে।

খুঁজে পেতে নাম *। এমপি 3

যদি আপনি যে কমান্ডটি কাজ ডিরেক্টরী (পিডব্লিউডি) উপস্থাপন করেন, তাহলে আপনি আপনার ফোনের ফোল্ডারে আপনার মিউজিক ফোল্ডারে আপনার mp3 ফাইলগুলি রাখুন।

এখন এই কমান্ডটি দেখুন:

ps -ef | grep f..efox

Ps কমান্ডটি আপনার কম্পিউটারের সমস্ত চলমান প্রসেসগুলির তালিকা করে। Grep কমান্ড একটি প্যাটার্নের জন্য ইনপুট এবং অনুসন্ধানের লাইনগুলি নির্দেশ করে।

অতএব ps -ef কমান্ড চলমান প্রসেসগুলির একটি তালিকা পায় এবং এটি grep কে দেয় যা ফীফক্সের তালিকাতে যেকোনো লাইন অনুসন্ধান করে। কোন অক্ষর মানে হতে পারে

আপনি যদি ফায়ারফক্স চালনা করেন তবে আপনাকে একটি ম্যাচ পেতে হবে। একইভাবে, যদি আপনার ফোনেফক্স বা ফ্রীফক্স নামে একটি প্রোগ্রাম থাকে তবে তাদেরও ফিরিয়ে দেওয়া হবে।

একটি metacharacter হিসাবে গ্রহাণু (*)

আকাশগঙ্গার একটি আরো সর্বজনীন সুপরিচিত metacharacter এবং একটি প্যাটার্ন জন্য অনুসন্ধান করার সময় 0 বা তার বেশি মানে ব্যবহৃত হয়।

উদাহরণ স্বরূপ:

খুঁজে পেতে নাম *। এমপি 3

*। এমপি 3। এমপি 3 এর মধ্যে যে কোনও ফাইলের নামের জন্য একটি ম্যাচ ফেরত দেয়। একইভাবে, আমি grep কমান্ডের সাহায্যে নিম্নোক্ত প্রদর্শনগুলি ব্যবহার করতে পারি:

ps -ef | grep F * efox

এটি লক্ষ্য করা উচিৎ যে এটার সামান্য পার্থক্য কারণ এস্তারিক মানে শূন্য বা তার চেয়েও বেশি এবং সেইসাথে ফায়ারফক্স, ফেইফক্স এবং ফোনফক্স খোঁজে এটি ফ্লুটফক্স, ফেরেফক্স এবং এমনকি শুধু ফিংক্সও খুঁজে পেতে পারে।

ক্যারেট হিসাবে একটি Metacharacter (^)

ক্যারেট (^) একটি লাইন বা একটি স্ট্রিংয়ের সূচনাকে বোঝানোর জন্য ব্যবহৃত হয়। সুতরাং কিভাবে এটি ব্যবহার করা হয়?

Ls কমান্ডটি একটি ফোল্ডারে সমস্ত ফাইলগুলি তালিকাভুক্ত করার জন্য ব্যবহৃত হয়:

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

উদাহরণ স্বরূপ:

ls | জিপি ^ গনোম

উল্লেখ্য, এই শুধুমাত্র gnome দিয়ে শুরু ফাইল তালিকা। যদি আপনি ফাইলগুলি যে কোনও ফাইলের নামের মধ্যে একটি gnome আছে চান চান তাহলে আপনি আবার Asterisk ফিরে ফিরে হবে।

উপরের উদাহরণে, ls ফাইলের নামগুলির একটি তালিকা প্রদান করে এবং grep এর তালিকাটি পাস করে যা প্যাটার্ন মিলের জন্য ব্যবহার করা হয়। grep জানেন যে ক্যারেট প্রতীকটি এমন কিছু খুঁজে পায় যা এটির পরে আসা অক্ষরের সাথে শুরু হয় এবং এই ক্ষেত্রে, এটি একটি গনোোম।

ডলারের প্রতীক হিসাবে একটি Metacharacter ($)

ডলারের প্রতীক লিনাক্সের মধ্যে একটি মেটাচেভার্ট হিসেবে একাধিক অর্থ থাকতে পারে।

যখন প্যাটার্নগুলির সাথে মিলিত হয় তখন এটি ক্যারেটের বিপরীত মানে এবং একটি নির্দিষ্ট স্ট্রিং এর সাথে শেষ যে কোনও প্যাটার্নকে নির্দেশ করে।

উদাহরণ স্বরূপ:

ls | grep png $

এই PNG সঙ্গে শেষ সব ফাইল তালিকা

ডলারের প্রতীকটি ব্যাশ শেলের মধ্যে পরিবেশের ভেরিয়েবল অ্যাক্সেস করতে ব্যবহার করা হয়।

উদাহরণ স্বরূপ:

রপ্তানি কুকুর = মলি
echo $ কুকুর

লাইন রপ্তানি কুকুর = মলি কুকুর নামক একটি এনভায়রনমেন্ট ভেরিয়েবল তৈরি করে এবং মলি তার মান সেট করে। পরিবেশের ভেরিয়েবল অ্যাক্সেস করতে $ চিহ্ন ব্যবহার করা হয়। $ চিহ্নের সাথে echo $ কুকি বিবৃতিটি মলি দেখায় কিন্তু এটি ছাড়া, ইকো কুকের বিবৃতিটি কেবল শব্দ কুকুরটি প্রদর্শন করে।

মেটাছায়ারগুলি থেকে পালাও

কখনও কখনও আপনি metacharacter একটি বিশেষ অর্থ আছে না চান। ফায়ারফক্স নামক ফাইল এবং ফায়ারফক্স নামে একটি ফাইল থাকলে কি হবে।

এখন নিম্নলিখিত কমান্ডটি দেখুন:

ls | grep f.refox

আপনি কি ফিরে আসেন মনে হয়? ফায়ারফক্স এবং ফায়ারফক্স উভয়ই ফেরত এসেছে কারণ তারা উভয় প্যাটার্নের সাথে মেলে।

শুধুমাত্র ফরেফ্রোক্স ফেরত পাঠানোর জন্য আপনাকে পূর্ণ স্টপ থেকে অব্যাহতি দিতে হবে যাতে প্রকৃতপক্ষে একটি পূর্ণ স্টপটি নিম্নরূপঃ

ls | grep f \\। রেফক্স

প্রচলিত তাপমাত্রা এবং তাদের অর্থ

লিনাক্স মেটাট্রেকার্সের তালিকা
চরিত্র অর্থ
কোন অক্ষর
* জিরো বা আরও অক্ষর
^ যে কোন রেখা বা স্ট্রিংকে একটি প্যাটার্ন দিয়ে শুরু করুন (অর্থাৎ ^ gnome)
$ একটি প্যাটার্ন সঙ্গে শেষ কোন লাইন বা স্ট্রিং সঙ্গে মেলে (অর্থাত gnome $)
\ তার বিশেষ অর্থ মুছে ফেলার জন্য পরবর্তী চরিত্রটি ছাড়িয়ে যায়
[] একটি তালিকা বা পরিসীমা (যেমন ["abc", "def"] বা [1..9]
+ + এক বা একাধিক পূর্ববর্তী (যেমন grep a +) মেলে
? শূন্য বা এক পূর্বাভাস মেলে