GNU/Linux >> Linux の 問題 >  >> Linux

Linuxシステム管理者のためのいくつかの便利なツール

このガイドは、Linuxシステム管理者に役立つツールのリストを提供します。このリストには、セットアップして本番環境で使用するために急な学習曲線を必要とする複雑なプログラム(Ansible、Puppetなど)は含まれていません。ここに記載されているツールのほとんどは単なるスクリプトであり、リアルタイムでのインストールと使用が非常に簡単です。経験が限られている新進のLinux/Unixシステム管理者の場合は、これらのプログラムを使用して、作業を簡単かつ迅速に実行してください。これらのツールは常に役立つとは限りませんが、役立つツールもあります。

Sysadmin-utilについて

Sysadmin-util は、初心者のシステム管理者とユーザーがさまざまなタスクを実行するのに役立つスクリプトのコレクションです。

Sysadmin-utilは、次のスクリプトで構成されています。

  1. 慢性
  2. cidr2ip
  3. 崩壊
  4. 重複
  5. empty-dir
  6. Expand-ipv6
  7. フラッシュファイアウォール
  8. graphite_send
  9. ipaddr
  10. たぶん
  11. mk-passwd-hash
  12. マルチping
  13. mysql-slave-check
  14. pyhttpd
  15. ランドパス
  16. 以降
  17. スプレイ
  18. ssh-auth-types
  19. ssh-test
  20. ssl-expiry-date
  21. タイムアウト
  22. エラーが発生するまで
  23. 成功するまで
  24. ダウン時
  25. 起動時
  26. どのシェル
  27. ロック付き

先に進んで、これらのツールのいくつかをインストールして使用する方法を例とともに見てみましょう。

Linuxにsysadmin-utilをインストールする

すでに述べたように、ここにリストされているすべてのツールのインストールは簡単です。実際、インストールする必要はありません。リポジトリのクローンを作成して、すぐにツールの使用を開始してください。

$ git clone https://github.com/skx/sysadmin-util.git

上記のコマンドは、現在のディレクトリにあるSysadmin-utilリポジトリのすべてのコンテンツのクローンを作成します。そのディレクトリにCdして、任意のツールを実行します。とても簡単です!

Sysadmin-utilLinuxシステム管理者向けに次の便利なツールを提供します

このツールは、ファイルまたはディレクトリが人間が読める形式で変更されたのはどのくらい前かを知るのに役立ちます。

sysadmin-utilディレクトリにいることを確認してください:

$ cd sysadmin-util

ファイルまたはディレクトリがいつ変更されたかを確認するには、以下のようにそのパスを指定してください。

$ ./ago <path-to-file/directory>

例:

$ ./ago /home/sk/sysadmin-util/
/home/sk/sysadmin-util/ 23 hours ago
$ ./ago /etc/
/etc/ 3 days ago

ご覧のとおり、 / home / sk / sysadmin-util 23時間前に変更されました および/etc / ディレクトリは3日前に変更されます 。

関連記事:

  • Linuxでfswatchを使用してファイルの変更を監視する方法
  • Linuxでのアクセス、変更日時に基づいてファイルを検索して並べ替える

慢性

慢性ツールは、失敗しない限りコマンドを静かに実行します。つまり、コマンドを実行し、正常に完了するとSTDOUTとSTDERRを非表示にします。 cronジョブに役立ちます 。コマンドを静かに保ち、成功したときに偶発的な出力を含むメールを処理し、失敗したときに十分な出力を冗長化しない代わりに、常に冗長に実行し、chronicを使用して成功した出力を非表示にすることができます。

例:

次の行を使用する代わりに、新しいcronジョブを作成する場合;

0 1 * * * backup >/dev/null 2>&1

使用できるもの:

0 1 * * * chronic backup

Cidr2ip

CIDRブロックを構成要素のIPアドレスに変換します。

例:

$ ./cidr2ip 192.168.225.0/24
192.168.225.0
192.168.225.1
192.168.225.2
192.168.225.3
192.168.225.4
192.168.225.5
[...]

崩壊

折りたたみツールは、指定されたファイルから空白行と空白を含む行を削除します。

例:

$ echo -e "Linux is not an OS.\n It is a Kernel. \n\nGnu/Linux is the OS.\n\n\n\n" | ./collapse
Linux is not an OS.
It is a Kernel. 
Gnu/Linux is the OS.

デュープ

複製ツールは、同一のファイルを報告します。 SHA1ハッシュを介して再帰的に同じコンテンツを含む重複ファイルを見つけるのに役立ちます。

