有趣的宝藏!6 个你独特而惊人的 Linux 实用工具
在本文中,我们将更深入地挖掘 /usr/bin 的隐秘角落,并发现一些更加有趣的宝藏。我们将探索一些独特而有趣的程序,乍一看可能似乎已经过时,但实际上在今天仍然非常有用。
让我们重上探险之路,继续发现 Linux 为我们提供的更多精彩之处。
1、fold
首先,我们有一个非常有用的小工具,它可以帮助您将输入行按照特定的长度进行换行。您可以通过指定字节数或空格数来定义长度。使用 fold 工具,您可以快速处理具有不同长度的文件。
例如,假设我们有一行输入,长度为六个字符。我们希望将每行限制为只有五个字符,并将剩余部分换行。使用 fold,我们可以使用以下命令实现:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com] └─$ echo "12345678" | fold -w 7
相应的输出应为:
1234567 8

现在我们可以快速将一些文本符合我们的长度限制。这对于将长文本流分解或对代码或其他配置文件强制施加行长度限制非常有用。
详细了解使用 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

正如您所见,输出被自动格式化为整齐对齐的列。这在输出中形成了一个小表格,并且会根据每行输入的长度自动调整大小。
如果您在命令行上处理稍长的非结构化数据集,并希望快速创建一些表格形式,这个工具将会帮上大忙。
column 的 man 页面提供了更多用法细节和处理不同输入的独特方法。
3、sg
您可能听说过 newgrp 命令。该命令以其他组的身份执行命令,但是有一种更简单的实用程序可以实现相同的功能。sg 实用程序允许您使用指定的另一个组的权限直接执行命令。您不需要使用管道或更改现有的 Shell 组,只需指定一个组和一个命令即可。
要使用 sudo 组的权限执行 ls 命令,可以输入以下命令:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com] └─$ sg sudo ls

这将切换 ls 命令以使用 sudo 组的权限运行。一旦命令执行完毕,您将返回到执行前的正常组权限。
sg 命令对于测试新的组权限或快速切换上下文以从另一个组运行程序非常有帮助。
4、xxd
xxd 实用程序是在 Linux 上执行十六进制转储的众多方法之一。有许多具有类似功能的实用程序,但 xxd 程序略有不同。它的附加优势在于您可以使用此实用程序进行十六进制的转储和还原。还有许多可配置的标志,您还可以对二进制文件执行修补操作。
假设我们想对以下名为 linuxmi 的文件进行十六进制转储:
linuxmi
我们只需提供输入,xxd 将自动将文件编码到 stdout(对于较短的输入文件,这是一个很方便的默认功能):
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com] └─$ xxd linuxmi 00000000: 6c69 6e75 786d 690a

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

这将将十六进制转储发送到名为 93139 的文件中。
xxd 的 man 页面可以在此处找到。
5、pwdx
这个方便的小实用程序来自于我们都熟悉和喜爱的古老 ps 实用程序家族。pwdx 实用程序可以让您获取运行中进程的当前工作目录。您只需要将进程的 PID 传递给它,它就会告诉您该进程的工作目录在哪里。
假设我们想找出 cron 进程在我们的机器上的工作目录。首先,我们只需要使用 ps 搜索并找到它的 PID,像这样:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com] └─$ ps aux | grep cron

在这里,我们可以看到cron的PID是612。现在,我们只需要将该进程的PID传递给pwdx来确定其工作目录,像这样:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com] └─$ sudo pwdx 691
如下图:

由于cron是系统进程,您需要使用sudo才能获取有关它的信息。命令完成后,我们得到了cron的当前工作目录,即 /var/spool/cron。
这可以是一个非常有价值的故障排除工具,特别是当您追踪目录范围问题时。通过使用 pwdx 进行快速检查,您可以准确地确定一个进程认为它应该从哪个位置运行。
在这里查看 pwdx 的 man 页面。
6、write
这个强大的小程序可能不会像您一开始想的那样执行某个特定任务。它在 Linux 中已经存在了几十年,甚至可以追溯到 1975 年 Unix 的第 6版。
write 实用程序实际上允许您向同一系统上的其他用户发送消息。您可以针对任何其他登录的用户发送消息。提供用户名,您将进入一个交互式shell,以向他们写任何您想要的文本。您键入的所有内容(包括换行符)都将出现在目标用户的控制台上。
这里是一个快速示例:
write
这将使您进入一个交互式控制台,以向相应的用户发送消息。请记住,这是一种相当侵入性的与其他用户通信的方式。这将使他们的终端显示您输入的文本,而无需任何警告或提示。对他们来说,这将出现在他们的终端上,就像自动出现的信息一样。由于这是单向通信,他们也无法回复。
尽管现在有更好的方法来处理用户之间的消息传递,但这是计算历史的一部分。我相信今天仍然可以有一些创造性的用途。
以上是有趣的宝藏!6 个你独特而惊人的 Linux 实用工具的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Linux 命令行界面提供了丰富的文本处理工具,其中最强大的工具之一是 sed 命令。sed 是 Stream EDitor 的缩写,是一个多功能工具,允许对文本文件和流进行复杂的处理。 什么是 Sed? sed 是一款非交互式文本编辑器,它操作管道输入或文本文件。通过提供指令,您可以让它修改和处理文件或流中的文本。sed 最常见的用例包括选择文本、替换文本、修改原始文件、向文本添加行或从文本中删除行等操作。它可以在 Bash 和其他命令行 shell 中从命令行使用。 Sed 命令语法 sed

有效地计数Linux中的文件和文件夹:综合指南 知道如何快速计算Linux中的文件和目录对于系统管理员和管理大型数据集的任何人至关重要。本指南使用简单命令l演示

有效管理用户帐户和组成员资格对于Linux/UNIX系统管理至关重要。 这样可以确保适当的资源和数据访问控制。 本教程详细介绍了如何将用户添加到Linux和Unix系统中的多个组中。 我们

Linux内核是GNU/Linux操作系统的核心组件。由Linus Torvalds于1991年开发,是一种免费的开源,单片,模块化和多任务Unix样核。在Linux中,可以在Sing上安装多个内核

该简短指南说明了如何在Linux操作系统中键入印度卢比符号。前几天,我想在Word文档中键入“ Indian Rupee符号(€)”。我的键盘上有一个卢比符号,但我不知道如何键入它。后

Linux最适合用作服务器管理、嵌入式系统和桌面环境。1)在服务器管理中,Linux用于托管网站、数据库和应用程序,提供稳定性和可靠性。2)在嵌入式系统中,Linux因其灵活性和稳定性被广泛应用于智能家居和汽车电子系统。3)在桌面环境中,Linux提供了丰富的应用和高效的性能。

Flatpak 应用权限管理利器:Flatseal 使用指南 Flatpak 是一款旨在简化 Linux 软件分发和使用的工具,它将应用程序安全地封装在一个虚拟沙箱中,用户无需 root 权限即可运行应用程序,同时不会影响系统安全。由于 Flatpak 应用位于此沙箱环境中,它们必须请求权限才能访问操作系统的其他部分、硬件设备(如蓝牙、网络等)和套接字(如 pulseaudio、ssh-auth、cups 等)。本指南将指导您如何在 Linux 上使用 Flatseal 轻松配置 Flatpak

Linus Torvalds已发布Linux内核6.14释放候选6(RC6),报告没有重大问题并保持发布能力。此更新中最值得注意的更改地址是AMD Microcode签名问题,而其余更新
