Perintah tail Linux menampilkan data dari akhir file. Ia bahkan dapat menampilkan pembaruan yang ditambahkan ke file secara real-time. Kami tunjukkan cara menggunakannya.
Apakah systemd Kill tail?
Perintah tail menampilkan data dari akhir file. Biasanya, data baru ditambahkan ke akhir file, jadi perintah tail adalah cara cepat dan mudah untuk melihat penambahan terbaru pada file. Itu juga dapat memantau file dan menampilkan setiap entri teks baru ke file itu saat terjadi. Ini menjadikannya alat yang hebat untuk memantau file log.
Banyak distribusi Linux modern telah mengadopsi sistem systemd dan manajer layanan. Ini adalah proses pertama yang dijalankan, memiliki ID proses 1, dan merupakan induk dari semua proses lainnya. Peran ini dulunya ditangani oleh sistem init yang lebih lama.
Seiring dengan perubahan ini muncullah format baru untuk file log sistem. Tidak lagi dibuat dalam teks biasa, di bawah systemd mereka dicatat dalam format biner. Untuk membaca file log ini, Anda harus menggunakan utilitas journactl. Perintah tail berfungsi dengan format teks biasa. Itu tidak membaca file biner. Jadi apakah ini berarti perintah tail adalah solusi dalam mencari suatu masalah? Apakah masih ada yang bisa ditawarkan?
Perintah tail lebih dari sekadar menampilkan pembaruan secara real-time. Dan dalam hal ini, masih banyak file log yang tidak dibuat oleh sistem dan masih dibuat sebagai file teks biasa. Misalnya, file log yang dihasilkan oleh aplikasi belum mengubah formatnya.
Menggunakan tail di Linux
Masukkan nama file ke tail dan itu akan menampilkan sepuluh baris terakhir dari file itu. Contoh file yang kami gunakan berisi daftar kata yang diurutkan. Setiap baris diberi nomor, jadi akan mudah untuk mengikuti contoh dan melihat efek dari berbagai opsi.
tail word-list.txt
Untuk melihat jumlah baris yang berbeda, gunakan opsi -n (jumlah baris):
tail -n 15 daftar kata.txt
Sebenarnya, Anda dapat membuang “-n”, dan cukup menggunakan tanda hubung “-” dan nomornya. Pastikan tidak ada spasi di antara keduanya. Secara teknis, ini adalah bentuk perintah yang sudah usang, tetapi masih ada di halaman manual, dan masih berfungsi.
tail -12 word-list.txt
Menggunakan tail Dengan Banyak File
Anda dapat membuat tail bekerja dengan banyak file sekaligus. Cukup berikan nama file pada baris perintah:
tail -n 4 list-1.txt list-2.txt list-3.txt
Header kecil ditampilkan untuk setiap file sehingga Anda tahu file mana yang memiliki baris tersebut.
Menampilkan Garis dari Awal dari FIle
Pengubah + (hitungan dari awal) membuat garis tampilan ekor dari awal file, dimulai dari nomor baris tertentu. Jika file Anda sangat panjang dan Anda memilih baris yang dekat dengan awal file, Anda akan mendapatkan banyak output yang dikirim ke jendela terminal. Jika itu masalahnya, masuk akal untuk menyalurkan output dari tail ke less.
tail +440 list-1.txt
Anda dapat menelusuri teks dengan cara yang terkontrol.
Karena ada 20.445 baris dalam file ini, perintah ini setara dengan menggunakan opsi “-6”:
tail +20440 list-1.txt
Menggunakan Byte Dengan tail
Anda dapat memberitahu tail untuk menggunakan offset dalam byte, bukan garis dengan menggunakan opsi -c (bytes). Ini bisa berguna jika Anda memiliki file teks yang diformat menjadi rekaman berukuran biasa. Perhatikan bahwa karakter baris baru dihitung sebagai satu byte. Perintah ini akan menampilkan 93 byte terakhir dalam file:
tail -c 93 list-2.txt
Anda dapat menggabungkan opsi -c (bytes) dengan pengubah + (hitungan dari awal file), dan menentukan offset dalam byte dihitung dari awal file:
tail -c +351053 list-e.txt
Piping Ke tail
Sebelumnya, kami menyalurkan output dari tail ke less . Kita juga dapat menyalurkan output dari perintah lain ke tail.
Untuk mengidentifikasi lima file atau folder dengan waktu modifikasi terlama, gunakan opsi -t (urutkan berdasarkan waktu modifikasi) dengan ls , dan kirimkan output ke tail.
ls -tl | tail -5
Perintah head mencantumkan baris teks dari awal file. Kita dapat menggabungkan ini dengan tail untuk mengekstrak bagian file. Di sini, kami menggunakan perintah head untuk mengekstrak 200 baris pertama dari sebuah file. Ini sedang disalurkan ke tail, yang mengekstraksi sepuluh baris terakhir. Ini memberi kita baris 191 hingga baris 200. Yaitu, sepuluh baris terakhir dari 200 baris pertama:
head -n 200 list-1.txt | tail -10
Perintah ini mencantumkan lima proses yang paling haus memori.
ps aux | urutkan -nk +4 | tail -5
Mari kita uraikan.
Perintah ps menampilkan informasi tentang proses yang berjalan. Opsi yang digunakan adalah:
a: Daftar semua proses, bukan hanya untuk pengguna saat ini. u: Menampilkan keluaran berorientasi pengguna. x: Daftar semua proses, termasuk yang tidak berjalan di dalam TTY.
Perintah sortir mengurutkan output dari ps . Opsi yang kami gunakan dengan pengurutan adalah:
n: Mengurutkan secara numerik. k +4 : Urutkan pada kolom keempat.
Perintah tail -5 menampilkan lima proses terakhir dari output yang diurutkan. Ini adalah lima proses yang paling haus memori.
Menggunakan tail untuk Melacak File secara Real-Time
Melacak entri teks baru yang masuk dalam file — biasanya file log — mudah dilakukan dengan tail. Berikan nama file pada baris perintah dan gunakan opsi -f (ikuti).
tail -f geek-1.log
Saat setiap entri log baru ditambahkan ke file log, tail memperbarui tampilannya di jendela terminal.
Anda dapat menyempurnakan hasilnya untuk hanya memasukkan baris-baris yang memiliki relevansi atau minat tertentu. Di sini, kami menggunakan grep untuk hanya menampilkan baris yang menyertakan kata “rata-rata”:
tail -f geek-1.log | grep average
Untuk mengikuti perubahan pada dua file atau lebih, berikan nama file pada baris perintah:
tail -f -n 5 geek-1.log geek-2.log
Setiap entri ditandai dengan header yang menunjukkan dari file mana teks itu berasal.
Tampilan diperbarui setiap kali entri baru tiba di file yang diikuti. Untuk menentukan periode pembaruan, gunakan opsi -s (periode tidur). Ini memberitahu tail untuk menunggu beberapa detik, lima detik dalam contoh ini, di antara pemeriksaan file.
tail -f -s 5 geek-1.log
Memang, Anda tidak dapat mengetahuinya dengan melihat tangkapan layar, tetapi pembaruan pada file sedang terjadi setiap dua detik sekali. Entri file baru ditampilkan di jendela terminal setiap lima detik sekali.
Saat Anda mengikuti penambahan teks ke lebih dari satu file, Anda dapat menyembunyikan header yang menunjukkan dari file log mana teks tersebut berasal. Gunakan opsi -q (tenang) untuk melakukan ini:
tail -f -q geek-1.log geek-2.log
Output dari file ditampilkan dalam perpaduan teks yang mulus. Tidak ada indikasi dari file log mana setiap entri berasal.
tail Masih Memiliki Nilai
Meskipun akses ke file log sistem sekarang disediakan oleh journalctl, tail masih memiliki banyak hal untuk ditawarkan. Hal ini terutama berlaku ketika digunakan bersama dengan perintah lain, dengan menyalurkan ke dalam atau keluar dari tail.
systemd mungkin telah mengubah lanskap, namun masih ada tempat untuk utilitas tradisional yang sesuai dengan filosofi Unix dalam melakukan satu hal dan melakukannya dengan baik.
Linux Commands
Files
tar·pv·cat·tac·chmod·grep·diff·sed·ar·man·pushd·popd·fsck·testdisk·seq·fd·pandoc·cd·$PATH·awk·join·jq· lipat·uniq·journalctl·tail·stat·ls·fstab·echo·less·chgrp·chown·rev·look·strings·type·rename·zip·unzip·mount·umount·install·fdisk·mkfs·rm·rmdir· rsync·df·gpg·vi·nano·mkdir·du·ln·patch·convert·rclone·shred·srm·scp·gzip·chattr·cut·find·umask·wc· tr
Processes
alias·screen·top·nice·renice· kemajuan·strace·sistemd·tmux·chsh·history·di·batch·gratis·yang·dmesg·chfn·usermod·ps·chroot·xargs·tty·pinky·lsof·vmstat·timeout·wall·yes·kill·sleep· sudo·su·time·groupadd·usermod·groups·lshw·shutdown·reboot·halt·poweroff·passwd·lscpu·crontab·tanggal·bg·fg·pidof·nohup·pmap
Networking
netstat·ping·traceroute·ip·ss·whois· fail2ban·bmon·dig·finger·nmap·ftp·curl·wget·who·whoami·w·iptables·ssh-keygen·ufw·arping·firewalld