NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
BN

লিনাক্স কমান্ড এবং শেল দক্ষতা

grep: পেশাদারের মতো লিনাক্স অনুসন্ধান করা

grep প্রতিটি টুলচেইন রিফ্রেশ করে বেঁচে থাকে কারণ কাজ কখনই পরিবর্তিত হয় না: পাঠ্যের ভিতরে গুরুত্বপূর্ণ লাইনগুলি খুঁজুন যা যে কেউ এটি পরিষ্কার করার চেয়ে দ্রুত বৃদ্ধি পায়। এর আসল শক্তি হল পতাকা শব্দভান্ডার যা একটি অনুসন্ধানকে একটি উত্তরে পরিণত করে: আশেপাশের প্রসঙ্গ, ফাইলের নাম তালিকা, উল্টানো মিল এবং প্রস্থান কোড একটি শেল স্ক্রিপ্ট শাখা করতে পারে। যখন একটি সার্ভার দুর্ব্যবহার করে, তদন্ত শুরু হয় grep দিয়ে, এবং প্রায়ই কেউ স্বীকার করে না, এটি সেখানেও শেষ হয়।

মূল বিষয়সমূহ

  1. উদ্দেশ্যের সাথে বারবার অনুসন্ধান করুন: grep -rni 'fail2ban' /var/log --include='*.log' বাইনারি এবং সংকুচিত সংরক্ষণাগারগুলি নিজে থেকে এড়িয়ে যায়; একটি খালি grep -r over /var/log সেই পাঠটি ধীর গতিতে শেখায়।
  2. প্রসঙ্গ মিলগুলিকে পাঠযোগ্য করে তোলে: -A 3 পরে লাইন দেখায়, -B 3 আগে, -C 5 উভয়ই; -l শুধুমাত্র ফাইলের নাম তালিকাভুক্ত করে, -c প্রতি ফাইলের মিল গণনা করে, এবং -L তালিকাটিকে উল্টে দেয় যা অনুপস্থিত।
  3. প্রস্থান কোডগুলি চুক্তির অংশ: 0 মানে মিলেছে, 1 মানে মিল নেই, 2 মানে ত্রুটি; একটি স্ক্রিপ্ট যা grep -q চালায় এবং এই পার্থক্য উপেক্ষা করে যে সাফল্য এবং নীরবতাকে অভিন্নভাবে বিবেচনা করে।
  4. চেইন ফাইলের তালিকা নাল-নিরাপদভাবে: grep -rlZ 'ssl_protocols' /etc/nginx --include='*.conf' | xargs -0 -r ls -l; Z এবং -0 পেয়ারিং ড্রপ করুন এবং একটি স্পেস সহ প্রথম ফাইলের নাম পাইপলাইনটি ভেঙে দেয়।
  5. পঠনযোগ্য বিকল্পের জন্য ডিফল্ট রেজেক্স স্তর হিসাবে -E ব্যবহার করুন এবং -P (লুকঅ্যারাউন্ডস, \d ক্লাস) এর জন্য পৌঁছান শুধুমাত্র যখন আপনি এটি স্বীকার করেন যে এটি একটি GNU এক্সটেনশন BSD grep বহন করবে না।
  6. -F প্যাটার্নটিকে আক্ষরিক টেক্সট হিসাবে বিবেচনা করে: একটি টিকিটের বাইরে সরাসরি আটকানো ভেরিয়েবলগুলি থেকে দ্রুততর, এবং রেজেক্স মেটাক্যারেক্টার থেকে অনাক্রম্য।
  7. --exclude-dir=.git এবং --exclude-dir=node_modules পুনরাবৃত্ত অনুসন্ধানগুলিকে ডাইরেক্টরির বাইরে রাখে যেগুলি শুধুমাত্র তাদের ধীর করার জন্য বিদ্যমান; স্ক্রিপ্টে স্পষ্টভাবে নামের বানান করুন যেহেতু বন্ধনী সম্প্রসারণ একটি ব্যাশ সুবিধা, গ্রেপ বৈশিষ্ট্য নয়।
  8. অভ্যাসগুলিকে আলাদা রাখুন: ইন্টারেক্টিভ আরামের জন্য --color=auto, স্ক্রিপ্টে কোন রঙ নেই (এস্কেপ সিকোয়েন্স নষ্ট লগ), এবং -n (লাইন নম্বর) যাতে পরবর্তী ব্যক্তি আপনার পেস্ট করা জায়গাটি খুঁজে পেতে পারে।

