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

システム管理者向けのトップLinuxコマンド

Linuxオペレーティングシステムは、システム管理タスクでユーザー、開発者、およびエンジニアを支援する無数のsysadminコマンドとユーティリティを提供します。たとえば、sysadminコマンドとパッケージは、ユーザーがアプリケーションを最適化または管理し、ネットワーク管理者またはシステム管理者に貴重なトラブルシューティング情報を提供するのに役立ちます。

これらのコマンドは、Linux開発環境、VM、コンテナー、およびベアメタルに適用されます。

sysadminのトップLinuxコマンド

この記事では、Linuxシステム管理に頻繁に使用されるいくつかの基本的なsysadminコマンドを、いくつかの実用的な例とともに確認します。

1。カール

Curlは、サーバーとの間でデータを転送するためのコマンドラインツールです。 FTP、FTPS、HTTP、HTTPS、IMAP、POP3、POP3S、RTMP、SMBS、SMTP、SMTPS、TELNETなどのプロトコルをサポートします。データベースなどの別のサービスへの接続またはエンドポイントをテストするために使用できます。

HTTP 500エラーのトラブルシューティング:

 $ curl -I -s my_app:5000 

ヘッダー情報を表示する-Iオプションと、応答本文を無音にする-sオプションを含めます。

ローカルホストからデータベースエンドポイントを確認します:

 $ curl -I -s my_database:27017HTTP / 1.0 200 OK 

200は、接続に問題がないように見えることを示します。

 $ curl my_database:27017curl:(6)ホスト'データベース'を解決できませんでした

このエラーは、データベースのURLが利用できないか、ホストシステム、コンテナ、またはVMにホスト名を解決するためのネームサーバーがないために、アプリがデータベースを解決できないことを示しています。

2。 ls

Lsはディレクトリ内のファイルを一覧表示します。または、ファイルのアクセス許可を調べるのに役立ちます。コンテナインフラストラクチャで使用して、コンテナイメージのディレクトリとファイルを決定することもできます。アクセス許可の問題が原因でアプリケーションを実行できない場合は、ls -lを使用してアクセス許可を確認してから、chmodを使用して適切なファイルアクセス許可を発行してください。また、ls -aなどのフラグと組み合わせてすべてのファイルを一覧表示したり、ls-Rを組み合わせてファイルとディレクトリを再帰的に一覧表示したりすることもできます。

 [tuts @ fosslinux dist] $ls-l-rwxr-xr-x。 1 tuts tuts 7292656 Jun 17 12:54 hello 
 [tuts @ fosslinux hello] $ ls -R 

3。 chmod

chmodコマンドを使用して、アプリケーションバイナリまたはファイルへのアクセス許可を設定します。まず、lsコマンドを使用してファイルのアクセス許可を確認してから、適切なアクセス許可を発行します。

ls -l:

を使用してファイルのアクセス許可を確認します
 [tuts @ fosslinux〜] $ls-l-rw-rw-r--。 1 tuts tuts 6 Jun 24 18:05 dingdong.py 

dingdong.pyファイルに実行権限を発行して、ユーザーが実行できるようにします。

 [tuts @ fosslinux〜] $ chmod + x dingdong.py [tuts @ fosslinux〜]ls-l-rwxrwxr-x。 1 tuts tuts 6 Jun 24 18:05 dingdong.py 

4。しっぽ

Tailは、ファイルの最後の内容を表示します。最近のリクエストのログを確認したい場合に便利です。たとえば、最新のログをサーバーに合わせます。

 $ sudo tail -f / var / log / httpd / error_log 

-fオプションは、ファイルに書き込まれるログ行を出力します。数秒ごとにエンドポイントにアクセスするバックグラウンドスクリプトがあり、ログにリクエストが記録されます。 -nオプションを使用して、ファイルの特定の行数を調整することもできます。

 $ sudo tail -n 3 / var / log / httpd / error_log 

5。 grep

grepを使用してファイルを検索し、特定のパターンを探して、別のLinuxコマンドの出力で関連する行を強調表示できます。たとえば、/ var / log / dnf.logで「CRITICAL」という行を検索するには:

 [tuts @ fosslinux〜]$grepクリティカルエラー/var/log/dnf.log

*を使用してディレクトリ内のすべてのファイルを検索し、-r(再帰)フラグを使用してサブディレクトリに検索を含めます。

 cd / var / log / $grep-r重大なエラー*

結果をパイプすることで、出力をgrepコマンドに分離することもできます:

 $ cat dnf.log | grepCRITICALエラー

6。 ps

