GNU/Linux >> Belajar Linux >  >> Linux

Moreutils – Kumpulan Utilitas Unix yang Lebih Berguna

Kita semua tahu tentang utilitas inti GNU yang sudah diinstal sebelumnya dengan semua sistem operasi mirip Linux dan Unix. Ini adalah utilitas manipulasi file, shell dan teks dasar dari sistem operasi GNU. Utilitas inti GNU berisi perintah, seperti cat, ls, rm, mkdir, rmdir, touch, tail, wc dan banyak lagi, untuk melakukan operasi sehari-hari. Di antara utilitas ini, ada juga beberapa koleksi utilitas Unix berguna lainnya yang tidak disertakan secara default dalam sistem operasi mirip Unix. Temui moreutilis ,  kumpulan utilitas Unix yang semakin banyak dan berguna. Lebih banyak utilitas dapat diinstal pada GNU/Linux, dan berbagai varian Unix seperti FreeBSD, openBSD dan Mac OS.

Saat menulis panduan ini, Moreutils menyediakan utilitas berikut:

  • kronis - Menjalankan perintah dengan tenang kecuali jika gagal.
  • gabungkan - Gabungkan baris dalam dua file menggunakan operasi boolean.
  • salah - Cari nama dan deskripsi yang salah.
  • ifdata - Dapatkan info antarmuka jaringan tanpa menguraikan keluaran ifconfig.
  • jika tidak - Jalankan program jika input standar tidak kosong.
  • isutf8 - Periksa apakah file atau input standar adalah utf-8.
  • lckdo - Jalankan program dengan kunci ditahan.
  • salah pipa - Pipa dua perintah, mengembalikan status keluar dari yang pertama.
  • sejajar - Jalankan beberapa pekerjaan sekaligus.
  • kencing - masukan standar tee ke pipa.
  • spons - Serap input standar dan tulis ke file.
  • ts - masukan standar stempel waktu.
  • vidir - Edit direktori di editor teks Anda.
  • vipe - Masukkan editor teks ke dalam pipa.
  • zrun - Secara otomatis membuka kompresi argumen ke perintah.

Instal lebih banyak utilitas di Linux

Moreutils dikemas untuk banyak distribusi Linux, sehingga Anda dapat menginstalnya menggunakan manajer paket distribusi.

Di Linux Arch dan turunan seperti Antergos , Manjaro Linux , jalankan perintah berikut untuk menginstal moreutils.

$ sudo pacman -S moreutils

Di Fedora :

$ sudo dnf install moreutils

Di RHEL , CentOS , Linux Ilmiah :

$ sudo yum install epel-release
$ sudo yum install moreutils

Di Debian , Ubuntu , Linux Mint :

$ sudo apt-get install moreutils

Moreutils - Kumpulan Utilitas Unix yang Lebih Berguna

Mari kita lihat detail penggunaan beberapa alat moreutils.

Utilitas "Gabungkan"

Sesuai dengan namanya, Gabungkan utilitas menggabungkan set baris dari dua file menggunakan operasi boolean seperti "dan", "tidak", "atau", "xor".

  • dan - Menampilkan baris yang ada di file1 jika ada juga di file2.
  • tidak - Menampilkan baris yang ada di file1 tetapi tidak di file2.
  • atau - Menampilkan baris yang ada di file1 atau file2.
  • xor - Menampilkan baris yang ada di file1 atau file2, tetapi tidak di kedua file.

Mari saya tunjukkan sebuah contoh, sehingga Anda dapat memahami apa sebenarnya yang akan dilakukan utilitas ini . Saya memiliki dua file yaitu file1 dan file2 . Berikut isi dari kedua file tersebut.

$ cat file1
is
was
were
where
there
$ cat file2
is
were
there

Sekarang, izinkan saya menggabungkannya menggunakan operasi boolean "dan".

$ combine file1 and file2
is
were
there

Seperti yang Anda lihat pada contoh di atas, operator Boolean "dan" mengeluarkan baris yang ada di file1 jika mereka juga ada di file2. Untuk membuatnya lebih jelas, ini akan menampilkan baris umum (Mis. adalah, dulu, sana) yang ada di kedua file.

Sekarang mari kita gunakan operator "not" dan lihat hasilnya.

$ combine file1 not file2
was
where

