Dalam penggunaan sehari-hari sistem Linux/Unix, kami menggunakan banyak alat baris perintah untuk menyelesaikan pekerjaan kami dan untuk memahami serta mengelola sistem kami—alat seperti du
untuk memantau penggunaan disk dan top
untuk menunjukkan sumber daya sistem. Beberapa alat ini sudah ada sejak lama. Misalnya, top
pertama kali dirilis pada tahun 1984, sedangkan du
tanggal rilis pertama pada tahun 1971.
Selama bertahun-tahun, alat ini telah dimodernisasi dan dipindahkan ke sistem yang berbeda, tetapi, secara umum, alat ini masih mengikuti ide, tampilan, dan nuansa aslinya.
Ini adalah alat yang hebat dan penting untuk banyak alur kerja administrator sistem. Namun, dalam beberapa tahun terakhir, komunitas open source telah mengembangkan alat alternatif yang menawarkan manfaat tambahan. Beberapa hanya memanjakan mata, tetapi yang lain sangat meningkatkan kegunaan, menjadikannya pilihan yang bagus untuk digunakan pada sistem modern. Ini termasuk lima alternatif berikut untuk alat baris perintah Linux standar.
1. ncdu sebagai pengganti du
Penggunaan Disk NCurses (ncdu
) alat memberikan hasil yang mirip dengan du
tetapi dalam antarmuka interaktif berbasis kutukan yang berfokus pada direktori yang menghabiskan sebagian besar ruang disk Anda.
ncdu
menghabiskan beberapa waktu menganalisis disk, kemudian menampilkan hasil yang diurutkan berdasarkan direktori atau file yang paling sering Anda gunakan, seperti ini:
ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /home/rgerardi ------------------------------------------------------------
96.7 GiB [##########] /libvirt
33.9 GiB [### ] /.crc
7.0 GiB [ ] /Projects
. 4.7 GiB [ ] /Downloads
. 3.9 GiB [ ] /.local
2.5 GiB [ ] /.minishift
2.4 GiB [ ] /.vagrant.d
. 1.9 GiB [ ] /.config
. 1.8 GiB [ ] /.cache
1.7 GiB [ ] /Videos
1.1 GiB [ ] /go
692.6 MiB [ ] /Documents
. 591.5 MiB [ ] /tmp
139.2 MiB [ ] /.var
104.4 MiB [ ] /.oh-my-zsh
82.0 MiB [ ] /scripts
55.8 MiB [ ] /.mozilla
54.6 MiB [ ] /.kube
41.8 MiB [ ] /.vim
31.5 MiB [ ] /.ansible
31.3 MiB [ ] /.gem
26.5 MiB [ ] /.VIM_UNDO_FILES
15.3 MiB [ ] /Personal
2.6 MiB [ ] .ansible_module_generated
1.4 MiB [ ] /backgrounds
944.0 KiB [ ] /Pictures
644.0 KiB [ ] .zsh_history
536.0 KiB [ ] /.ansible_async
Total disk usage: 159.4 GiB Apparent size: 280.8 GiB Items: 561540
Navigasikan ke setiap entri dengan menggunakan tombol panah. Jika Anda menekan Enter pada entri direktori, ncdu
menampilkan isi direktori itu:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
Anda dapat menggunakannya untuk menelusuri direktori dan menemukan file mana yang menghabiskan ruang disk paling banyak. Kembali ke direktori sebelumnya dengan menggunakan Kiri tanda panah. Secara default, Anda dapat menghapus file dengan ncdu
dengan menekan d key, dan meminta konfirmasi sebelum menghapus file. Jika Anda ingin menonaktifkan perilaku ini untuk mencegah kecelakaan, gunakan -r
opsi untuk akses hanya baca:ncdu -r
.
ncdu
tersedia untuk banyak platform dan distribusi Linux. Misalnya, Anda dapat menggunakan dnf
untuk menginstalnya di Fedora langsung dari repositori resmi:
$ sudo dnf install ncdu
Anda dapat menemukan informasi lebih lanjut tentang alat ini di ncdu
halaman web.
2. htop sebagai pengganti top
htop
adalah penampil proses interaktif yang mirip dengan top
tapi itu memberikan pengalaman pengguna yang lebih baik di luar kotak. Secara default, htop
menampilkan metrik yang sama dengan top
dalam tampilan yang menyenangkan dan penuh warna.
Secara default, htop
terlihat seperti ini:
Berbeda dengan top
default :
Selain itu, htop
memberikan informasi ikhtisar sistem di bagian atas dan bilah perintah di bagian bawah untuk memicu perintah menggunakan tombol fungsi, dan Anda dapat menyesuaikannya dengan menekan F2 untuk masuk ke layar pengaturan. Dalam penyiapan, Anda dapat mengubah warnanya, menambah atau menghapus metrik, atau mengubah opsi tampilan untuk bilah ikhtisar.
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Meskipun Anda dapat mengonfigurasi versi terbaru top
untuk mencapai hasil yang serupa, htop
menyediakan konfigurasi default yang lebih waras, yang membuatnya menjadi penampil proses yang bagus dan mudah digunakan.
Untuk mempelajari lebih lanjut tentang proyek ini, periksa htop
halaman beranda.
3. tldr sebagai pengganti man
tldr
alat baris perintah menampilkan informasi penggunaan perintah yang disederhanakan, sebagian besar termasuk contoh. Ini berfungsi sebagai klien untuk proyek halaman tldr komunitas.
Alat ini bukan pengganti man
. Halaman manual masih merupakan sumber informasi kanonik dan lengkap untuk banyak alat. Namun, dalam beberapa kasus, man
Terlalu banyak. Terkadang Anda tidak membutuhkan semua informasi tentang sebuah perintah; Anda hanya mencoba mengingat opsi dasar. Misalnya, halaman manual untuk curl
perintah memiliki hampir 3.000 baris. Sebaliknya, tldr
untuk curl
panjangnya 40 baris dan terlihat seperti ini:
$ tldr curl
# curl
Transfers data from or to a server.
Supports most protocols, including HTTP, FTP, and POP3.
More information: <https://curl.haxx.se>.
- Download the contents of an URL to a file:
curl http://example.com -o filename
- Download a file, saving the output under the filename indicated by the URL:
curl -O http://example.com/filename
- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer:
curl -O -L -C - http://example.com/filename
- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`):
curl -d 'name=bob' http://example.com/form
- Send a request with an extra header, using a custom HTTP method:
curl -H 'X-My-Header: 123' -X PUT http://example.com
- Send data in JSON format, specifying the appropriate content-type header:
curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234
... TRUNCATED OUTPUT
TLDR adalah singkatan dari "terlalu panjang; tidak dibaca," yang merupakan bahasa gaul internet untuk ringkasan teks yang panjang. Nama ini cocok untuk alat ini karena halaman manual, meskipun berguna, terkadang terlalu panjang.
Di Fedora, tldr
klien ditulis dengan Python. Anda dapat menginstalnya menggunakan dnf
. Untuk opsi klien lainnya, lihat proyek halaman tldr.
Secara umum, tldr
alat membutuhkan akses ke internet untuk berkonsultasi dengan halaman tldr. Klien Python di Fedora memungkinkan Anda mengunduh dan menyimpan halaman-halaman ini untuk akses offline.
Untuk informasi lebih lanjut tentang tldr
, Anda dapat menggunakan tldr tldr
.
4. jq sebagai pengganti sed/grep untuk JSON
jq
adalah prosesor JSON baris perintah. Ini seperti sed
atau grep
tetapi dirancang khusus untuk menangani data JSON. Jika Anda seorang pengembang atau administrator sistem yang menggunakan JSON dalam tugas harian Anda, ini adalah alat penting di kotak alat Anda.
Manfaat utama jq
melalui alat pemrosesan teks umum seperti grep
dan sed
adalah memahami struktur data JSON, memungkinkan Anda membuat kueri kompleks dengan satu ekspresi.
Sebagai ilustrasi, bayangkan Anda mencoba mencari nama container dalam file JSON ini:
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"labels": {
"app": "myapp"
},
"name": "myapp",
"namespace": "project1"
},
"spec": {
"containers": [
{
"command": [
"sleep",
"3000"
],
"image": "busybox",
"imagePullPolicy": "IfNotPresent",
"name": "busybox"
},
{
"name": "nginx",
"image": "nginx",
"resources": {},
"imagePullPolicy": "IfNotPresent"
}
],
"restartPolicy": "Never"
}
}
Jika Anda mencoba grep
langsung untuk name
, ini hasilnya:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep
mengembalikan semua baris yang mengandung kata name
. Anda dapat menambahkan beberapa opsi lagi ke grep
untuk membatasinya dan, dengan beberapa manipulasi ekspresi reguler, Anda dapat menemukan nama-nama wadah. Untuk mendapatkan hasil yang Anda inginkan dengan jq
, gunakan ekspresi yang mensimulasikan navigasi ke bawah struktur data, seperti ini:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
Perintah ini memberi Anda nama kedua wadah. Jika Anda hanya mencari nama wadah kedua, tambahkan indeks elemen larik ke ekspresi:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
Karena jq
menyadari struktur data, ini memberikan hasil yang sama bahkan jika format file sedikit berubah. grep
dan sed
dapat memberikan hasil yang berbeda dengan sedikit perubahan pada format.
jq
memiliki banyak fitur, dan mencakup semuanya akan membutuhkan artikel lain. Untuk informasi lebih lanjut, lihat jq
halaman proyek, halaman manual, atau tldr jq
.
5. fd sebagai pengganti find
fd
adalah alternatif sederhana dan cepat untuk find
memerintah. Itu tidak bertujuan untuk menggantikan fungsionalitas lengkap find
menyediakan; sebagai gantinya, ini menyediakan beberapa default waras yang banyak membantu dalam skenario tertentu.
Misalnya, saat mencari file kode sumber di direktori yang berisi repositori Git, fd
secara otomatis mengecualikan file dan direktori tersembunyi, termasuk .git
direktori, serta mengabaikan pola dari .gitignore
mengajukan. Secara umum, ini memberikan pencarian yang lebih cepat dengan hasil yang lebih relevan pada percobaan pertama.
Secara default, fd
menjalankan pencarian pola case-insensitive di direktori saat ini dengan output berwarna. Pencarian yang sama menggunakan find
mengharuskan Anda untuk memberikan parameter baris perintah tambahan. Misalnya, untuk mencari semua file penurunan harga (.md
atau .MD
) di direktori saat ini, find
perintahnya adalah ini:
$ find . -iname "*.md"
Ini pencarian yang sama dengan fd
:
$ fd .md
Dalam beberapa kasus, fd
membutuhkan opsi tambahan; misalnya, jika Anda ingin memasukkan file dan direktori tersembunyi, Anda harus menggunakan opsi -H
, sementara ini tidak diperlukan di find
.
fd
tersedia untuk banyak distribusi Linux. Instal di Fedora menggunakan repositori standar:
$ sudo dnf install fd-find
Untuk informasi lebih lanjut, lihat fd
Repositori GitHub.
Alternatif hebat selain utilitas yang telah terbukti
Sementara saya masih menggunakan semua alat penting lama secara teratur, terutama saat menghubungkan dari jarak jauh ke server, alat alternatif memberikan beberapa manfaat tambahan yang berharga dalam banyak skenario. Mereka terutama membantu saya mengelola dan bekerja di komputer desktop dan laptop Linux saya.
Apakah Anda menggunakan alat lain yang membantu alur kerja Anda? Tambahkan mereka di bagian komentar di bawah.