psコマンドは、プロセスIDを調査し、実行中のプロセスのステータスを表示するために使用されます。このコマンドを使用して、実行中のすべてのアプリケーションを判別できます。

 [tuts @ fosslinux log] $ ps -ef 

パイプコマンドやgrepコマンドと組み合わせることもできます

 [tuts @ fosslinux log] $ ps -ef | grep httpd 

-uフラグを使用して、ユーザー名が所有するすべてのプロセスを表示します:

 [tuts @ fosslinux log] $ ps -u username 

auxフラグを使用して、PID、プロセスが使用しているCPU時間の割合(%CPU)、RAMの割合(%MEM)、使用されている仮想メモリ(VSZ)、物理メモリ(RSS)、など。

7。トップ

topコマンドは、プロセスアクティビティの順にシステムプロセスの継続的に更新されるリストを表示します。これを使用して、実行中のプロセスと、それらが消費するメモリとCPUの量を判別できます。

表示情報は、システムの概要とCPUアクティビティでソートされたプロセスのテーブルで構成されます。一部の情報には、システムの稼働時間、負荷平均、プロセス所有者(USER)、プロセスが使用しているCPU時間の割合(%CPU)、RAMプロセスが使用している割合(%MEM)、プロセスが使用した合計CPU時間(TIME [+ ])など。

topコマンドの実行中に複数のコマンドを発行することもできます。たとえば、hまたは?を押します。発行できるコマンドを表示するには、kでプロセスを強制終了し、zでグローバルカラーを表示し、qでトップを終了します。

8。 env

envコマンドは、環境変数を設定または表示するために使用されます。 envを使用して、間違った環境がアプリケーションの実行を妨げていないかどうかを確認します。

 $ envPYTHON_PIP_VERSION =20.2.2HOME =/ rootDB_NAME =my_databasePATH =/ usr / local / bin:/usr/local/sbinLANG=C.UTF-8PYTHON_VERSION=3.9.5 

9。 netstat

netstatは、システムまたはインフラストラクチャのネットワークステータスを表示します。これを使用して、ネットワークポートと着信接続を表示できます。プロトコル、ポート、プロセスなどの他のオプションと組み合わせて、システムアプリケーションが使用している現在のポートを示すことができます。

#netstat -tulpn 

10。 ip / ifconfig

ipコマンドは、一部のLinuxディストリビューションのifconfigを置き換え、ネットワークインターフェイスを構成または表示し、IPアドレス、ネイバーオブジェクト、およびルートを変更できます。これを使用して、ホストまたはコンテナのIPアドレスを確認することもできます。

「ipa」(アドレス)を使用して、すべてのネットワークインターフェースに関する情報を表示します。

 [tuts @ fosslinux] $ ip a 

「iplinksetdevice_name」コマンドを使用して、インターフェースを上下させます。

 [tuts @ fosslinux] $ ip link set eth0 up #bring up [tuts @ fosslinux] $ ip link set eth0 down #bring down 

11。 df

df(display free disk space)コマンドを使用して、ファイルシステムのサイズを確認し、ディスク容量の問題をトラブルシューティングします。コンテナホストのシステムに空き領域がないことを示すエラーメッセージを受け取った場合に役立ちます。

 [tuts @ fosslinux〜] $ df -h 

-hフラグは、人間が読める形式(MBおよびGB)で情報を表示します。デフォルトでは、dfコマンドはルートディレクトリの下にあるすべてのユーザーの結果を表示します。ただし、表示を特定のディレクトリに制限することはできます(つまり、df -h / tmp)

-xフラグを使用して、ファイルシステムを無視します。

 [tuts @ fosslinux] $ df -h -x tmpfs 

-tフラグを使用して、特定のファイルシステムタイプのみを一覧表示します。たとえば、表示専用のbtrfsファイルシステム:

 [tuts @ fosslinux] $ df -h -t btrfs 

–totalフラグを使用して、総計を表示します:

 [tuts @ fosslinux] $ df -h -t btrfs --total 

12。 du

duコマンドを使用して、ディレクトリ内のディスク領域を使用しているファイルに関する詳細情報を表示します。どのログが最も多くのスペースを占めるかを判断するのに役立ちます。たとえば、-h(人間が読める形式)および-s(概要)フラグを指定してduコマンドを実行します。

 [tuts @ fosslinux〜] $ sudo du -h / var / log 
 [tuts @ fosslinux〜] $ sudo du -hs / var / log1.5G / var /ログ

13。 dig / nslookup

digは、DNSクエリを実行するための優れたコマンドラインツールです。次の形式で使用されます:

dig<ドメイン><クエリタイプ>

