Melihat file log besar untuk pemecahan masalah adalah tugas rutin biasa bagi sysadmin dan programmer.
Dalam artikel ini, mari kita tinjau cara efektif melihat dan memanipulasi file log besar menggunakan 10 contoh mengagumkan.
Contoh 1:Menampilkan baris tertentu (berdasarkan nomor baris) file menggunakan perintah sed
Lihat hanya baris tertentu yang disebutkan oleh nomor baris.
Syntax: $ sed -n -e Xp -e Yp FILENAME
- sed :perintah sed, yang akan mencetak semua baris secara default.
- -n :Menekan keluaran.
- -e CMD :Perintah yang akan dijalankan
- Xp:Cetak nomor baris X
- Yp:Cetak nomor baris Y
- FILENAME :nama file yang akan diproses.
Contoh yang disebutkan di bawah ini akan mencetak baris 120, 145, 1050 dari syslog.
$ sed -n -e 120p -e 145p -e 1050p /var/log/syslog
Pada contoh berikut, Anda dapat melihat konten var/log/cron dari nomor baris 101 hingga 110.
- M – Nomor baris awal
- N – Nomor baris akhir
Syntax: sed -n M,Np FILENAME $ sed -n 101,110p /var/log/cron
Contoh 2:Menampilkan N baris pertama dari sebuah file menggunakan perintah head
Contoh ini hanya menampilkan 15 baris pertama dari file /var/log/maillog. Ubah 15 hingga 10 untuk menampilkan 10 baris pertama dari file log.
Syntax: head -n N FILENAME $ head -n 15 /var/log/maillog
Contoh 3:Abaikan N baris terakhir dari sebuah file menggunakan perintah head
Contoh ini menunjukkan cara mengabaikan N baris terakhir, dan hanya menampilkan baris yang tersisa dari bagian atas file.
Contoh berikut akan menampilkan semua baris /var/log/secure kecuali 250 baris terakhir.
Syntax: head -n -N FILENAME $ head -n -250 /var/log/secure
Contoh 4:Tampilkan N baris terakhir dari file menggunakan perintah tail
Contoh ini hanya menampilkan 50 baris terakhir dari file /var/log/messages. Ubah 50 menjadi 100 untuk menampilkan 100 baris terakhir dari file log.
Syntax: tail -n N FILENAME $ tail -n 50 /var/log/messages
Contoh 5:Abaikan baris N-1 pertama dari file menggunakan perintah tail
Contoh ini menunjukkan cara mengabaikan baris N-1 pertama dan hanya menampilkan baris yang tersisa.
Contoh berikut mengabaikan empat baris pertama /etc/xinetd.conf, yang hanya berisi komentar.
Syntax: tail -n +N FILENAME $ tail -n +5 /etc/xinetd.conf defaults { instances = 60 log_type = SYSLOG authpriv log_on_success = HOST PID log_on_failure = HOST cps = 25 30 } includedir /etc/xinetd.d
Contoh 6:Lihat file log yang berkembang secara real time menggunakan perintah tail
Ini mungkin salah satu perintah yang paling sering digunakan oleh sysadmin. Untuk melihat file log yang berkembang dan hanya melihat konten yang lebih baru, gunakan tail -f seperti yang ditunjukkan di bawah ini.
Contoh berikut menunjukkan isi dari perintah /var/log/syslog secara real-time.
Syntax: tail -f FILENAME $ tail -f /var/log/syslog
Contoh 7:Menampilkan baris tertentu (berdasarkan nomor baris) file menggunakan perintah head and tail
Contoh di bawah ini akan menampilkan nomor baris 101 – 110 dari file /var/log/anaconda.log
- M – Nomor baris awal
- N – Nomor baris akhir
Syntax: cat file | tail -n +N | head -n (M-N+1) $ cat /var/log/anaconda.log | tail -n +101 | head -n 10
- cat :mencetak seluruh file ke stdout.
- tail -n +101 :mengabaikan baris hingga nomor baris yang diberikan, lalu mulai mencetak baris setelah nomor yang diberikan.
- head -n 10 :mencetak 10 baris pertama, yaitu 101 hingga 110 dan mengabaikan baris yang tersisa.
Contoh 8:Menampilkan garis yang cocok dengan pola, dan beberapa garis yang mengikuti kecocokan.
Contoh berikut menampilkan baris yang cocok dengan "Inisialisasi CPU" dari /var/log/dmesg dan 5 baris segera setelah kecocokan ini.
# grep "Initializing CPU#1" /var/log/dmesg Initializing CPU#1 [Note: The above shows only the line matching the pattern] # grep -A 5 "Initializing CPU#1" dmesg Initializing CPU#1 Calibrating delay using timer specific routine.. 3989.96 BogoMIPS (lpj=1994982) CPU: After generic identify, caps: bfebfbff 20100000 00000000 00000000 CPU: After vendor identify, caps: bfebfbff 20100000 00000000 00000000 monitor/mwait feature present. CPU: L1 I cache: 32K, L1 D cache: 32K [Note: The above shows the line and 5 lines after the pattern matching]
Lihat artikel kami sebelumnya Dapatkan Pegangan di Grep! – 15 Contoh Perintah Grep Praktis yang menjelaskan cara menggunakan perintah grep.
Seperti yang dijelaskan dalam artikel perintah grep kami sebelumnya, operasi berikut dimungkinkan.
- Melihat garis tertentu yang diidentifikasi oleh pola, yang merupakan fungsi default grep.
- Hanya melihat karakter yang cocok.
- Melihat N baris setelah pertandingan dengan opsi -A.
- Melihat N baris sebelum pertandingan dengan opsi -B.
- Melihat N garis di sekitar pertandingan dengan opsi -C.
Contoh 9:Menampilkan byte tertentu dari file.
Contoh berikut menjelaskan cara menampilkan 40 byte teratas atau 30 byte terakhir dari sebuah file.
Tampilkan 40 byte pertama dari syslog.
$ head -c40 /var/log/syslog
Menampilkan 30 byte terakhir dari syslog.
$ tail -c30 /var/log/syslog
Contoh 10:Melihat file log terkompresi
Setelah waktu tertentu, semua file log sistem diputar, dan dikompresi. Anda dapat membuka kompresinya dengan cepat, dan menyalurkan output ke perintah unix lain untuk melihat file seperti yang dijelaskan di bawah ini.
Lihat artikel kami sebelumnya Kekuatan Perintah Z – Contoh Zcat, Zless, Zgrep, Zdiff
- Menampilkan N baris pertama dari file terkompresi.
$ zcat file.gz | head -250
- Menampilkan N baris terakhir dari file terkompresi.
$ zcat file.gz | tail -250
- Mengabaikan N baris terakhir dari file terkompresi.
$ zcat file.gz | head -n -250
- Mengabaikan N baris pertama dari file terkompresi.
$ zcat file.gz | tail -n +250
- Melihat garis yang cocok dengan pola
$ zcat file.gz | grep -A2 'error'
- Melihat rentang garis tertentu yang diidentifikasi oleh nomor baris.
$ zcat file.gz | sed -n -e 45p -e 52p
Jika Anda perlu kembali, tandai halaman ini di del.icio.us untuk referensi praktis.