首頁 > 運維 > Nginx > 主體

有趣的寶藏!六個獨特而驚人的 Linux 實用工具

PHPz
發布: 2023-06-15 12:59:46
轉載
981 人瀏覽過

我們將對 /usr/bin 進行深入探索,並發掘一些更有趣的寶藏。儘管看起來可能有些過時,但我們將探索一些獨特有趣的程序,它們在當今仍然非常實用。

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

1、fold

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

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

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

對應的輸出應為:

12345678
登入後複製

有趣的宝藏!六个独特而惊人的 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
登入後複製

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

onetwo three12 393139777777999999
登入後複製

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

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

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

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

3、sg

您可能聽過 newgrp 指令。有一種更簡單的工具能夠達到相同的效果,它不需要用其他組的身份來執行命令。 sg 實用程式可讓您使用指定的另一個群組的權限直接執行命令。只要指定一個群組和一個命令,就不用使用管道或更改現有的 Shell 群組。

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

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ sg sudo ls
登入後複製

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

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

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

詳細了解使用信息,請參閱 sg 的 man 頁面

4、xxd

xxd 實用程式是在 Linux 上執行十六進位轉儲的眾多方法之一。有許多具有類似功能的實用程序,但 xxd 程序略有不同。您可以使用這個實用程式來進行十六進位的轉儲和還原,其額外的優點就在這裡。還有許多可設定的標誌,您還可以對二進位檔案執行修補操作。

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

linuxmi
登入後複製

我們只需提供輸入,xxd 將自動將檔案編碼到stdout(對於較短的輸入文件,這是一個很方便的預設功能):

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

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

#您也可以透過傳遞額外的檔案名稱參數來直接將輸出傳送到轉儲檔案:

xxd linuxmi 93139
登入後複製

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

這將將十六進位轉儲傳送到名為93139 的檔案中。

xxd 的 man 頁面可以在此處找到。

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 页面。

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

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!