例:

$ ./dupes 
./.git/logs/HEAD
./.git/logs/refs/remotes/origin/HEAD
./.git/logs/refs/heads/master

関連記事:

  • Linuxで重複ファイルを見つけて削除する方法

空のディレクトリ

このツールは、指定されたディレクトリが空かどうかをテストします。

例:

次の例は、指定されたディレクトリが / home / sk / ostechnixであるかどうかを示しています。 空かどうか。

$ if ./empty-dir /home/sk/ostechnix; then echo "It is empty" ; fi
It is empty

ディレクトリが空でない場合、出力は表示されません。

Expand-ipv6

このツールは、指定された短縮/圧縮IPv6アドレスを完全な形式に拡張します。 DNSエントリを設定するときに便利です。

例:

$ ./expand-ipv6 fe80::a00:27ff:feff:d2e0
fe80:0000:0000:0a00:27ff:feff:d2e0

マルチping

これは、マルチプロトコルのpingラッパーです。 IPv6ホストかIPv4ホストかに関係なく、リモートホストの接続をテストするために使用されます。意味-リモートがIPv4を使用している場合、接続をテストするために「ping」コマンドを呼び出します。リモートホストがIPv6を使用している場合は、「ping6」コマンドを呼び出します。

マルチpingユーティリティにはNet::DNSが必要です perlモジュール。まだインストールしていない場合は、次のガイドを参照してください。

  • LinuxにPerlモジュールをインストールする方法

次に、以下に示すように、マルチpingツールを使用して任意のドメインにpingを実行します。

例:

$ ./multi-ping google.com
Host google.com - 216.239.36.117 - alive
Host google.com - 216.239.32.117 - alive
Host google.com - 216.239.38.117 - alive
Host google.com - 216.239.34.117 - alive
Host google.com - 2001:4860:4802:34:0:0:0:75 - alive

関連記事:

  • Linuxで一度に複数のホストにpingを実行する方法
  • 複数のサーバーにpingを実行し、出力をトップのようなテキストUIに表示する
  • きれいにする–Pingコマンドの出力をより美しく読みやすくする

Pyhttpd

これは、基本的なファイルサーバーを即座にセットアップできるシンプルなPythonHTTPサーバーです。

例:

 $ ./pyhttpd 8080
 Serving HTTP on 0.0.0.0 port 8080 ...

サーバーをすべてのインターフェースでリッスンするのではなく、ローカルホストのみにバインドできるようにする場合は、次のコマンドを実行します。

 $ ./pyhttpd 127.0.0.1:8080
 Serving HTTP on 127.0.0.1 port 8080 ...

関連記事:

  • simpleHTTPserverを使用して基本的なファイルサーバーをセットアップする方法

ランドパス

名前が示すように、randpassユーティリティは、コマンドラインからランダムなパスワードを生成するために使用されます。

例:

$ ./randpass 
Gb39KTBu

特定の長さのパスワードを生成するには、 -nを使用します フラグ。

$ ./randpass -n 15
Xa7ZMA38tfOt7O2

関連記事:

  • Linuxで強力なパスワードを生成するさまざまな方法

以降

最後にファイルが読み取られてからの新しいコンテンツが表示されます。ログファイルの追跡に役立ちます。

例:

apt history.logファイルの内容を削除します:

$ ./since /var/log/apt/history.log >/dev/null

次に、アプリケーションをインストールまたは削除します。 Vimエディターを削除します:

$ sudo apt remove vim

次に、history.logファイルの内容を確認します。

$ ./since /var/log/apt/history.log

Start-Date: 2020-01-28 11:52:59
Commandline: apt remove vim
Requested-By: sk (1000)
Remove: ubuntu-server:amd64 (1.417.3), vim:amd64 (2:8.0.1453-1ubuntu1.1)
End-Date: 2020-01-28 11:53:05

'since'ツールは、最後に実行されてからファイルに新しく追加されたコンテンツのみを表示します。コンテンツが追加されていない場合、このスクリプトはサイレントに終了し、出力は表示されません。

Ssl-expiry-date

指定されたドメインまたはホストのSSL証明書の有効期限が表示されます。

例:

$ ./ssl-expiry-date google.com
google.com
    Expires: Mar 31 15:47:12 2020 GMT
    Days: 63

スペースで区切って複数のドメインを指定することもできます:

$ ./ssl-expiry-date google.com ostechnix.com
google.com
    Expires: Mar 31 15:47:12 2020 GMT
    Days: 63
