Rumah > Artikel > Tutorial sistem > Kongsi 5 alternatif moden kepada alat baris arahan asas Linux
Apabila kami menggunakan sistem Linux/Unix setiap hari, kami sering menggunakan pelbagai alatan baris arahan untuk mengurus sistem dan memahami pengendalian sistem. Sebagai contoh, arahan du digunakan untuk memantau penggunaan cakera, dan arahan teratas digunakan untuk memaparkan sumber sistem. Beberapa alat ini telah wujud sejak sekian lama, seperti arahan teratas, yang pertama kali dikeluarkan pada tahun 1984, dan perintah du, yang pertama kali dikeluarkan pada tahun 1971.
Selepas bertahun-tahun pembangunan, alatan ini telah berkembang secara beransur-ansur daripada bentuk asalnya kepada versi moden dan dialihkan ke sistem yang berbeza. Walau bagaimanapun, walaupun terdapat perubahan moden, alat ini masih mengekalkan idea asal dan pengalaman penggunanya.
Alat ini sangat penting dan sangat diperlukan untuk aliran kerja pentadbir sistem. Walau bagaimanapun, sejak beberapa tahun kebelakangan ini, komuniti sumber terbuka telah membangunkan alat alternatif yang membawa faedah tambahan. Sesetengah alat baharu mungkin mencolok, tetapi yang lain meningkatkan kebolehgunaan, menjadikannya pilihan terbaik pada sistem moden. Berikut ialah lima alternatif kepada alat baris arahan Linux standard.
Alat Penggunaan Cakera NCurses (ncdu) menyediakan fungsi seperti du, tetapi dalam bentuk antara muka interaktif berasaskan kutukan. Ia tertumpu terutamanya pada direktori yang menggunakan lebih banyak ruang cakera.
Gunakan ncdu, ia akan mengambil sedikit masa untuk menganalisis cakera dan memaparkan keputusan berdasarkan direktori atau fail yang anda kerap 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
Gunakan kekunci anak panah untuk menavigasi ke setiap entri. Jika anda menekan Enter pada entri direktori, ncdu akan memaparkan kandungan direktori tersebut:
--- /home/rgerardi/libvirt ---------------------------------------------------- /.. 91.3 GiB [##########] /images 5.3 GiB [ ] /media
Anda boleh menggunakannya untuk menelusuri ke dalam direktori dan mencari fail yang menggunakan ruang cakera paling banyak, menggunakan kekunci anak panah kiri untuk kembali satu tahap ke atas. Secara lalai, anda boleh menggunakan ncdu untuk memadam fail dengan menekan kekunci d, dan ia akan mengesahkan permintaan pemadaman dengan anda sebelum memadam. Jika anda ingin melumpuhkan tingkah laku ini untuk mengelakkan kemalangan, gunakan pilihan -r untuk akses baca sahaja: ncdu -r.
ncdu tersedia pada banyak platform dan pengedaran Linux. Sebagai contoh, anda boleh memasangnya pada Fedora terus dari repositori rasmi menggunakan dnf:
$ sudo dnf install ncdu
Untuk mengetahui lebih lanjut tentang alat ini, lihat halaman ncdu.
https://dev.yorhel.nl/ncdu
2htop sebagai pengganti teratas
htop ialah pemapar proses interaktif yang serupa dengan bahagian atas, tetapi ia memberikan pengalaman pengguna yang lebih baik di luar kotak. Secara lalai, htop memaparkan penunjuk yang sama seperti bahagian atas dalam warna yang menarik.
Secara lalai, htop kelihatan seperti ini:
Sebaliknya, lalai teratas kepada ini:
Selain itu, htop menyediakan maklumat gambaran keseluruhan sistem di bahagian atas dan bar arahan di bahagian bawah Anda boleh menggunakan kekunci fungsi untuk mencetuskan arahan Selain itu, anda juga boleh menekan F2 untuk memasukkan antara muka tetapan untuk menyesuaikannya. Anda boleh menukar warnanya, menambah atau mengalih keluar penunjuk, atau menukar pilihan paparan bar gambaran keseluruhan.
Walaupun dengan versi terbaharu bahagian atas anda juga boleh mencapai hasil yang serupa melalui konfigurasi, htop menyediakan konfigurasi lalai yang lebih munasabah, yang menjadikannya pemapar proses yang cantik dan mudah digunakan.
Untuk mengetahui lebih lanjut tentang projek ini, lihat halaman utama htop.
https://hisham.hm/htop/
3 tldr sebagai pengganti lelaki
alat baris arahan tldr memaparkan maklumat penggunaan arahan yang dipermudahkan, terutamanya termasuk contoh. Ia berfungsi sebagai pelanggan untuk halaman tldr projek komuniti.
Alat ini tidak boleh menggantikan manusia. Halaman manual kekal sebagai sumber maklumat berkanun dan lengkap untuk banyak alat. Walau bagaimanapun, dalam beberapa kes, manusia memberikan terlalu banyak maklumat. Kadangkala, anda tidak memerlukan semua maklumat tentang arahan; anda hanya cuba mengingati pilihan asas. Sebagai contoh, halaman manual arahan curl adalah hampir 3000 baris panjang. Sebaliknya, halaman tldr curl hanya sepanjang 40 baris dan kelihatan seperti ini:
$ tldr curl # curl Transfers data from or to a server. Supports most protocols, including HTTP, FTP, and POP3. More information: . - 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 ialah singkatan slang Internet "terlalu panjang; tidak dibaca", yang merujuk kepada meringkaskan artikel yang sangat panjang. Nama ini sesuai untuk alat ini kerana halaman manual, walaupun berguna, kadangkala terlalu panjang.
Dalam Fedora, klien tldr ditulis dalam Python. Anda boleh memasangnya menggunakan dnf. Untuk mengetahui tentang pilihan pelanggan lain, lihat halaman projek halaman tldr.
https://tldr.sh/
Secara umumnya, alatan tldr memerlukan akses ke Internet untuk melihat halaman tldr. Pelanggan Python dalam Fedora membolehkan anda memuat turun dan menyimpan halaman ini untuk akses luar talian.
Untuk mengetahui lebih lanjut tentang tldr, anda boleh menggunakan tldr tldr.
4 jq sebagai pengganti sed/grep
jq 是一个命令行 JSON 处理器,类似于 sed 或 grep,但专门设计用于处理 JSON 数据。如果你是在日常任务中会用到 JSON 的开发人员或系统管理员,那么这是你工具箱中必不可少的工具。
与 grep 和 sed 等通用文本处理工具相比,jq 的主要优点是它理解 JSON 的数据结构,允许使用单个表达式创建复杂的查询。
举例来说,假设你试图在这个 JSON 文件中查找容器的名称:
{ "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" } }
如果你直接使用 grep 查找 name,则写法如下:
$ grep name k8s-pod.json "name": "myapp", "namespace": "project1" "name": "busybox" "name": "nginx",
grep 返回包含单词 name 的所有行。你可以向 grep 添加更多选项来限制它,借助一些正则表达式操作来找到容器的名称。如果是使用 jq 获得你想要的结果,则可以使用一个表达式来模拟向下导航数据结构,如下所示:
$ jq '.spec.containers[].name' k8s-pod.json "busybox" "nginx"
这个命令提供这两个容器的名称。如果你只是在查找第二个容器的名称,则可以在表达式中添加数组元素索引:
$ jq '.spec.containers[1].name' k8s-pod.json "nginx"
因为 jq 知道数据结构,所以即使文件格式稍有变化,它也能提供相同的结果。而只要格式稍有变化,grep 和 sed 就可能提供不同的结果。
jq 有许多特性,要介绍所有这些特性的话,需要另写一篇文章。要了解更多信息,请参阅 jq 项目页、man 页面或 tldr jq。
https://stedolan.github.io/jq/
5作为 find 替代品的 fd
fd 是 find 命令的一个简单而快速的替代品。它的目的不是取代 find 提供的全部功能;相反,它提供了一些合理的默认值,在某些情况下非常有用。
例如,在包含 Git 存储库的目录中搜索源代码文件时,fd 会自动排除隐藏的文件和目录,包括. .git 目录,并忽略.gitignore 文件中的模式。一般来说,它的搜索速度更快,而且第一次搜索时提供了更多相关的结果。
默认情况下,fd 在当前目录中执行不区分大小写的模式搜索,输出是彩色的。使用 find 进行相同的搜索需要你提供额外的命令行参数。例如,在当前目录中搜索所有的 markdown 文件(.md 或.MD ),find 命令如下:
$ find . -iname "*.md"
使用 fd 进行同样的搜索:
$ fd .md
在某些情况下,fd 需要额外的选项;例如,如果你想包含隐藏文件和目录,则必须使用选项 -H,而这在 find 中是不需要的。
fd 可用于许多 Linux 发行版。执行以下命令,可以使用标准存储库在 Fedora 中安装:
$ sudo dnf install fd-find
要了解更多信息,请查阅 fd GitHub 存储库。
https://github.com/sharkdp/fd/
6其他替代品
虽然我仍然经常使用所有旧的基本工具,特别是在远程连接到服务器时,但这些替代品额外提供了一些在许多场景中都非常有用的好处。特别是,它们对我在 Linux 台式机和笔记本电脑上的工作帮助很大。
你的工作流中是否使用了其他工具?欢迎在下面的评论区补充。
7作者介绍
Ricardo Gerardi 是加拿大红帽公司的高级顾问,他专门从事基于 Ansible 和 Openshift 的 IT 自动化。他有丰富的电信行业经验,曾在 TELUS 担任高级架构师,并曾在 IBM 巴西和 IBM 加拿大担任网络管理解决方案的高级顾问和售前专家长达 13 年。Ricardo 是一个超过 20 年的 Linux 爱好者。他目前感兴趣的是用 Go 编程来破解东西……
Atas ialah kandungan terperinci Kongsi 5 alternatif moden kepada alat baris arahan asas Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!