はDNSサーバー名、<ドメイン>はドメイン名、<クエリタイプ>は知りたいレコード名(A、MX、NS SOA)です。 + shortフラグを使用して、詳細出力を抑制することもできます。
bing.comのAレコードを表示するには:

 [tuts @ fosslinux〜] $ dig bing.com + short13.107.21.200204.79.197.200 

bing.comのMXレコードを表示するには:

 [tuts @ fosslinux〜] $ dig bing.com MX +short10bing-com.mail.protection.outlook.com。

14。ファイアウォール-cmd

Firewall-cmdは、nftablesのユーザーフレンドリーなフロントエンドであり、多くのディストリビューションに付属しています。これにより、ユーザーは、コンピューターへの発信ネットワークトラフィックと着信ネットワークトラフィックの両方を管理するルールを設定できます。これらのルールは、ネットワークインターフェイス、サービス、または接続のネットワークセキュリティの信頼レベルを定義するゾーンにグループ化できます。 IPv4、IPv6、IPセット、およびイーサネットブリッジで動作し、簡単で直感的なコマンド構文を備えています。

現在のfirewalldゾーンを表示するには:

 [tuts @ fosslinux〜] $ sudo Firewall-cmd --get-active-zoneslibvirtinterfaces:virbr0 

–list-allフラグを追加して、各ゾーンで許可されているものを表示します。

 [tuts @ fosslinux〜] $ sudo Firewall-cmd --zone libvirt --list-all 

サービスを追加するには:

 $ sudo Firewall-cmd --add-service http --permanent $ sudo Firewall-cmd –reload 

ネットワークセキュリティを使い始めた場合は、firewalldを使用したネットワークセキュリティの管理に関する包括的なガイドを読んで、その他の例とコツを確認できます。

15。 systemctl

systemdはほとんどのLinuxディストリビューションで利用可能であり、systemctlコマンドを使用してsystemdサービスとユニットを管理できます。

サービスを開始するには:

 [tuts @ fosslinux〜] $ sudo systemctl start httpd 

サービスを停止するには:

 [tuts @ fosslinux〜] $ sudo systemctl stop httpd 

サービスステータスを確認します。

16。 kill and killall

killおよびkillallコマンドを使用して、暴走したプロセスを終了したり、一部のシステムリソースを解放したりできます。 SIGTERM(-15)またはSIGKILL(-9)シグナルをプロセスに送信して、プロセスを強制終了できます。 SIGTERM(ソフトキル)を使用すると、システムプロセスを終了する前に完了することができます。 SIGKILLはプロセスをすぐに終了します。

-lフラグを指定してkillを使用すると、プロセスに送信できるすべてのシグナルが表示されます。

 [tuts @ fosslinux〜] $ kill -l <​​/ pre> 

プロセスを強制終了するには、プロセスIDを確認してから、killコマンドを発行します。

 [tuts @ fosslinux〜] $ ps aux | grep httpd 

プロセスID1525のhttpdプロセスを強制終了するには:

 [tuts @ fosslinux〜] $ sudo kill -9 1525 

killallを使用して、名前でプログラムを強制終了します。親プロセスとすべての子プロセスを強制終了します。

 [tuts @ fosslinux〜] $ sudo killall httpd 

注:killコマンドとkillallコマンドは、システムを壊したり、不安定な状態のままにする可能性があるため、注意して使用してください。

17。歴史

historyコマンドは、セッションで使用したすべてのコマンドの履歴を表示します。たとえば、これを使用して、アプリケーションまたはシステムのトラブルシューティングに使用したコマンドをログに記録できます。

 [tuts @ fosslinux〜] $ history790 sudo Firewall-cmd --get-active-zones791 sudo Firewall-cmd --zone libvirt --list-all792 history 

使用する !再入力せずに再実行するためのコマンド番号を使用します。

 [tuts @ fosslinux〜] $!790sudo Firewall-cmd --get-active-zoneslibvirtinterfaces:virbr0 

まとめ

いくつかの基本的なsysadminコマンドを理解すると、アプリケーションのトラブルシューティング、問題の解決、システムの最適な実行の維持、システムセキュリティの確保、またはインフラストラクチャの問題を解決するためのsysadminとの効果的な通信に役立ちます。
これらのコマンドが役立つことを願っています。


Linux
  1. ネットワーク診断用の10のLinuxコマンド

  2. Linuxシステム管理者向けのトレーニングと認定

  3. Linux管理者向けのトップ10チュートリアル

  1. LinuxファンのためのFreeDOSコマンド

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

  3. 初心者向けの基本的な Linux コマンドのトップ

  1. 初心者のために試すべきトップ20のLinuxターミナルコマンド

  2. ネットワーク管理者のための50の便利なLinuxIPコマンド

  3. Linux用のトップ25Vimコマンド