5 alternatif modern untuk alat baris perintah Linux lama

Menggunakan alternatif yang lebih modern bersama dengan alat baris perintah lama, Anda bisa mendapatkan lebih banyak kesenangan dan bahkan meningkatkan produktivitas.







Dalam pekerjaan kami sehari-hari di Linux / Unix, kami menggunakan banyak alat baris perintah seperti du untuk memantau penggunaan disk dan sumber daya sistem. Beberapa alat ini sudah ada sejak lama. Sebagai contoh, top muncul pada tahun 1984, dan tanggal rilis du pertama dari tahun 1971.



Selama bertahun-tahun, alat-alat ini telah dimodernisasi dan dipindahkan ke sistem yang berbeda, tetapi secara umum mereka tidak jauh dari versi pertama mereka, penampilan dan kegunaannya tidak banyak berubah juga.



Ini adalah alat hebat yang dibutuhkan banyak sysadmin. Namun, masyarakat telah mengembangkan alat alternatif yang menawarkan manfaat tambahan. Beberapa dari mereka hanya memiliki antarmuka yang modern dan indah, sementara yang lain secara signifikan meningkatkan kegunaan. Dalam terjemahan ini, kita akan berbicara tentang lima alternatif untuk alat baris perintah Linux standar.



1.ncdu vs du



NCurses Disk Usage ( ncdu ) mirip dengan du, tetapi dengan antarmuka berbasis kutukan interaktif. ncdu menampilkan struktur direktori yang mengambil sebagian besar ruang disk Anda.



ncdu menganalisis disk dan kemudian menampilkan hasil yang diurutkan berdasarkan direktori atau file yang paling umum digunakan, misalnya:



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


Entri dapat dinavigasi menggunakan tombol panah. Jika Anda menekan Enter, ncdu akan menampilkan konten direktori yang dipilih:



--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91.3 GiB [##########] /images
    5.3 GiB [          ] /media


Anda dapat menggunakan alat ini untuk, misalnya, menentukan file mana yang paling banyak menggunakan ruang disk. Anda dapat menavigasi ke direktori sebelumnya dengan menekan tombol panah kiri. Dengan ncdu Anda dapat menghapus file dengan menekan tombol d. Sebelum dihapus, ia meminta konfirmasi. Jika Anda ingin menonaktifkan fungsi hapus untuk mencegah hilangnya file berharga secara tidak sengaja, gunakan opsi -r untuk mengaktifkan 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


2.htop vs atas



Htop adalah penampil proses interaktif, mirip dengan top, tetapi memberikan pengalaman pengguna yang menyenangkan di luar kotak. Secara default, htop menampilkan informasi yang sama seperti atas, tetapi dengan cara yang lebih visual dan penuh warna.



Secara default, htop terlihat seperti ini:





Tidak seperti top:





Selain itu, di bagian atas, htop menampilkan ikhtisar sistem, dan di bagian bawah, panel untuk menjalankan perintah menggunakan tombol fungsi. Anda dapat mengonfigurasinya dengan menekan F2 untuk membuka layar pengaturan. Di pengaturan, Anda dapat mengubah warna, menambah atau menghapus metrik, atau mengubah opsi tampilan untuk panel ikhtisar.



Meskipun mengutak-atik pengaturan versi teratas terbaru juga dapat mencapai kegunaan yang sama, htop menyediakan konfigurasi default yang nyaman, yang membuatnya lebih praktis dan lebih mudah digunakan.



3.tldr vs man



Alat baris perintah tldr menampilkan informasi referensi perintah yang disederhanakan, kebanyakan contoh. Ini dikembangkan oleh komunitas proyek halaman tldr .



Perlu dicatat bahwa tldr bukan pengganti manusia. Ini masih merupakan alat kanonik dan paling lengkap untuk menampilkan halaman buku panduan. Namun, dalam beberapa kasus, manusia berlebihan. Ketika Anda tidak memerlukan informasi lengkap tentang perintah, Anda hanya mencoba mengingat kasus penggunaan dasar. Misalnya, halaman manual untuk ikal hampir 3000 baris. Halaman tldr untuk curl memiliki panjang 40 baris. Fragmennya 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 berarti β€œterlalu panjang; tidak membaca ": yaitu, beberapa teks diabaikan karena verbositasnya yang berlebihan. Nama ini cocok untuk alat ini, karena halaman manual, meskipun bermanfaat, terkadang terlalu panjang.



Untuk Fedora, tldr ditulis dalam Python. Anda dapat menginstalnya menggunakan dnf manager. Biasanya, alat ini membutuhkan akses ke Internet. Tetapi klien Fedora Python memungkinkan Anda untuk mengunduh dan menyimpan halaman-halaman ini untuk akses offline.



4.jq vs sed / grep



jq adalah prosesor JSON baris perintah. Ini mirip dengan sed atau grep, tetapi dirancang khusus untuk bekerja dengan data dalam format JSON. Jika Anda seorang pengembang atau administrator sistem yang menggunakan JSON dalam tugas sehari-hari, alat ini untuk Anda.



Keuntungan utama dari jq dibandingkan alat pemrosesan teks standar seperti grep dan sed adalah ia memahami struktur data JSON, memungkinkan Anda untuk membuat kueri kompleks dalam satu pernyataan.



Misalnya, Anda mencoba mencari nama-nama kontainer di 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"
  }
}


