首頁  >  文章  >  系統教程  >  有趣的寶藏! 6 個你獨特又驚人的 Linux 實用工具

有趣的寶藏! 6 個你獨特又驚人的 Linux 實用工具

WBOY
WBOY轉載
2024-02-13 21:42:16864瀏覽

在本文中,我們將更深入地挖掘 /usr/bin 的隱密角落,並發現一些更有趣的寶藏。我們將探索一些獨特而有趣的程序,乍一看可能似乎已經過時,但實際上在今天仍然非常有用。

讓我們重上探險之路,繼續發現 Linux 為我們提供的更多精彩之處。

1、fold

首先,我們有一個非常有用的小工具,它可以幫助您將輸入行按照特定的長度進行換行。您可以透過指定位元組數或空格數來定義長度。使用 fold 工具,您可以快速處理具有不同長度的檔案。

例如,假設我們有一行輸入,長度為六個字元。我們希望將每行限制為只有五個字符,並將剩餘部分換行。使用 fold,我們可以使用以下命令實作:

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

對應的輸出應為:

1234567
8
有趣的宝藏!6 个你独特而惊人的 Linux 实用工具

現在我們可以快速將一些文字符合我們的長度限制。這對於將長文本流分解或對程式碼或其他設定檔強制施加行長度限制非常有用。

詳細了解使用 fold 的更多細節,請查看維基頁面。

2、column

#這是另一個非常有用的格式化工具。 column工具可以幫助您在文字輸出中建立列,甚至產生整個表格,所有這些都可以透過命令列完成。

雖然使用awk等工具也可以實現相同的功能,但 column工具專為此特定用途而設計,因此使用起來非常簡單,而且記住其語法也很容易。

如果我們想根據幾行輸入建立一個簡單的表格,可以執行以下命令:

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

該指令的輸出應如下所示:

one    two     three
1      2       3
93139  777777  999999
有趣的宝藏!6 个你独特而惊人的 Linux 实用工具

如您所見,輸出會自動格式化為整齊對齊的列。這在輸出中形成了一個小表格,並且會根據每行輸入的長度自動調整大小。

如果您在命令列上處理稍長的非結構化資料集,並希望快速建立一些表格形式,這個工具將會幫上大忙。

column 的 man 頁面提供了更多用法細節和處理不同輸入的獨特方法。

3、sg

您可能聽過 newgrp 命令。該命令以其他群組的身份執行命令,但是有一種更簡單的實用程式可以實現相同的功能。 sg 實用程式可讓您使用指定的另一個群組的權限直接執行命令。您不需要使用管道或更改現有的 Shell 群組,只需指定一個群組和一個命令。

要使用 sudo 群組的權限執行 ls 指令,可以輸入以下指令:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ sg sudo ls
有趣的宝藏!6 个你独特而惊人的 Linux 实用工具

這將切換 ls 命令以使用 sudo 群組的權限運行。一旦命令執行完畢,您將返回執行前的正常群組權限。

sg 命令對於測試新的群組權限或快速切換上下文以從另一個群組執行程式非常有幫助。

4、xxd

xxd 實用程式是在 Linux 上執行十六進位轉儲的眾多方法之一。有許多具有類似功能的實用程序,但 xxd 程序略有不同。它的附加優勢在於您可以使用此實用程式進行十六進位的轉儲和還原。還有許多可設定的標誌,您還可以對二進位檔案執行修補操作。

假設我們想要對以下名為 linuxmi 的檔案進行十六進位轉儲:

linuxmi

我们只需提供输入,xxd 将自动将文件编码到 stdout(对于较短的输入文件,这是一个很方便的默认功能):

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ xxd linuxmi
00000000: 6c69 6e75 786d 690a
有趣的宝藏!6 个你独特而惊人的 Linux 实用工具

您还可以通过传递一个额外的文件名参数来直接将输出发送到转储文件:

xxd linuxmi 93139
有趣的宝藏!6 个你独特而惊人的 Linux 实用工具

这将将十六进制转储发送到名为 93139 的文件中。

xxd 的 man 页面可以在此处找到。

5、pwdx

这个方便的小实用程序来自于我们都熟悉和喜爱的古老 ps 实用程序家族。pwdx 实用程序可以让您获取运行中进程的当前工作目录。您只需要将进程的 PID 传递给它,它就会告诉您该进程的工作目录在哪里。

假设我们想找出 cron 进程在我们的机器上的工作目录。首先,我们只需要使用 ps 搜索并找到它的 PID,像这样:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ ps aux | grep cron
有趣的宝藏!6 个你独特而惊人的 Linux 实用工具

在这里,我们可以看到cron的PID是612。现在,我们只需要将该进程的PID传递给pwdx来确定其工作目录,像这样:

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

如下图:

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

由于cron是系统进程,您需要使用sudo才能获取有关它的信息。命令完成后,我们得到了cron的当前工作目录,即 /var/spool/cron。
这可以是一个非常有价值的故障排除工具,特别是当您追踪目录范围问题时。通过使用 pwdx 进行快速检查,您可以准确地确定一个进程认为它应该从哪个位置运行。

在这里查看 pwdx 的 man 页面。

6、write

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

write 实用程序实际上允许您向同一系统上的其他用户发送消息。您可以针对任何其他登录的用户发送消息。提供用户名,您将进入一个交互式shell,以向他们写任何您想要的文本。您键入的所有内容(包括换行符)都将出现在目标用户的控制台上。

这里是一个快速示例:

write 

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

尽管现在有更好的方法来处理用户之间的消息传递,但这是计算历史的一部分。我相信今天仍然可以有一些创造性的用途。

以上是有趣的寶藏! 6 個你獨特又驚人的 Linux 實用工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除