মাঠের নোট

আমি একবার সকাল 2 টায় একজন ক্লায়েন্টের পুরো লগ ফার্ম জুড়ে একটি খালি grep -r দৌড়েছিলাম এবং আমার কষ্টের জন্য চল্লিশ মিনিট নীরবতা পেয়েছি; --include='*.log' যোগ করা এবং -l ঘটনাস্থলেই টিকিট শেষ করেছে। অন্তর্ভুক্ত এবং প্রস্থান-কোডের অভ্যাস এখন প্যাটার্ন করার আগে প্রবেশ করে।

সচরাচর জিজ্ঞাসা

কেন গ্রেপ মাঝে মাঝে আমার লাইনের পরিবর্তে 'বাইনারী ফাইল ম্যাচ' মুদ্রণ করে?

ম্যাচের কাছাকাছি একটি NUL বাইট GNU grep ফাইলটিকে বাইনারি হিসাবে বিবেচনা করে; টেক্সট মোড জোর করতে -a যোগ করুন বা বাইনারিগুলি সম্পূর্ণভাবে এড়িয়ে যেতে -I, যা মিশ্র লগ ডিরেক্টরিতে সঠিক ডিফল্ট।

আমি পরিবর্তে ripgrep ব্যবহার করা উচিত?

ripgrep দ্রুততর এবং ডিফল্টরূপে বাইনারি এবং লুকানো ফাইলগুলিকে এড়িয়ে যায়, তবে রেসকিউ ইমেজ সহ আপনি যে সব বাক্সে SSH করবেন সেগুলিতে grep বিদ্যমান। প্রথমে গ্রেপ শিখুন; rg এর জন্য পৌঁছান যেখানে এটি ইনস্টল করা হবে।

আমি কীভাবে ঘোরানো, সংকুচিত লগগুলি অনুসন্ধান করব?

zgrep .gz ফাইলগুলি স্বচ্ছভাবে অনুসন্ধান করে এবং zstdgrep সুইচ করা নতুন কম্প্রেসার ঘূর্ণনকে কভার করে; গতকালের সুই সাধারণত তাদের মধ্যে একটির ভিতরে থাকে, তাই সরঞ্জামগুলিকে প্রাথমিক স্বাস্থ্যবিধি হিসাবে গণ্য করা হয়।

আমি কিভাবে একটি শব্দ মেলে কিন্তু এটি ধারণকারী একটি দীর্ঘ শব্দ না?

সম্পূর্ণ-শব্দ মিলের জন্য -w এবং পূর্ণ-লাইন মিলের জন্য -x ব্যবহার করুন; যখন প্যাটার্নের জন্য শব্দের কিছু অংশের প্রয়োজন হয়, তখন [Ss]erver-এর মতো ক্যারেক্টার ক্লাস অন্য সব জায়গায় কেস চ্যাপ্টা না করে সুনির্দিষ্ট নিয়ন্ত্রণ দেয়।

লিনাক্স কমান্ড এবং শেল দক্ষতা নিয়ে Kinetikatech কীভাবে সাহায্য করে

এটাই আমরা প্রতিদিন করি: কমান্ড এবং স্ক্রিপ্টিং অভ্যাস যা নির্ধারণ করে যে একজন প্রশাসক একটি সার্ভার পরিচালনা করে বা এটির সাথে লড়াই করে: অনুসন্ধান, রূপান্তর, স্থানান্তর, এবং টেক্সট এবং প্রক্রিয়াগুলিকে তত্ত্বাবধান করে যা প্রতিটি বেস ইনস্টলে থাকে। আমাদের Linux সার্ভার নিরাপত্তা and সার্ভার ব্যবস্থাপনা সেবাটি শুরু থেকে শেষ পর্যন্ত সব নেয় — মূল্যায়ন, বাস্তবায়ন, ২৪/৭ পর্যবেক্ষণ, আর ৩০ মিনিটের মধ্যে জরুরি সাড়া।

একজন প্রকৌশলীর সঙ্গে কথা বলুন

সার্ভার সমস্যা? হ্যাক করা সাইট? ধীর ওয়েবসাইট?

জরুরি সমস্যার উত্তর ৩০ মিনিটের মধ্যে — দিনে ২৪ ঘণ্টা, সপ্তাহে ৭ দিন।

জরুরি সহায়তা অনুরোধ করুন support@kinetikatech.com