Seperti yang Anda lihat pada output di atas, operator "not" menampilkan baris yang hanya ada di file1, tetapi tidak di file2.

Utilitas "ifdata"

Utilitas "ifdata" dapat digunakan untuk memeriksa keberadaan antarmuka jaringan, untuk mendapatkan informasi tentang antarmuka jaringan, seperti alamat IP-nya. Berbeda dengan perintah bawaan seperti "ifconfig" atau "ip", ifdata memiliki output yang mudah diurai yang dirancang agar mudah digunakan oleh skrip shell.

Untuk menampilkan detail alamat IP antarmuka jaringan, ucapkan wlp9s0, jalankan:

$ ifdata -p wlp9s0
192.168.43.192 255.255.255.0 192.168.43.255 1500

Untuk menampilkan netmask saja, jalankan:

$ ifdata -pn wlp9s0
255.255.255.0

Untuk memeriksa alamat perangkat keras NIC:

$ ifdata -ph wlp9s0
A0:15:46:90:12:3E

Untuk memeriksa apakah NIC ada atau tidak, gunakan tanda "-pe".

$ ifdata -pe wlp9s0
yes

Perintah "Kencing"

Ini agak mirip dengan perintah "tee".

Mari kita lihat contoh penggunaan perintah "tee".

$ echo "Welcome to OSTechNIx" | tee file1 file2
Welcome to OSTechNIx

Perintah di atas akan membuat dua file yaitu file1 dan file2 . Kemudian, tambahkan baris "Selamat datang di OSTechNix" pada kedua file. Dan terakhir cetak pesan "Selamat datang di OSTechNix"  di Terminal Anda.

Perintah "Pee" melakukan fungsi yang serupa, tetapi sedikit berbeda dari perintah "tee". Perhatikan perintah berikut:

$ echo "Welcome to OSTechNIx" | pee cat cat
Welcome to OSTechNIx
Welcome to OSTechNIx

Seperti yang Anda lihat pada output di atas, dua contoh perintah "cat" menerima output dari perintah "echo" dan menampilkannya dua kali di Terminal.

Utilitas "Spons"

Ini adalah utilitas lain yang berguna dari paket moreutils. Spons membaca input standar dan menuliskannya ke file yang ditentukan. Tidak seperti pengalihan shell, spons menyerap semua inputnya sebelum menulis file output.

Lihat isi file teks berikut.

$ cat file1 
I
You
Me
We
Us

Seperti yang Anda lihat, file tersebut berisi beberapa baris acak, terutama "tidak" dalam urutan abjad. Anda ingin mengurutkan konten dalam urutan abjad. Apa yang akan Anda lakukan?

$ sort file1 > file1_sorted

Benar, bukan? Tentu saja! Seperti yang Anda lihat pada perintah di atas, saya telah mengurutkan konten file1 dalam urutan abjad dan menyimpannya dalam file baru bernama "file1_sorted" . Namun, Anda dapat melakukan hal yang sama tanpa membuat yang baru (yaitu file1_sorted) menggunakan perintah "spons" seperti yang ditunjukkan di bawah ini.

$ sort file1 | sponge file1

Sekarang, periksa apakah konten diurutkan menurut abjad.

$ cat file1 
I
Me
Us
We
You

Lihat? kita tidak perlu membuat file baru. Ini sangat berguna dalam pembuatan skrip. Dan hal baiknya adalah spons mempertahankan izin file keluaran jika sudah ada.

Utilitas "ts"

Utilitas "ts" mencetak stempel waktu ke awal setiap baris dalam output perintah Linux apa pun.

Lihatlah output perintah berikut:

$ ping -c 2 localhost
PING localhost(localhost.localdomain (::1)) 56 data bytes
64 bytes from localhost.localdomain (::1): icmp_seq=1 ttl=64 time=0.055 ms
64 bytes from localhost.localdomain (::1): icmp_seq=2 ttl=64 time=0.079 ms

--- localhost ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1018ms
rtt min/avg/max/mdev = 0.055/0.067/0.079/0.012 ms

Sekarang, jalankan perintah yang sama dengan utlity "ts" seperti yang ditunjukkan di bawah ini.

