Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Harta karun yang menarik! Enam Utiliti Linux Unik dan Menakjubkan

Harta karun yang menarik! Enam Utiliti Linux Unik dan Menakjubkan

PHPz
PHPzke hadapan
2023-06-15 12:59:46911semak imbas

Kami akan menyelam lebih mendalam ke dalam /usr/bin dan menemui beberapa khazanah yang lebih menarik. Walaupun mereka mungkin kelihatan agak ketinggalan zaman, kami akan meneroka beberapa program unik dan menarik yang masih sangat berguna hari ini.

Mari kita kembali ke pengembaraan dan teruskan mencari lebih banyak perkara yang Linux tawarkan kepada kita.

1. lipat

Kami mempunyai alat kecil yang sangat praktikal yang boleh membantu anda membalut baris input mengikut panjang yang ditentukan. Anda boleh menentukan panjang dengan menentukan bilangan bait atau ruang. Menggunakan alat lipatan, anda boleh memproses fail dengan panjang yang berbeza dengan cepat.

Sebagai contoh, katakan kita mempunyai baris input sepanjang enam aksara. Kami mahu mengehadkan setiap baris kepada lima aksara sahaja dan membalut bakinya. Menggunakan fold, kita boleh mencapai ini dengan:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ echo "12345678" | fold -w 7

Output yang sepadan hendaklah:

12345678

有趣的宝藏!六个独特而惊人的 Linux 实用工具

Kini kita boleh memuatkan beberapa teks dengan cepat ke had panjang kita. Ini berguna apabila memecahkan strim teks panjang atau apabila mengenakan had panjang baris pada kod atau fail konfigurasi lain.

Untuk butiran lanjut tentang menggunakan fold, lihat halaman wiki.

2. lajur

Ini adalah satu lagi alat pemformatan yang sangat berguna. Anda boleh menggunakan alat lajur melalui baris arahan untuk mencipta lajur atau bahkan menjana keseluruhan jadual untuk memudahkan output teks.

Walaupun kefungsian yang sama boleh dicapai menggunakan alatan seperti awk, alat lajur direka untuk tujuan khusus ini, jadi ia sangat mudah untuk digunakan dan sintaksnya mudah diingati.

Jika kita ingin membina jadual ringkas berdasarkan beberapa baris input, kita boleh melaksanakan arahan berikut:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ echo -e "one two three\n1 2 3\n93139 777777 999999" | column -t

Output arahan sepatutnya kelihatan seperti ini:

onetwo three12 393139777777999999

有趣的宝藏!六个独特而惊人的 Linux 实用工具

Seperti yang anda lihat, output diformatkan secara automatik ke dalam lajur yang dijajarkan dengan kemas. Jadual kecil dibentuk dalam output, mengubah saiz secara automatik mengikut panjang setiap baris input.

Alat ini akan sangat membantu jika anda bekerja dengan set data tidak berstruktur yang lebih panjang sedikit pada baris arahan dan ingin membuat beberapa bentuk jadual dengan cepat.

lajur halaman manual menyediakan lebih banyak butiran penggunaan dan cara unik untuk mengendalikan input yang berbeza.

3. sg

Anda mungkin pernah mendengar tentang arahan newgrp. Terdapat alat yang lebih mudah yang mencapai kesan yang sama tanpa memerlukan anda untuk melaksanakan arahan sebagai kumpulan yang berbeza. Utiliti sg membolehkan anda untuk melaksanakan arahan secara langsung dengan kebenaran kumpulan lain yang anda tentukan. Hanya tentukan kumpulan dan arahan tanpa perlu menggunakan paip atau menukar kumpulan shell sedia ada.

Untuk melaksanakan arahan ls dengan kebenaran kumpulan sudo, anda boleh memasukkan arahan berikut:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ sg sudo ls

有趣的宝藏!六个独特而惊人的 Linux 实用工具