ostechnix.com
    Expires: Oct  9 12:00:00 2020 GMT
    Days: 254

証明書の残り日数のみを表示するには、 -dを使用します オプション:

$ ./ssl-expiry-date -d google.com ostechnix.com
google.com: 63
ostechnix.com: 254

タイムアウト

これにより、ユーザーは特定の間隔でコマンドを実行して強制終了できます。

例:

$ ./timeout -t 10 top

ご覧のとおり、上記のコマンドは10秒後に「top」コマンドを強制終了します。

10分10秒後にコマンドを強制終了します:

$ ./timeout -t 10:10 top

10時間10分10秒後にコマンドを強制終了します:

$ ./timeout -t 10:10:10 top

timeoutユーティリティはGNUcoreutilsの一部としてデフォルトで利用可能であることに注意してください パッケージ。したがって、おそらくsysadmin-utiパッケージからタイムアウトプログラムを実行する必要はありません。

関連記事:

  • Linuxで特定の時間コマンドを実行する方法
  • Linuxでコマンドまたはプロセスの実行時間を見つける方法
  • X秒ごとにLinuxコマンドを実行する方法
  • Linuxコマンドをキューに追加して1つずつ実行する方法

エラーが発生するまでなど、利用できるツールは他にもいくつかあります。 &成功するまで -失敗/成功するまでコマンドを繰り返します。ダウン時起動時 -ホストがダウン/アップするまで待機します。mysql-slave-check -現在のホストがスレーブであるかどうかを確認します。どのシェル -実行しているシェルなどを見つけます。

すべてのツールの詳細については、プロジェクトのGitHubページを参照してください。

  • Sysadmin-utilGitHubリポジトリ

Linuxのシステム管理者および初心者向けのその他の便利なツール

Sysadmin-utilとは別に、Linux / Unixのシステム管理者だけでなく、初心者にも役立つ可能性のあるツールが他にもたくさんあります。それらのいくつかについてはすでに説明しました。

1。コックピット-Webベースのシステム監視ツール

コックピット は無料のオープンソースのサーバー管理ツールであり、Webブラウザを介してLinuxサーバー(単一または複数)を簡単に監視および管理できます。これは、システム管理者がコンテナの起動、ストレージの管理、ネットワークの構成、ログの検査などの簡単な管理タスクを実行するのに役立ちます。 LinuxにCockpitをインストールして使用するには、次のリンクを確認してください。

  • コックピット–Webブラウザを介したLinuxサーバーの監視と管理

2。 Netutils-linux-Linux用のネットワークトラブルシューティングおよびパフォーマンスチューニングツール

Netutils-linux は、Linuxネットワークのトラブルシューティングとパフォーマンスの調整を簡素化するために使用できるPythonで記述された便利なユーティリティのコレクションです。これらのツールの詳細については、次のガイドを参照してください。

  • Linuxネットワークのトラブルシューティングとパフォーマンスの調整を簡素化するユーティリティのコレクション

3。 Moreutils-より便利なUnixユーティリティ

Linuxのシステム管理者であれば、GNUコアユーティリティについて間違いなく耳にするでしょう。 。すべてのLinuxディストリビューションにプリインストールされています。しかし、 Moreutilsはどうでしょうか ? moreutilsは、Unixライクなオペレーティングシステムにデフォルトで含まれていない便利なUnixユーティリティのコレクションです。これらのユーティリティは、Linuxサーバーでさまざまな操作を簡単かつ迅速に実行するのに役立つことがよくあります。詳細については、以下のリンクをご覧ください。

  • Moreutils –より便利なUnixユーティリティのコレクション

4。 Bash-スニペット-ヘビーコマンドラインユーザーに役立つBASHスクリプト

Bash-スニペット は、ターミナルに1日中住んでいるヘビーコマンドラインユーザーに役立つBASHスクリプトのコレクションです。あなたが住んでいる場所の天気をチェックしてみませんか?すばやく確認するためのスクリプトがあります。特定の株価は何ですか?そのためのスクリプトもあります。退屈しますか?あなたはいくつかのYouTubeビデオを見ることができます。すべてコマンドラインから!!重くてリソースを大量に消費するGUIアプリケーションをインストールする必要はありません。これらのスクリプトの使用方法については、次のリンクをクリックしてください。

  • ヘビーコマンドラインユーザー向けの便利なBASHスクリプトのコレクション

5。 Debian-goodies-Debianおよび派生物用のコマンドラインツール