Jalankan grep untuk mencari nama string:



$ grep name k8s-pod.json
        "name": "myapp",
        "namespace": "project1"
                "name": "busybox"
                "name": "nginx",


grep mengembalikan semua baris yang berisi nama kata. Anda bisa menambahkan beberapa opsi lagi ke grep untuk membatasinya, dan dengan beberapa manipulasi ekspresi reguler, temukan nama-nama wadah.



Untuk mendapatkan hasil yang sama dengan jq, cukup tulis:



$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"


Perintah ini akan memberi Anda nama kedua wadah. Jika Anda hanya mencari nama kontainer kedua, tambahkan indeks elemen array ke ekspresi:



$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"


Karena jq tahu tentang struktur data, itu memberikan hasil yang sama, bahkan jika format file sedikit berubah. grep dan sed dalam hal ini mungkin tidak berfungsi dengan benar.



Jq memiliki banyak fungsi, tetapi artikel lain diperlukan untuk menggambarkannya. Lihat halaman proyek jq atau tldr untuk informasi lebih lanjut .



5. fd vs find



fd adalah alternatif yang ringan untuk ditemukan. Fd tidak dimaksudkan untuk menggantinya sepenuhnya: ini default ke pengaturan paling umum yang menentukan pendekatan umum untuk bekerja dengan file.



Misalnya, ketika mencari file dalam direktori repositori Git, fd secara otomatis mengecualikan file dan subdirektori tersembunyi, termasuk direktori .git, dan mengabaikan templat dari file .gitignore. Secara keseluruhan, ini mempercepat pencarian dengan memberikan hasil yang lebih relevan pada percobaan pertama.



Secara default, fd melakukan pencarian case-insensitive di direktori keluaran warna saat ini. Pencarian yang sama menggunakan perintah find membutuhkan parameter tambahan pada baris perintah. Misalnya, untuk menemukan semua file .md (atau .MD) di direktori saat ini, Anda akan menulis perintah find seperti ini:



$ find . -iname "*.md"


Untuk fd, tampilannya seperti ini:



$ fd .md


Tetapi dalam beberapa kasus, fd juga memerlukan opsi tambahan: misalnya, jika Anda ingin menyertakan file dan direktori tersembunyi, Anda harus menggunakan opsi -H, meskipun ini biasanya tidak diperlukan untuk pencarian.



fd tersedia untuk banyak distribusi Linux. Di Fedora, Anda dapat menginstalnya seperti ini:



$ sudo dnf install fd-find


Anda tidak harus menyerahkan sesuatu



Apakah Anda menggunakan alat baris perintah Linux yang baru? Atau apakah Anda duduk secara eksklusif pada yang lama? Tetapi kemungkinan besar Anda memiliki kombo, bukan? Silakan bagikan pengalaman Anda dalam komentar.






Iklan



Banyak klien kami sudah menghargai manfaat dari server epik !

Ini adalah server virtual dengan prosesor AMD EPYC , frekuensi inti CPU hingga 3,4 GHz. Konfigurasi maksimum akan memungkinkan Anda beralih ke core CPU 128 penuh, RAM 512 GB, NVMe 4000 GB. Cepat pesan!






All Articles