Ini akan menukar arahan ls untuk dijalankan dengan kebenaran kumpulan sudo. Setelah arahan selesai dilaksanakan, anda akan dikembalikan kepada kebenaran kumpulan biasa yang anda miliki sebelum pelaksanaan. Perintah

sg sangat membantu untuk menguji kebenaran kumpulan baharu atau menukar konteks dengan cepat untuk menjalankan program daripada kumpulan lain.

Untuk maklumat penggunaan terperinci, sila rujuk halaman lelaki sg.

4, xxd

Utiliti xxd ialah salah satu daripada banyak cara untuk melakukan pembuangan hex pada Linux. Terdapat banyak utiliti dengan fungsi yang sama, tetapi program xxd sedikit berbeza. Anda boleh menggunakan utiliti ini untuk melakukan pembuangan dan pemulihan hex, yang mempunyai kelebihan tambahan untuk berbuat demikian. Terdapat banyak bendera yang boleh dikonfigurasikan dan anda juga boleh melakukan operasi menampal pada binari.

Andaikan kami ingin mengambil hex dump bagi fail berikut bernama linuxmi:

linuxmi

Kami hanya memberikan input dan xxd secara automatik akan mengekod fail ke stdout (untuk fail input yang lebih pendek, iaitu fungsi lalai yang mudah):

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ xxd linuxmi00000000: 6c69 6e75 786d 690a

有趣的宝藏!六个独特而惊人的 Linux 实用工具

Anda juga boleh menghantar output terus ke fail dump dengan menghantar argumen nama fail tambahan:

xxd linuxmi 93139

有趣的宝藏!六个独特而惊人的 Linux 实用工具

Ini akan menghantar pembuangan hex ke fail bernama 93139.

halaman manual xxd boleh didapati di sini.

5、pwdx

这个实用的小程序源于广为人知、备受喜爱的古老 PS 实用程序家族。pwdx 实用程序可以让您获取运行中进程的当前工作目录。只要您提供进程的 PID,它就能告诉您该进程的工作目录所在位置。

假设我们想找出 cron 进程在我们的机器上的工作目录。我们可以通过使用 ps 命令搜索并获取其 PID,示例如下:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ ps aux | grep cron

有趣的宝藏!六个独特而惊人的 Linux 实用工具

在这里,我们可以看到cron的PID是612。这时,我们只需将该进程的PID传递给pwdx,就能确定它的工作目录

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ sudo pwdx 691

如下图:

有趣的宝藏!六个独特而惊人的 Linux 实用工具

To access information about cron, you need to use sudo as it is a system process.。我们成功获取了cron的当前工作目录,即 /var/spool/cron,在命令执行完成后。当您需要跟踪目录范围问题时,这将是一个非常有价值的故障排除工具。您可以使用 pwdx 快速检查确定一个进程认为其应从哪个位置运行,以达到准确的目的。

这里查看 pwdx 的 man 页面。

6、write

这个强大的小程序可能不会像您一开始想的那样执行某个特定任务。这个存在于Linux中已经有几十年了,可以追溯到1975年Unix的第6版。

The write utility actually allows you to send messages to other users on the same system.。您可以针对任何其他登录的用户发送消息。输入您的用户名,然后您可以进入一个交互式shell,用来书写任何您想要的文本。您键入的所有内容(包括换行符)都将出现在目标用户的控制台上。

这里是一个快速示例:

write <用户名>

这将使您进入一个交互式控制台,以向相应的用户发送消息。请记住,这是一种相当侵入性的与其他用户通信的方式。这将使他们的终端显示您输入的文本,而无需任何警告或提示。对他们来说,这将出现在他们的终端上,就像自动出现的信息一样。由于这是单向通信,他们也无法回复。

虽然目前有更优秀的处理用户间消息传递的方法,但这仍然是计算历史的一部分。我相信今天仍然可以有一些创造性的用途。

这里查看官方的 man 页面。

Atas ialah kandungan terperinci Harta karun yang menarik! Enam Utiliti Linux Unik dan Menakjubkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam