0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

6个Linux 实用工具

dyquk4xk2p3d 来源:良许Linux 2023-05-30 09:18 次阅读

在本文中,我们将更深入地挖掘 /usr/bin 的隐秘角落,并发现一些更加有趣的宝藏。我们将探索一些独特而有趣的程序,乍一看可能似乎已经过时,但实际上在今天仍然非常有用。 让我们重上探险之路,继续发现 Linux 为我们提供的更多精彩之处。

1、fold

首先,我们有一个非常有用的小工具,它可以帮助您将输入行按照特定的长度进行换行。您可以通过指定字节数或空格数来定义长度。使用 fold 工具,您可以快速处理具有不同长度的文件。 例如,假设我们有一行输入,长度为六个字符。我们希望将每行限制为只有五个字符,并将剩余部分换行。使用 fold,我们可以使用以下命令实现:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ echo "12345678" | fold -w 7
相应的输出应为:
1234567
8
9574aaf0-fe80-11ed-90ce-dac502259ad0.png 现在我们可以快速将一些文本符合我们的长度限制。这对于将长文本流分解或对代码或其他配置文件强制施加行长度限制非常有用。 详细了解使用 fold 的更多细节,请查看维基页面。

2、column

这是另一个非常有用的格式化工具。column工具可以帮助您在文本输出中创建列,甚至生成整个表格,所有这些都可以通过命令行完成。 虽然使用awk等工具也可以实现相同的功能,但 column工具专为此特定用途而设计,因此使用起来非常简单,而且记住其语法也很容易。 如果我们想根据几行输入构建一个简单的表格,可以执行以下命令:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ echo -e "one two three
1 2 3
93139 777777 999999" | column -t
该命令的输出应如下所示:
one    two     three
1      2       3
93139  777777  999999
9597a67c-fe80-11ed-90ce-dac502259ad0.png 正如您所见,输出被自动格式化为整齐对齐的列。这在输出中形成了一个小表格,并且会根据每行输入的长度自动调整大小。 如果您在命令行上处理稍长的非结构化数据集,并希望快速创建一些表格形式,这个工具将会帮上大忙。 column 的 man 页面提供了更多用法细节和处理不同输入的独特方法。

3、sg

您可能听说过 newgrp 命令。该命令以其他组的身份执行命令,但是有一种更简单的实用程序可以实现相同的功能。sg 实用程序允许您使用指定的另一个组的权限直接执行命令。您不需要使用管道或更改现有的 Shell 组,只需指定一个组和一个命令即可。 要使用 sudo 组的权限执行 ls 命令,可以输入以下命令:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ sg sudo ls
95bfdc96-fe80-11ed-90ce-dac502259ad0.png 这将切换 ls 命令以使用 sudo 组的权限运行。一旦命令执行完毕,您将返回到执行前的正常组权限。 sg 命令对于测试新的组权限或快速切换上下文以从另一个组运行程序非常有帮助。

4、xxd

xxd 实用程序是在 Linux 上执行十六进制转储的众多方法之一。有许多具有类似功能的实用程序,但 xxd 程序略有不同。它的附加优势在于您可以使用此实用程序进行十六进制的转储和还原。还有许多可配置的标志,您还可以对二进制文件执行修补操作。 假设我们想对以下名为 linuxmi 的文件进行十六进制转储:

linuxmi
我们只需提供输入,xxd 将自动将文件编码到 stdout(对于较短的输入文件,这是一个很方便的默认功能):
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ xxd linuxmi
00000000: 6c69 6e75 786d 690a
95e58414-fe80-11ed-90ce-dac502259ad0.png 您还可以通过传递一个额外的文件名参数来直接将输出发送到转储文件:
xxd linuxmi 93139
96002fd0-fe80-11ed-90ce-dac502259ad0.png 这将将十六进制转储发送到名为 93139 的文件中。 xxd 的 man 页面可以在此处找到。

5、pwdx

这个方便的小实用程序来自于我们都熟悉和喜爱的古老 ps 实用程序家族。pwdx 实用程序可以让您获取运行中进程的当前工作目录。您只需要将进程的 PID 传递给它,它就会告诉您该进程的工作目录在哪里。 假设我们想找出 cron 进程在我们的机器上的工作目录。首先,我们只需要使用 ps 搜索并找到它的 PID,像这样:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ ps aux | grep cron
964403a4-fe80-11ed-90ce-dac502259ad0.png 在这里,我们可以看到cron的PID是612。现在,我们只需要将该进程的PID传递给pwdx来确定其工作目录,像这样:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ sudo pwdx 691
如下图: 966ddd8c-fe80-11ed-90ce-dac502259ad0.png 由于cron是系统进程,您需要使用sudo才能获取有关它的信息。命令完成后,我们得到了cron的当前工作目录,即 /var/spool/cron。
这可以是一个非常有价值的故障排除工具,特别是当您追踪目录范围问题时。通过使用 pwdx 进行快速检查,您可以准确地确定一个进程认为它应该从哪个位置运行。 在这里查看 pwdx 的 man 页面。

