ホームページ  >  記事  >  システムチュートリアル  >  面白いお宝!あなたのための 6 つのユニークで素晴らしい Linux ユーティリティ

面白いお宝!あなたのための 6 つのユニークで素晴らしい Linux ユーティリティ

WBOY
WBOY転載
2024-02-13 21:42:16864ブラウズ

この記事では、/usr/bin の隠れた隅をさらに深く掘り下げ、さらに興味深い宝物を発見します。一見すると時代遅れに見えるかもしれないが、実際には現在でも非常に役立つ、ユニークで興味深いプログラムをいくつか紹介します。

冒険の道に戻り、Linux が提供してくれるさらに素晴らしいものを発見し続けましょう。

1、折りたたむ

まず第一に、入力行を特定の長さに折り返すのに役立つ非常に便利な小さなツールがあります。バイト数またはスペース数を指定して長さを定義できます。折りたたみツールを使用すると、さまざまな長さのファイルをすばやく処理できます。

たとえば、6 文字の長さの入力行があると仮定します。各行を 5 文字のみに制限し、残りを折り返す必要があります。フォールドを使用すると、次のコマンドでこれを実現できます:

リーリー

対応する出力は次のようになります:

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

これで、テキストを長さ制限内にすばやく収めることができます。これは、長いテキスト ストリームを分割したり、コードやその他の構成ファイルに行の長さ制限を強制したりする場合に便利です。

fold の使用方法の詳細については、wiki ページを参照してください。

#2、列

#これも非常に便利な書式設定ツールです。列ツールを使用すると、コマンド ラインからテキスト出力で列を作成したり、テーブル全体を生成したりすることができます。

同じ機能は awk などのツールを使用して実現できますが、列ツールはこの特定の目的のために設計されているため、使用が非常に簡単で、構文も覚えやすいです。

数行の入力に基づいて単純なテーブルを作成したい場合は、次のコマンドを実行できます:

リーリー

コマンドの出力は次のようになります:

リーリー

有趣的宝藏!6 个你独特而惊人的 Linux 实用工具ご覧のとおり、出力は自動的に整列した列にフォーマットされます。これにより、出力内に小さなテーブルが形成され、入力の各行の長さに基づいてサイズが自動的に変更されます。

このツールは、コマンド ラインで少し長い非構造化データ セットを操作していて、表形式のフォームをすばやく作成したい場合に非常に役立ちます。

column のマニュアル ページには、使用方法の詳細と、さまざまな入力を処理する独自の方法が記載されています。

3、sg

newgrp コマンドについて聞いたことがあるかもしれません。このコマンドは別のグループとしてコマンドを実行しますが、同じ機能を実現するより単純なユーティリティがあります。 sg ユーティリティを使用すると、指定した別のグループの権限でコマンドを直接実行できます。パイプを使用したり、既存のシェル グループを変更したりする必要はなく、グループとコマンドを指定するだけです。

sudo グループの権限で ls コマンドを実行するには、次のコマンドを入力します。

リーリー

有趣的宝藏!6 个你独特而惊人的 Linux 实用工具これにより、ls コマンドが sudo グループの権限で実行されるように切り替わります。コマンドの実行が終了すると、実行前に持っていた通常のグループ権限に戻ります。

sg コマンドは、新しいグループの権限をテストしたり、コンテキストをすばやく切り替えて別のグループのプログラムを実行したりする場合に非常に役立ちます。

4、xxd

xxd ユーティリティは、Linux で 16 進ダンプを実行する多くの方法の 1 つです。同様の機能を持つユーティリティは数多くありますが、xxd プログラムは少し異なります。このユーティリティを使用して 16 進ダンプと復元を実行できるという追加の利点もあります。構成可能なフラグが多数あり、バイナリに対してパッチ適用操作を実行することもできます。

linuxmi という名前の次のファイルの 16 進数ダンプを取得するとします。
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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlxlinux.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。