Mendapatkan sebagian teks dari file input di Linux adalah operasi umum. Namun, terkadang, kami tertarik untuk melihat hanya beberapa baris file. Linux memberi kita perintah head dan tail untuk mencetak hanya baris yang kita minati.
Daftar Isi
- Perintah Kepala di Linux
- Mengeluarkan Jumlah Baris Tertentu Menggunakan Perintah kepala
- Mengeluarkan Jumlah Byte Tertentu Menggunakan Perintah kepala
- Mengeluarkan Banyak File Menggunakan Perintah kepala
- Cara Menggunakan Perintah kepala dengan Pipa
- Perintah Ekor di Linux
- Mengeluarkan Jumlah Baris Tertentu Menggunakan Perintah ekor
- Cara Menggunakan Perintah ekor dengan Pipa
- Menonton File untuk Perubahan Menggunakan Tail Command
- Cara Menggunakan Perintah head dan tail Bersama-sama di Linux
- Kesimpulan
Linux head
dan tail
perintah sangat mirip. Mereka secara default, diinstal di semua distribusi Linux. Pertama-tama mari kita pahami apa itu dan kegunaannya.
Singkatnya, seperti namanya, head
perintah mencetak baris dari awal file, dan tail
perintah mencetak baris dari akhir file. Kedua perintah menulis hasilnya ke output standar.
Sekarang, mari pelajari cara menggunakannya melalui contoh.
Perintah Kepala di Linux
Sintaks dari head
perintahnya cukup mudah:
head [OPTIONS] FILES
Secara default, tanpa opsi apa pun , head
perintah akan menampilkan 10 baris pertama dari file. Seperti ini.
head /etc/passwd
root:x:0:0::/root:/bin/bash
bin:x:1:1::/:/usr/bin/nologin
daemon:x:2:2::/:/usr/bin/nologin
mail:x:8:12::/var/spool/mail:/usr/bin/nologin
ftp:x:14:11::/srv/ftp:/usr/bin/nologin
http:x:33:33::/srv/http:/usr/bin/nologin
nobody:x:65534:65534:Nobody:/:/usr/bin/nologin
dbus:x:81:81:System Message Bus:/:/usr/bin/nologin
systemd-journal-remote:x:982:982:systemd Journal Remote:/:/usr/bin/nologin
systemd-network:x:981:981:systemd Network Management:/:/usr/bin/nologin
Tentu saja ada opsi yang dapat kita tentukan saat menjalankan perintah untuk mendapatkan output yang disesuaikan.
Mengeluarkan Jumlah Baris Tertentu Menggunakan Perintah kepala
Jika Anda ingin mengambil jumlah baris yang berbeda dari 10 default, maka -n
opsi digunakan bersama dengan bilangan bulat yang memberi tahu jumlah baris yang akan diambil.
Misalnya, perintah berikut akan menampilkan 3 baris pertama dari /etc/passwd
berkas.
head -n 3 /etc/passwd
root:x:0:0::/root:/bin/bash
bin:x:1:1::/:/usr/bin/nologin
daemon:x:2:2::/:/usr/bin/nologin
Mengeluarkan Jumlah Byte Tertentu Menggunakan Perintah head
Selain itu, head
perintah juga dapat mencetak konten file per byte. Cukup lewati -c
pilihan untuk perintah. Ingatlah bahwa baris baru dihitung sebagai satu karakter, jadi jika head
mencetak baris baru, itu akan menghitungnya sebagai byte.
Misalnya, perintah berikut akan menampilkan 8 byte pertama dari /etc/passwd
berkas.
head -c 8 /etc/passwd
root:x:0
Mengeluarkan Banyak File Menggunakan Perintah kepala
Tentu saja, head
perintah juga dapat menangani banyak file. Misalnya, perintah berikut akan menampilkan 3 baris pertama /etc/passwd
dan /etc/group
file.
head -n 3 /etc/passwd /etc/group
==> /etc/passwd <==
root:x:0:0::/root:/bin/bash
bin:x:1:1::/:/usr/bin/nologin
daemon:x:2:2::/:/usr/bin/nologin
==> /etc/group <==
root:x:0:brltty,root
sys:x:3:bin
mem:x:8:
Menambahkan -q
opsi untuk contoh di atas akan menghapus header yang memberikan nama file.
head -q -n 3 /etc/passwd /etc/group
root:x:0:0::/root:/bin/bash
bin:x:1:1::/:/usr/bin/nologin
daemon:x:2:2::/:/usr/bin/nologin
root:x:0:brltty,root
sys:x:3:bin
mem:x:8:
Cara Menggunakan Perintah kepala dengan Pipa
head
perintah dapat disalurkan ke perintah lain. Dalam contoh berikut, output dari ls
perintah disalurkan ke head
untuk menampilkan lima file atau folder yang paling baru dimodifikasi di /etc
direktori.
ls -t /etc | head -n 5
ld.so.cache
resolv.conf
systemd
libreoffice
profile.d
Sekarang Anda seharusnya sudah memiliki pemahaman yang baik tentang cara menggunakan Linux head
memerintah. Sekarang, mari kita lihat tail
perintah.
Tail Command di Linux
Perintah Tail di Linux sama dengan head
memerintah. Tidak seperti head
perintah, namun, tail
perintah mencetak beberapa baris terakhir (10 baris secara default) dari file tertentu.
Sintaks dasar perintah tail adalah:
tail [OPTIONS] FILES
Misalnya, perintah berikut akan mencetak 10 baris terakhir dari /etc/locale.gen
berkas.
tail /etc/locale.gen
#zh_HK.UTF-8 UTF-8
#zh_HK BIG5-HKSCS
#zh_SG.UTF-8 UTF-8
#zh_SG.GBK GBK
#zh_SG GB2312
#zh_TW.EUC-TW EUC-TW
#zh_TW.UTF-8 UTF-8
#zh_TW BIG5
#zu_ZA.UTF-8 UTF-8
#zu_ZA ISO-8859-1
Mengeluarkan Jumlah Baris Tertentu Menggunakan Tail Command
Sama halnya dengan head
perintah, Anda juga dapat mencetak beberapa baris terakhir menggunakan -n
pilihan seperti yang ditunjukkan di bawah ini.
tail -n 3 /etc/locale.gen
#zh_TW BIG5
#zu_ZA.UTF-8 UTF-8
#zu_ZA ISO-8859-1
Cara Menggunakan Perintah ekor dengan Pipa
Sebelumnya, kami menyalurkan output dari head
ke dalam ls
. Kami juga dapat menyalurkan output dari perintah lain ke tail
.
Misalnya, untuk mengidentifikasi lima file atau folder di /etc
direktori dengan waktu modifikasi terlama, dan menyalurkan output ke tail
:
ls -t /etc/ | tail -n 5
wpa_supplicant
libpaper.d
papersize
mdadm.conf
gssapi_mech.conf
Menonton File untuk Perubahan Menggunakan Tail Command
Ada satu lagi fitur hebat di tail
memerintah. Terkadang file input yang ingin kita periksa berubah. Misalnya, aplikasi yang sedang berjalan dapat menambahkan outputnya ke file log. Jika kita menjalankan tail
perintah dengan -f
opsi pada file yang berubah, semua baris yang baru ditambahkan akan ditambahkan ke standar keluar. Ini mungkin merupakan opsi yang paling berguna dan umum digunakan untuk tail
perintah.
Misalnya, Anda dapat melihat baris baru yang ditambahkan ke akhir file log Nginx, seperti yang ditambahkan, seperti ini:
tail -f /var/log/nginx/access.log
172.16.1.122 - - [08/Apr/2021:08:15:32 +0000] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 109 "https://linuxwizard.com/wp-admin/post.php?post=18254&action=edit" "Mozilla/5.0 (X11; Linux x86_64; rv:87.0) Gecko/20100101 Firefox/87.0"
172.16.1.122 - - [08/Apr/2021:08:19:27 +0000] "GET /feed/ HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1"
172.16.1.122 - - [08/Apr/2021:08:19:49 +0000] "HEAD /feed/ HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"
Karena setiap entri log baru ditambahkan ke file log, tail
akan memperbarui tampilannya di jendela terminal.
Cara Menggunakan Perintah head dan tail Bersama-sama di Linux
Sebagai tail
dan head
perintah mencetak bagian file yang berbeda, kita dapat menggabungkan keduanya untuk mencetak beberapa pemfilteran konten file tingkat lanjut. Misalnya, jika Anda ingin membaca konten dari tengah file apa pun, Anda harus menggunakan kedua perintah secara bersamaan.
Katakanlah kita ingin mendapatkan dari baris ke-5 hingga ke-10 dari /etc/passwd
mengajukan. Pada awalnya, head
perintah akan mengambil 10 baris pertama dan tail
perintah akan mengambil 5 baris terakhir dari output head
perintah.
head -n 10 /etc/passwd | tail -n 5
http:x:33:33::/srv/http:/usr/bin/nologin
nobody:x:65534:65534:Nobody:/:/usr/bin/nologin
dbus:x:81:81:System Message Bus:/:/usr/bin/nologin
systemd-journal-remote:x:982:982:systemd Journal Remote:/:/usr/bin/nologin
systemd-network:x:981:981:systemd Network Management:/:/usr/bin/nologin
Kesimpulan
Itu saja untuk saat ini. Dalam artikel ini kita telah mempelajari beberapa penggunaan umum dari kedua perintah melalui contoh. Seperti yang Anda lihat, keduanya tail
dan head
perintah sangat berguna untuk mengontrol dengan tepat konten file apa yang akan dicetak ke layar. Tentu saja, itu adalah perintah fleksibel yang dapat sangat meningkatkan pengelolaan file Anda. Cobalah.
Butuh lebih banyak detail? Periksa head
dan tail
memerintahkan halaman manual.