このガイドは、Linuxシステム管理者に役立つツールのリストを提供します。このリストには、セットアップして本番環境で使用するために急な学習曲線を必要とする複雑なプログラム(Ansible、Puppetなど)は含まれていません。ここに記載されているツールのほとんどは単なるスクリプトであり、リアルタイムでのインストールと使用が非常に簡単です。経験が限られている新進のLinux/Unixシステム管理者の場合は、これらのプログラムを使用して、作業を簡単かつ迅速に実行してください。これらのツールは常に役立つとは限りませんが、役立つツールもあります。
Sysadmin-utilについて
Sysadmin-util は、初心者のシステム管理者とユーザーがさまざまなタスクを実行するのに役立つスクリプトのコレクションです。
Sysadmin-utilは、次のスクリプトで構成されています。
- 前
- 慢性
- cidr2ip
- 崩壊
- 重複
- empty-dir
- Expand-ipv6
- フラッシュファイアウォール
- graphite_send
- ipaddr
- たぶん
- mk-passwd-hash
- マルチping
- mysql-slave-check
- pyhttpd
- ランドパス
- 以降
- スプレイ
- ssh-auth-types
- ssh-test
- ssl-expiry-date
- タイムアウト
- エラーが発生するまで
- 成功するまで
- ダウン時
- 起動時
- どのシェル
- ロック付き
先に進んで、これらのツールのいくつかをインストールして使用する方法を例とともに見てみましょう。
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コマンドラインのスキルセット全般を向上させたい人向けです。このリストには、さらに便利なツールとアプリケーションを追加していきます。このリストに他のツールを追加する必要があると思われる場合は、下のコメントセクションでお知らせください。それに応じてリストを確認して更新します。