GNU/Linux >> Belajar Linux >  >> Linux

Perintah kepala Linux dengan Contoh

Perintah head digunakan untuk mencetak beberapa baris pertama dari sebuah file teks. Secara default, perintah head mencetak 10 baris pertama dari setiap file ke output standar, yang merupakan tampilan layar. Ini dapat digunakan dengan perintah lain untuk memberikan hasil dan hasil yang lebih spesifik dari sistem.

Pada artikel sebelumnya, kita telah mempelajari cara menggunakan perintah tail dan berbagai opsinya. Dalam artikel ini, kita akan mempelajari cara menggunakan perintah kepala Linux untuk membaca beberapa baris pertama dari file teks apa pun dan itu adalah opsi yang paling umum.

1) Menggunakan head dengan input standar

Jika tidak ada file yang ditentukan, atau ketika file ditentukan sebagai -, perintah head membaca dari aliran input standar (stdin) daripada file. Ini berarti melempar kembali semua yang diketik dari keyboard Anda. Dalam contoh ini, saya akan memasukkan kata-kata dan kemudian kepala akan menampilkan apa yang saya ketik. Setelah memasukkan, saya akan menekan CTRL + C untuk keluar.

$ head -
this
this
is
is
an
an
example
example
of
of
head
head
with no file specified 
with no file specified

2) Melihat 10 baris pertama file

Menentukan nama file dengan kepala mencetak 10 baris pertama.

$ head /etc/crontab 
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command

3) Melihat N baris pertama dari sebuah file

Anda dapat menentukan jumlah baris yang tepat untuk ditampilkan selain 10 baris pertama. Anda dapat melakukannya dengan menggunakan -n  atau --lines beralih dan kemudian jumlah baris yang ingin Anda cetak.

$ head -n11 /etc/crontab 
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly

4) Menampilkan banyak file

Jika beberapa file diberikan sebagai argumen, ini akan menampilkan 10 baris pertama dan mendahului masing-masing dengan header yang menampilkan nama file.

$ head /etc/crontab /etc/group
==> /etc/crontab <==
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command

==> /etc/group <==
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,eyramm
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:

Jika Anda tidak ingin mencetak header, Anda dapat menggunakan -q , --quite , atau --silent sakelar.

$ head --silent /etc/crontab /etc/group
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,eyramm
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:

Untuk selalu mencetak header, Anda dapat membiarkan nama file apa adanya, atau menggunakan -v atau --verbose beralih.

Untuk menampilkan N baris pertama dari beberapa file Anda dapat menggunakan perintah di bawah ini.

$ head -3 /etc/group /etc/fuse.conf /etc/passwd
==> /etc/group <==
root:x:0:
daemon:x:1:
bin:x:2:

==> /etc/fuse.conf <==
# /etc/fuse.conf - Configuration file for Filesystem in Userspace (FUSE)

# Set the maximum number of FUSE mounts allowed to non-root users.

==> /etc/passwd <==
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin

Anda dapat menggunakan * wildcard untuk mencetak baris dari setiap file yang namanya diakhiri dengan ekstensi tertentu.

$ head -1 -q /etc/*.conf
# /etc/adduser.conf: `adduser' configuration.
# this file sets defaults for apg if apg is called without parameters
#
# Documents/brltty.conf. Generated from brltty.conf.in by configure.
# This file lists certificates that you wish to use or to ignore to be
# This is the main config file for debconf. It tells debconf where to
# /etc/deluser.conf: `deluser' configuration.
# /etc/fuse.conf - Configuration file for Filesystem in Userspace (FUSE)

[fwupd]

# Konfigurasi untuk getaddrinfo(3).## Ini adalah konfigurasi default untuk hdparm untuk Debian. Ini adalah # Baris "pesanan" hanya digunakan oleh pustaka C versi lama.## Kernel Manajemen gambar menimpa#include /etc/ld.so.conf.d/*.confdefault_driver=pulse# Ini adalah file konfigurasi untuk libaudit merdu.

5) Mencetak N byte terakhir dari sebuah file

Untuk mencetak N byte terakhir dari sebuah file, Anda harus menggunakan -c atau --bytes beralih diikuti dengan jumlah byte. Ini mencetak 50 byte pertama file. Anda juga dapat menggunakan

$ head -c 70 /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,eyramm
tty:x:5:

Untuk menampilkan ukuran lain selain byte, misalnya Kilobyte, Anda dapat menentukan kB , MB , M , dll

$ head -c 2kB /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,eyramm
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:

Atau, Anda dapat menggunakan -c +N untuk menghasilkan byte yang dimulai dengan ke-N setiap file

$ head -c +50 /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:sy

Untuk menghapus N baris terakhir dan mencetak yang lainnya, kami menggunakan perintah:

$ head -n -20 /var/log/syslog

6) Menggunakan kepala dengan pipa

Perintah kepala dapat disalurkan ke atau dari perintah lain. Perintah ini mencantumkan konten file log, menyalurkannya ke kepala untuk menampilkan 5 baris pertama dengan header, lalu perintah sort menampilkan hasilnya dalam urutan terbalik.

$ cat /var/log/dpkg.log | head -n 5 -v | sort -r
==> standard input <==
2017-02-15 20:18:59 status unpacked base-passwd:amd64 3.5.39
2017-02-15 20:18:59 status unpacked base-passwd:amd64 3.5.39
2017-02-15 20:18:59 status half-installed base-passwd:amd64 3.5.39
2017-02-15 20:18:59 startup archives install
2017-02-15 20:18:59 install base-passwd:amd64 <none> 3.5.39

Contoh berikut mencetak sebagian dari file bootstrap.log, yaitu dari baris ke-10 hingga ke baris ke-20. Ini berarti -n20  switch mencetak 20 baris pertama sedangkan -n10 switch mencetak 10 terakhir dari 20 baris awal.

$ head -n20 /var/log/bootstrap.log | tail -n 10
 dpkg: warning: parsing file '/var/lib/dpkg/status' near line 4 package 'dpkg':
 missing maintainer
 dpkg: warning: parsing file '/var/lib/dpkg/status' near line 4 package 'dpkg':
 missing architecture
 Selecting previously unselected package base-passwd.
 (Reading database ... 0 files and directories currently installed.)
 Preparing to unpack .../base-passwd_3.5.39_amd64.deb ...
 Unpacking base-passwd (3.5.39) ...
 dpkg: base-passwd: dependency problems, but configuring anyway as you requested:
 base-passwd depends on libc6 (>= 2.8); however:

Anda sekarang harus memahami bagaimana perintah kepala dan argumennya bekerja dalam tampilan beberapa baris pertama dari sebuah file. Ini berfungsi dengan cara yang berlawanan dari ekor dan dapat digunakan dengan perintah lain juga menggunakan pipa. Anda dapat merujuk halaman manual perintah kepala untuk informasi lebih lanjut.

Baca Juga:

  • Perintah Linux lainnya Dijelaskan dengan Contoh

Linux
  1. Perintah wc Linux dengan Contoh

  2. Perintah Tee Linux dengan Contoh

  3. Perintah JQ di Linux dengan Contoh

  1. Perintah sortir Linux dengan Contoh

  2. Perintah Echo di Linux (Dengan Contoh)

  3. Perintah man di Linux dengan Contoh

  1. Perintah AWK di Linux dengan Contoh

  2. 8 Contoh Perintah Kepala di Linux

  3. Perintah Curl di Linux dengan Contoh