6、write

这个强大的小程序可能不会像您一开始想的那样执行某个特定任务。它在 Linux 中已经存在了几十年,甚至可以追溯到 1975 年 Unix 的第 6版。 write 实用程序实际上允许您向同一系统上的其他用户发送消息。您可以针对任何其他登录的用户发送消息。提供用户名,您将进入一个交互式shell,以向他们写任何您想要的文本。您键入的所有内容(包括换行符)都将出现在目标用户的控制台上。 这里是一个快速示例:

write <用户名>
这将使您进入一个交互式控制台,以向相应的用户发送消息。请记住,这是一种相当侵入性的与其他用户通信的方式。这将使他们的终端显示您输入的文本,而无需任何警告或提示。对他们来说,这将出现在他们的终端上,就像自动出现的信息一样。由于这是单向通信,他们也无法回复。 尽管现在有更好的方法来处理用户之间的消息传递,但这是计算历史的一部分。我相信今天仍然可以有一些创造性的用途。
审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206734
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79541
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66767

原文标题:有趣的宝藏!6 个你独特而惊人的 Linux 实用工具

文章出处:【微信号:良许Linux,微信公众号:良许Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    matlab的实用工具命令

    matlab的实用工具命令实用工具 Abcdchk  检测(A、B、C、D)组的一致性 Chop 取n重要的位置 Dexresp 离散取样响应函数 
    发表于 09-22 15:56

    申请实用工具软件版主!【申请通过】

    标题:申请实用工具软件区版主会员ID:jianqian1991年龄:20注册日期:忘记了!申请日期:2010-04-27申请版块:实用工具软件特长及爱好:篮球,电影申请理由:无!每天都到这里下资料!问问题!总不能没点贡献!自学阶段没有技术!只想申请个
    发表于 04-27 09:10

    51单片机实用工具

    51单片机实用工具
    发表于 12-20 22:36

    LabVIEW实用工具***宝典课件

    不知道有没有人上传过《labview实用工具详解》和宝典配合真的很赞,不过只有前几章,我是从图书馆借的书,大家可以买一本
    发表于 01-25 22:40

    Labview实用工具详解 代码下载

    本帖最后由 tòrγㄚ 于 2015-7-8 10:10 编辑 Labview实用工具详解 代码下载
    发表于 06-30 15:43

    LabVIEW实用工具详解简版.pdf

    LabVIEW实用工具详解简版[url=https://bbs.elecfans.com/forum.php?mod=attachment&aid=MjcwNTU1fDk1ZTc1NWUyfDE0MzgwNDM5Nzl8MTM3MTg4fDUwMjI1MQ%3D%3D][/url]
    发表于 07-28 08:34

    Labview实用工具详解 电子书下载

    点击学习>>《龙哥手把手教你学LabVIEW视觉设计》视频教程Labview实用工具详解
    发表于 12-14 15:02

    labview实用工具详解 配套程序

    labview实用工具详解 配套程序
    发表于 10-22 01:04

    uartassist串口调试助手_实用工具

    uartassist串口调试助手_实用工具,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-17 11:16 39次下载

    多种电子工程师实用工具大全

    本文主要介绍了多种电子工程师实用工具大全.
    发表于 06-27 08:00 135次下载
    多种电子工程师<b class='flag-5'>实用工具</b>大全

    windows启动修复实用工具免费下载

    本文档的主要内容详细介绍的是windows启动修复实用工具免费下载。
    发表于 12-10 08:00 1次下载
    windows启动修复<b class='flag-5'>实用工具</b>免费下载

    半桥隔直电容的简单计算实用工具免费下载

    本文档的主要内容详细介绍的是半桥隔直电容的简单计算实用工具免费下载。
    发表于 03-06 08:00 20次下载
    半桥隔直电容的简单计算<b class='flag-5'>实用工具</b>免费下载

    LLC计算的实用工具应用程序免费下载

    本文档的主要内容详细介绍的是LLC计算的实用工具应用程序免费下载。
    发表于 03-31 08:00 84次下载
    LLC计算的<b class='flag-5'>实用工具</b>应用程序免费下载

    LabVIEW实用工具详解电子版资源下载

    LabVIEW实用工具详解电子版资源下载
    发表于 09-12 09:38 0次下载

    如何使用 Python 来创建一些强大的应用和实用工具

    本文将探讨如何以 Zynq UltraScale 器件上的 IP 核为目标,使用 Python 来创建一些强大的应用和实用工具。此处提供了一个程序包,供您用于读取设备树和访问 IP 核。此外还提供一个实用工具,用于读取物理寄存器和开关 LED。
    发表于 09-08 10:23 561次阅读