GNU/Linux >> Belajar Linux >  >> Linux

5 alternatif modern untuk alat baris perintah Linux yang penting

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.


Linux
  1. 4 alternatif untuk cron di Linux

  2. Sejarah baris perintah di Linux

  3. Perintah mv di Linux:7 Contoh Penting

  1. 5 alat sysadmin Linux favorit saya

  2. Pengantar perintah alternatif di Linux

  3. Editor teks baris perintah di Linux

  1. Komunikasi serial di Linux modern

  2. Membuat sertifikat CA tersedia untuk alat baris perintah Linux

  3. Alat overclocking di Linux