Dengan menggunakan alternatif yang lebih moden di samping alat baris perintah yang lebih lama, anda boleh berseronok dan juga meningkatkan produktiviti anda.
Dalam kerja harian kami di Linux/Unix, kami menggunakan banyak alat baris arahan - contohnya, du untuk memantau penggunaan cakera dan sumber sistem. Beberapa alat ini telah wujud sejak sekian lama. Sebagai contoh, top muncul pada tahun 1984, dan keluaran pertama du bermula pada tahun 1971.
Selama bertahun-tahun, alat ini telah dimodenkan dan dialihkan ke sistem yang berbeza, tetapi secara amnya mereka tidak bergerak jauh dari versi pertama mereka, penampilan dan kebolehgunaannya juga tidak banyak berubah.
Ini adalah alat hebat yang diperlukan oleh banyak pentadbir sistem. Walau bagaimanapun, komuniti telah membangunkan alat alternatif yang menawarkan faedah tambahan. Sesetengah daripada mereka hanya mempunyai antara muka yang moden dan cantik, manakala yang lain meningkatkan kebolehgunaan. Dalam terjemahan ini, kita akan bercakap tentang lima alternatif kepada alat baris arahan Linux standard.
1. ncdu lwn du
Penggunaan Cakera NCurses (
ncdu menganalisis cakera dan kemudian memaparkan hasil yang disusun mengikut direktori atau fail yang paling kerap digunakan, contohnya:
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
Anda boleh menavigasi entri menggunakan kekunci anak panah. Jika anda menekan Enter, ncdu akan memaparkan kandungan direktori yang dipilih:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
Anda boleh menggunakan alat ini untuk, contohnya, menentukan fail yang menggunakan ruang cakera paling banyak. Anda boleh pergi ke direktori sebelumnya dengan menekan kekunci anak panah kiri. Dengan ncdu anda boleh memadam fail dengan menekan kekunci d. Ia meminta pengesahan sebelum memadam. Jika anda ingin melumpuhkan ciri padam untuk mengelakkan kehilangan fail berharga secara tidak sengaja, gunakan pilihan -r untuk mendayakan mod akses baca sahaja: ncdu -r.
ncdu tersedia untuk banyak platform dan pengedaran Linux. Sebagai contoh, anda boleh menggunakan dnf untuk memasangnya pada Fedora terus dari repositori rasmi:
$ sudo dnf install ncdu
2. htop vs atas
Secara lalai htop kelihatan seperti ini:
Tidak seperti atas:
Selain itu, htop memaparkan maklumat gambaran keseluruhan tentang sistem di bahagian atas, dan panel untuk menjalankan arahan menggunakan kekunci fungsi di bahagian bawah. Anda boleh mengkonfigurasinya dengan menekan F2 untuk membuka skrin konfigurasi. Dalam Tetapan, anda boleh menukar warna, menambah atau mengalih keluar metrik atau menukar pilihan paparan panel gambaran keseluruhan.
Walaupun anda boleh mencapai kebolehgunaan yang serupa dengan mengubah tetapan versi terbaharu teratas, htop menyediakan konfigurasi lalai yang mudah, yang menjadikannya lebih praktikal dan lebih mudah untuk digunakan.
3. tldr vs lelaki
Alat baris arahan tldr memaparkan maklumat bantuan ringkas tentang arahan, kebanyakannya contoh. Ia dibangunkan oleh masyarakat
Perlu diingat bahawa tldr bukanlah pengganti manusia. Ia masih merupakan alat keluaran halaman manusia kanonik dan paling komprehensif. Walau bagaimanapun, dalam beberapa kes manusia adalah berlebihan. Apabila anda tidak memerlukan maklumat yang komprehensif tentang arahan, anda hanya cuba mengingati kegunaan asasnya. Sebagai contoh, halaman manual untuk arahan curl mengandungi hampir 3000 baris. Halaman tldr untuk curl ialah 40 baris panjang. Serpihannya kelihatan 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 bermaksud βterlalu panjang; tidak membaca": iaitu, beberapa teks diabaikan kerana keterlaluan kata kerjanya. Nama itu sesuai untuk alat ini kerana halaman manual, walaupun berguna, kadangkala boleh terlalu panjang.
Untuk Fedora, tldr ditulis dalam Python. Anda boleh memasangnya menggunakan pengurus dnf. Biasanya, alat tersebut memerlukan akses internet untuk beroperasi. Tetapi klien Python Fedora membenarkan halaman ini dimuat turun dan dicache untuk akses luar talian.
4.jq lwn sed/grep
jq ialah pemproses JSON untuk baris arahan. Ia serupa dengan sed atau grep, tetapi direka khusus untuk berfungsi dengan data JSON. Jika anda seorang pembangun atau pentadbir sistem yang menggunakan JSON dalam tugas harian, ini adalah alat untuk anda.
Kelebihan utama jq berbanding alat pemprosesan teks standard seperti grep dan sed ialah ia memahami struktur data JSON, membolehkan anda membuat pertanyaan kompleks dalam satu ungkapan.
Sebagai contoh, anda cuba mencari nama kontena dalam fail 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 rentetan:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep mengembalikan semua baris yang mengandungi nama perkataan. Anda boleh menambah beberapa lagi pilihan untuk grep untuk menyekatnya dan menggunakan beberapa manipulasi ungkapan biasa untuk mencari nama bekas.
Untuk mendapatkan hasil yang sama menggunakan jq, tulis sahaja:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
Perintah ini akan memberi anda nama kedua-dua bekas. Jika anda hanya mencari nama bekas kedua, tambahkan indeks elemen tatasusunan pada ungkapan:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
Memandangkan jq mengetahui tentang struktur data, ia menghasilkan hasil yang sama walaupun format fail berubah sedikit. grep dan sed mungkin tidak berfungsi dengan betul dalam kes ini.
jq mempunyai banyak fungsi, tetapi artikel lain diperlukan untuk menerangkannya. Untuk maklumat lanjut sila hubungi
5. fd vs mencari
Contohnya, apabila mencari fail dalam direktori repositori Git, fd secara automatik mengecualikan fail tersembunyi dan subdirektori, termasuk direktori .git, dan juga mengabaikan kad bebas daripada fail .gitignore. Secara keseluruhannya, ia mempercepatkan carian dengan mengembalikan hasil yang lebih berkaitan pada percubaan pertama.
Secara lalai, fd melakukan carian tidak peka huruf besar-kecil dalam direktori semasa, dengan output warna. Carian yang sama menggunakan arahan find memerlukan memasukkan parameter tambahan pada baris arahan. Contohnya, untuk mencari semua fail .md (atau .MD) dalam direktori semasa, anda akan menulis arahan cari seperti ini:
$ find . -iname "*.md"
Untuk fd ia kelihatan seperti ini:
$ fd .md
Tetapi dalam beberapa kes, fd juga memerlukan pilihan tambahan: contohnya, jika anda ingin memasukkan fail dan direktori tersembunyi, anda mesti menggunakan pilihan -H, walaupun ini biasanya tidak diperlukan semasa mencari.
fd tersedia untuk banyak pengedaran Linux. Di Fedora ia boleh dipasang seperti ini:
$ sudo dnf install fd-find
Anda tidak perlu menyerah apa-apa
Adakah anda menggunakan alat baris arahan Linux yang baharu? Atau adakah anda duduk secara eksklusif pada yang lama? Tetapi kemungkinan besar anda mempunyai kombo, bukan? Sila kongsi pengalaman anda dalam komen.
Sebagai iklan
Ramai pelanggan kami telah menghargai faedahnya pelayan epik!
ini
Sumber: www.habr.com