Debian-goodies は、DEBベースのシステムに役立つユーティリティのさらに別のコレクションです。 moreutilsと同様に、Debian-goodiesも、デフォルトでは使用できないいくつかの追加の便利なコマンドを提供します。これらのツールを使用すると、システム管理者は次のようなかなりの数のタスクを実行できます。

  • どのプログラムがより多くのディスクスペースを消費しているか
  • システムの更新後に再起動する必要があるサービス
  • パッケージ内のパターンに一致するファイルを検索します
  • 検索文字列などに基づいて、インストールされているパッケージを一覧表示します。

これらのグッズの詳細については、次のリンクを確認してください。

  • Debian-goodies –DebianおよびUbuntuユーザー向けの便利なユーティリティのセット

6。マニュアルページのいくつかの良い代替案

マニュアルページはすばらしいです! それについては間違いありません。しかし、多くのマニュアルページは包括的であり、有用な例が不足しています。特定のオプションまたはフラグの詳細を見つけるために、マニュアルページ全体を調べなければならない場合があります。マニュアルページを使用して特定のUnixコマンドの実際的な例を学びたい場合、これは本当に時間のかかる作業です。もう違います!私は、他のすべての包括的なテキスト部分をスキップして、主に例に焦点を合わせたマニュアルページのいくつかの良い代替案を知っています。それらについて学ぶためにリンクするために以下を読んでください。

  • すべてのLinuxユーザーが知っておく必要のあるマニュアルページの優れた代替手段

7。 Cli-fyi-IP、電子メール、ドメインなどに関する情報を取得するためのコマンドラインツール

Cli.Fyi は、IP、電子メール、ドメイン、暗号通貨、メディア/ URL、UTC日付/時刻、国、プログラミング言語などに関する情報を取得するためのコマンドラインクエリツールです。以下に説明するように、コマンドラインまたはブラウザからこれらすべての詳細を取得できます。リンク。

  • Cli.Fyi – IP、メール、ドメインなどに関する情報を取得するためのCLIツール

8。 ExplainShell-Linuxコマンドの各引数を説明するWebベースのツール

ExplainShellは、マニュアルページを参照しなくても、Linuxコマンドラインの引数とオプションをすばやく簡単に学習したい人にとって素晴らしいリソースです。指定されたコマンドを分類し、Linuxコマンドの各部分が何をするかを説明します。 ExplainShell WebサイトにLinuxコマンドをコピーして貼り付けるだけで、Linuxコマンドの各部分の意味がすぐに表示されます。

  • ExplainShell –Linuxコマンドの各部分が何をするかを見つける

9。 Kmdr-ターミナルでCLIコマンドの説明を取得する

Kmdr ExplainShellに似ていますが、いくつかの追加機能があります。 ExplainShellは、Linuxコマンドのみを学習するのに役立ちます。しかし、Pythonなどの他のCLIコマンドを学びたい場合はどうでしょうか。 ExplainShellにはPythonコマンドの説明はありません。ここでKmdrが救いの手を差し伸べます。 Kmdrは、 ansibleを含む多くのCLIコマンドの説明を提供します 、コンダドッカー git 行く kubectl モンゴ mysql npm ルビーの宝石放浪者 bashに組み込まれているプログラムなどの何百もの他のプログラム 。いいですね?素晴らしい! Kmdrの使用方法については、次のリンクを確認してください。

  • Kmdr –ターミナルでのCLIコマンドの説明の表示

すでに述べたように、前述のツールのすべてが常に役立つとは限りません。一度に1つずつ試して、日常業務に何らかの形で役立つかどうかを確認してください。

これらのツールは、システム管理者だけでなく、Linuxコマンドラインのスキルセット全般を向上させたい人向けです。このリストには、さらに便利なツールとアプリケーションを追加していきます。このリストに他のツールを追加する必要があると思われる場合は、下のコメントセクションでお知らせください。それに応じてリストを確認して更新します。


Linux
  1. ライターのためのトップLinuxツール

  2. 信頼性の高いLinuxシステム自動化のための8つのヒント

  3. Linux のオーバークロック ツール

  1. 組み込みLinuxシステムを構築するための4つのツール

  2. SysAdmins用の80のLinux監視ツール

  3. 3システム管理者に役立つLinuxコマンド

  1. Linux管理者および開発者向けの40の便利なgitコマンド

  2. Linux用のCronジョブとCronジョブ用の10のベストオンラインツールを設定する

  3. Linux システム向けのベスト 20 のバイオインフォマティクス ツール