ホームページ  >  記事  >  運用・保守  >  面白いお宝! 6 つのユニークで素晴らしい Linux ユーティリティ

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

PHPz
PHPz転載
2023-06-15 12:59:46911ブラウズ

/usr/bin を詳しく調査し、さらに興味深い宝物を発見します。少し古いように思えるかもしれませんが、今日でも非常に役立つ、ユニークで興味深いプログラムをいくつか紹介します。

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

1.fold

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

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

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

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

12345678

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

これで、テキストをすぐにテキストに合わせることができます。長さの制限。これは、長いテキスト ストリームを分割する場合、またはコードやその他の構成ファイルに行の長さ制限を課す場合に便利です。

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

2. column

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

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

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

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

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

onetwo three12 393139777777999999

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

ご覧のとおり、出力は自動的に整列した列にフォーマットされます。出力内に小さなテーブルが形成され、入力の各行の長さに応じて自動的にサイズが変更されます。

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

コラムの man ページ には、使用方法の詳細と、さまざまな入力を処理する独自の方法が記載されています。

3, sg

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

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

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

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

これにより、実行する ls コマンドが切り替わります。 sudo グループの権限を使用して。コマンドの実行が終了すると、実行前に持っていた通常のグループ権限に戻ります。

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

詳しい使用方法については、sg のマニュアル ページ を参照してください。

4, xxd

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

次の linuxmi という名前のファイルの 16 進ダンプを取得するとします。

linuxmi

入力を指定するだけで、xxd がファイルを自動的に stdout にエンコードします (短い入力ファイルの場合、これは便利なデフォルト関数):

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

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

追加のファイル名引数を渡すことで、出力をダンプ ファイルに直接送信することもできます:

xxd linuxmi 93139

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

これにより、16 進ダンプが 93139 という名前のファイルに送信されます。

xxd のマニュアル ページは ここ にあります。

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

以上が面白いお宝! 6 つのユニークで素晴らしい Linux ユーティリティの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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