$ ping -c 2 localhost | ts
Aug 21 13:32:28 PING localhost(localhost (::1)) 56 data bytes
Aug 21 13:32:28 64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.063 ms
Aug 21 13:32:28 64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.113 ms
Aug 21 13:32:28 
Aug 21 13:32:28 --- localhost ping statistics ---
Aug 21 13:32:28 2 packets transmitted, 2 received, 0% packet loss, time 4ms
Aug 21 13:32:28 rtt min/avg/max/mdev = 0.063/0.088/0.113/0.025 ms

Seperti yang Anda lihat pada output di atas, ts menambahkan cap waktu di awal setiap baris. Ini contoh lain.

$ ls -l | ts
Aug 21 13:34:25 total 120
Aug 21 13:34:25 drwxr-xr-x  2 sk users 12288 Aug 20 20:05 Desktop
Aug 21 13:34:25 drwxr-xr-x  2 sk users  4096 Aug 10 18:44 Documents
Aug 21 13:34:25 drwxr-xr-x 24 sk users 12288 Aug 21 13:06 Downloads
[...]

Utilitas "Vidir"

Utilitas "Vidir" memungkinkan Anda mengedit konten direktori tertentu di vi editor (Atau, apa pun yang Anda miliki di $EDITOR ). Jika tidak ada direktori yang ditentukan, direktori kerja Anda saat ini akan diedit.

Perintah berikut mengedit isi direktori yang disebut "Desktop".

$ vidir Desktop/

Edit konten direktori dengan vidir

Perintah di atas akan membuka direktori yang ditentukan di vi . Anda editor. Setiap item dalam direktori pengeditan akan berisi nomor. Anda sekarang dapat mengedit file seperti yang Anda lakukan di editor vi. Katakan misalnya, hapus baris untuk menghapus file dari direktori, atau edit nama file untuk mengganti nama file.

Anda juga dapat mengedit sub direktori. Perintah berikut mengedit direktori kerja saat ini bersama dengan sub-direktorinya.

$ find | vidir -

Harap perhatikan "-" di akhir perintah. Jika "-" ditentukan sebagai direktori yang akan diedit, ia membaca daftar nama file dari stdin dan menampilkannya untuk diedit.

Jika Anda hanya ingin mengedit file di direktori kerja saat ini, Anda dapat menggunakan perintah berikut:

$ find -type f | vidir -

Ingin mengedit jenis file tertentu, misalnya file .PNG? maka Anda akan menggunakan:

$ vidir *.png

Perintah ini hanya mengedit file .png di direktori saat ini.

Utilitas "Vipe"

Perintah "vipe" memungkinkan Anda untuk menjalankan editor default Anda di tengah saluran Unix dan mengedit data yang sedang disalurkan antar program.

Perintah berikut membuka editor vi (editor default, tentu saja) dan memungkinkan Anda untuk mengedit input dari perintah "echo" (yaitu Welcome To OSTechNix) dan menampilkan hasil akhirnya.

$ echo "Welcome to OSTechNIx" | vipe
Hello World

Seperti yang Anda lihat pada output di atas, saya meneruskan input "Selamat datang di OSTechNix" ke editor vi dan mengeditnya sebagai "Hello World" dan menampilkan hasil akhir.

Unduhan yang Disarankan - eBuku Gratis:"Belajar Linux dalam 5 Hari"

Dan, itu saja untuk saat ini. Saya telah membahas hanya beberapa utilitas. "moreutils" memiliki utilitas yang lebih berguna. Saya telah menyebutkan utilitas yang saat ini disertakan dalam paket moreutils di bagian pendahuluan. Anda dapat membaca halaman manual untuk detail lebih lanjut tentang perintah di atas. Katakan misalnya, untuk mengetahui lebih banyak tentang perintah "vidir", jalankan:

$ man vidir

Semoga membantu.


Linux
  1. Linux – Apakah Linux Sebuah Unix?

  2. Array Di Unix Bourne Shell?

  3. Apakah Mac Os X Unix?

  1. Bukankah Kurang Hanya Lebih?

  2. 10 Contoh Sar (Sysstat) yang Berguna untuk Pemantauan Kinerja UNIX / Linux

  3. Lacak waktu yang dibutuhkan perintah di UNIX/LINUX?

  1. Jadikan riwayat Bash lebih bermanfaat dengan kiat-kiat ini

  2. Opsi ps yang berguna

  3. Apakah Linux itu Unix?