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

Perintah Linux & Keterampilan Shell

grep: Mencari Linux Seperti Profesional

grep bertahan setiap penyegaran rantai alat karena pekerjaannya tidak pernah berubah: temukan baris penting di dalam teks yang tumbuh lebih cepat daripada siapa pun yang membersihkannya. Kekuatan sebenarnya adalah kosakata bendera yang mengubah pencarian menjadi jawaban: konteks sekitar, daftar nama file, pencocokan terbalik, dan kode keluar yang dapat digunakan oleh skrip shell. Ketika server berperilaku buruk, penyelidikan dimulai dengan grep, dan lebih sering daripada yang diakui siapa pun, penyelidikan berakhir di sana juga.

Poin Utama

  • Pencarian secara rekursif dengan tujuan: grep -rni 'fail2ban' /var/log --include='*.log' melompati binari dan arsip terkompresi sendiri; grep -r over /var/log mengajarkan pelajaran itu dengan cara yang lambat.
  • Konteks membuat kecocokan dapat dibaca: -A 3 menampilkan baris setelahnya, -B 3 sebelumnya, -C 5 keduanya; -l hanya mencantumkan nama file, -c menghitung kecocokan per file, dan -L membalikkan daftar menjadi apa yang hilang.
  • Kode keluar adalah bagian dari kontrak: 0 berarti cocok, 1 berarti tidak cocok, 2 berarti kesalahan; sebuah skrip yang menjalankan grep -q dan mengabaikan perbedaan yang memperlakukan kesuksesan dan keheningan secara identik.
  • Daftar file berantai dengan aman-null: grep -rlZ 'ssl_protocols' /etc/nginx --include='*.conf' | xargs -0 -r ls -l; hapus pasangan Z dan -0 dan nama file pertama dengan spasi akan merusak saluran.
  • Gunakan -E sebagai level regex default untuk pergantian yang dapat dibaca, dan gunakan -P (pengamatan, kelas \d) hanya jika Anda menerimanya sebagai ekstensi GNU yang tidak akan dibawa oleh grep BSD.
  • -F memperlakukan pola sebagai teks literal: lebih cepat, dan kebal terhadap metakarakter regex yang menyelinap masuk dari variabel yang ditempelkan langsung dari tiket.
  • --exclude-dir=.git dan --exclude-dir=node_modules menjauhkan pencarian rekursif dari direktori yang ada hanya untuk memperlambatnya; mengeja nama secara eksplisit dalam skrip karena ekspansi brace adalah kenyamanan bash, bukan fitur grep.
  • Pisahkan kebiasaan: --color=auto untuk kenyamanan interaktif, tidak ada warna dalam skrip (urutan escape log rusak), dan -n (nomor baris) aktif sehingga orang berikutnya dapat menemukan tempat yang Anda tempel.

Catatan Lapangan

Saya pernah menjalankan grep -r di seluruh peternakan log klien pada jam 2 pagi dan mendapat keheningan selama empat puluh menit untuk masalah saya; menambahkan --include='*.log' dan -l mengakhiri tiket di tempat. Kebiasaan memasukkan dan keluar kode sekarang masuk sebelum polanya.

Pertanyaan Umum

Mengapa grep terkadang mencetak 'file biner yang cocok' alih-alih baris saya?

Sebuah byte NUL di dekat kecocokan membuat GNU grep memperlakukan file tersebut sebagai biner; tambahkan -a untuk memaksa mode teks atau -I untuk melewatkan biner sepenuhnya, yang merupakan default kanan pada direktori log campuran.

Haruskah saya menggunakan ripgrep saja?

ripgrep lebih cepat dan melewatkan file biner dan tersembunyi secara default, tetapi grep ada di setiap kotak tempat Anda menggunakan SSH, termasuk gambar penyelamat. Pelajari grep dulu; meraih rg di mana ia dipasang.

Bagaimana cara mencari log yang diputar dan dikompresi?

zgrep mencari file .gz secara transparan dan zstdgrep mencakup rotasi kompresor baru yang dialihkan; jarum kemarin biasanya ada di dalam salah satunya, jadi peralatan tersebut dianggap sebagai kebersihan dasar.

Bagaimana cara mencocokkan sebuah kata tetapi tidak ada kata yang lebih panjang yang memuatnya?

Gunakan -w untuk pencocokan seluruh kata dan -x untuk pencocokan baris penuh; ketika pola memerlukan bagian kata, kelas karakter seperti [Ss]erver memberikan kontrol yang tepat tanpa meratakan huruf besar-kecil di tempat lain.

Bagaimana Kinetikatech membantu dengan perintah linux & keterampilan shell

Kami telah menangani ini ratusan kali: Perintah dan kebiasaan skrip yang menentukan apakah administrator mengoperasikan server atau melawannya: mencari, mengubah, mentransfer, dan mengawasi teks dan proses dengan alat yang ada di setiap instalasi dasar. Dengan Keamanan Server Linux dan Manajemen Server, Anda mendapat siklus lengkap: kami menilai, mengimplementasikan, memantau 24 jam, dan merespons dalam 30 menit saat itu penting.

Bicara dengan seorang insinyur

Masalah server? Situs diretas? Website lambat?

Masalah kritis dijawab dalam 30 menit — 24 jam sehari, 7 hari seminggu.

Minta Dukungan Darurat support@kinetikatech.com