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

Linuxシステム管理者が頻繁に使用するLinuxコマンド–パート5

これは、「Linuxシステム管理者が頻繁に使用するLinuxコマンド」というタイトルの5部構成のシリーズの最後の部分です。 。これまで、Linuxのシステム管理者とパワーユーザーが定期的に使用する50を超えるコマンドについて説明してきました。パート1、パート2、パート3、およびパート4を参照してください。

この記事では、テキストファイルの編集、ファイルコンテンツの表示、システム診断、プロセスの強制終了、およびLinuxシステムで実行されるその他の管理タスクに頻繁に使用される別のコマンドセットとコマンドラインツールについて説明します。後で、5つの部分すべてを相互リンクし、カバーされているすべてのコマンドを要約する別のページも作成します。

Linuxデスクトップのパワーユーザーでも経験豊富なLinuxシステム管理者でも、
これらのコマンドを頻繁に使用していることに気付くでしょう。(パート5/5)

何年にもわたって、Linuxで物事を成し遂げる方法は複数あることがよくあります。たとえば、タスクを実行する1つの方法を学び、後で同じタスクを実行するためのより効率的な方法があることを確認します。そのようなケースの1つから始めましょう。

1。 vi –テキストエディタ。


vimエディターを使用してi3構成ファイルを編集します。

Linuxを初めて使用するときは、 nanoを使用することに惹かれるのが一般的です。 。これは、新しいユーザーの場合、初めてテキストファイルを編集しようとすると、システムのセットアップ中に行われることが多いためです。したがって、 viを開きます 初めて、経験がなく、通常は新しいシステムを探索し続けるためにできるだけ早く編集を完了することを望んでいます。そのため、viの使用をあきらめて、代わりに、より単純なテキストエディターであるnanoで編集を実行することを選択できます。ただし、時間の経過とともに、私たちの多くは最終的にnano(または他のGUIテキストエディター)からvi、vim、またはneovimに切り替えます。

まだ行っていない場合は、 vimを指定することを強くお勧めします 試してみてください!最初の10個ほどの重要なvim操作コマンドを学習することを目標にします。 (これがvimのチートシートです。)

2。 cat –ファイルの内容を表示します。

cat con catという単語から派生したコマンド enateを使用すると、ファイルを開かなくてもファイルの内容を表示できます。 catコマンドを使用して、テキストファイルの内容を他のファイルにリダイレクトしたり、新しいテキストファイルを作成したりすることもできます。 catの使用例を次に示します。 。

ファイルの内容を標準出力に出力するには、次を使用します。

cat file_name

複数のファイルをターゲットファイルに連結するには、次を使用します。

cat file_name1 file_name2 > file_name

ターゲットファイルにいくつかのファイルを追加します:

cat file_name1 file_name2 >> file_name

出力に行番号を表示するには、「 -n」を使用します ‘。

tac –ファイルの内容を逆に出力します。

ファイルを逆に印刷して連結するには、次を使用します。

tac file_name

反転したコマンドの出力を出力するには、次を使用します。

command | tac

3。 more –ファイルの内容を一度に1画面/ページ表示します。

catのように コマンド。テキストファイルの内容を表示できます。more コマンドは、テキストファイルの内容も表示します。主な違いは、大きなファイルでは cat コマンドは、ファイルの内容全体を表示しますが、 more コマンドは、出力を一度に1画面または1ページ表示します。

これにより、出力をよりわかりやすい形式でページングできます。これは、エラーログや、数千行に及ぶ可能性のあるその他のファイルに役立ちます。

moreを使用してファイルを開くには 使用:

more file_name

次を使用して、各ページに含める必要のある行数を設定できます。

more -10 file_name

次を使用して、特定の行番号からより多くの出力を開始できます。

more +20 file_name

catでmoreコマンドを使用できます 、例:

cat file_name | more

— Page Downするには、 を使用します bar。
—文字列タイプ「/yourquery」を検索するには

少ない –追加機能を備えたmoreコマンドに似ています。


pacmanのログファイルの出力が少なくなります。

これにより、 less 「少ないほど多い」と言うことを忘れないでください ?これはその典型的な例です。 moreと同様に、 less コマンドを使用すると、ファイルの内容を表示およびナビゲートできます。ただし、 A コマンドはBよりも高速です 開始する前に完全なファイルをロードする必要がないため、コマンド。また、ページアップ/ダウンを使用した双方向ナビゲーションも提供します および上/下矢印 キー。

要するに、もっと 少ない一方で、ユーザーフレンドリーではありません よりユーザーフレンドリーです。このため、またその速度と追加機能のために、ほとんどの場合、少ないコマンドを選択することをお勧めします。

lessでファイルを開くには 使用:

less file_name

—文字列タイプ / yourqueryの検索を転送するには 次に、 nを押します 次の試合に行くかN 前の試合に移動します。

—文字列タイプ?yourqueryを逆方向に検索するには 。

—ファイルの最後に移動するには、 Gを使用します 、 gを使用します 最初に進みます。

—現在開いているファイルの出力を追跡するには、 Fを使用します 。 ( tailに似ています 次に説明するコマンド)。

—現在のファイルをエディターで開くには、 vを使用します 。

この少ないコマンドのチートシートを確認してください。

4。 テール –テキストファイルまたはパイプされたデータの末尾を表示するために使用されます。

tail commandは、テキストファイルの末尾を表示するために使用されるコマンドラインユーティリティです。デフォルトでは、tailコマンドはファイルの最後の10行を返します。 tail を使用して、ファイルをリアルタイムでフォローすることもできます。 コマンドを使用すると、新しい行が保存されるときにログファイルを監視するのに最適です。

最後のxを表示するには ファイルの行数、使用:

tail -n x file_name

行番号x以降のすべての行を表示するには :

tail -n +x file_name

最後のxを表示するには ファイルのバイト数、使用:

tail -c x file_name

ファイルをリアルタイムで視聴するには(Ctrl + Cで停止)、次を使用します:
(または‘ -F ‘ファイルが回転しても読み続けるため)

tail -f file_name

最後のxを表示するには ファイル内の行を更新し、 xごとに更新します 秒、使用:

tail -n x -s x -f file

例:

tail -n 25 -s 5 -f /var/log/nginx/access.log

5。 dmesg –カーネルリングのメッセージバッファを出力します。


$ sudo dmesg –color =always |少ない-R

カーネルリングバッファ は、カーネルの操作にリンクされたシステムメッセージを記録するデータ構造です。名前が示すように、このバッファは常に一定のサイズのままであり、新しいメッセージが着信すると最も古いメッセージが削除されます。

Linuxを含むさまざまなUnixライクなシステムでは、ブートプロセスはカーネルメッセージの非常に高密度の出力を生成します。多くの場合、ハードウェアの故障などのシステム診断は、カーネルログの検査から始まります。 Dmesgを使用すると、カーネル自体のリングバッファからハードウェアデバイスとドライバのメッセージを確認および監視できます。これにより、dmesgはトラブルシューティングに非常に役立ちます。

たとえば、リアルタイムでトラブルシューティングするには、次を使用できます。

dmesg --follow

これはtailと同様に機能します 指図。上記のコマンドを実行した後、USBデバイスのプラグを抜き差ししたり、WiFiまたはイーサネット、およびトラブルシューティングしたいその他のハードウェアデバイスに接続したりできます。

エラーメッセージと警告メッセージのみを表示するには、次を使用します:

dmesg --level=err,warn

USB関連のメッセージの完全なリストを表示するには、 dmesgを発行します grepを使用したコマンド 「USB」の場合:

dmesg | grep -i usb

役立つ読み物:dmesgの説明。

journalctl –systemdジャーナルにクエリを実行します。

Systemdには、ジャーナルと呼ばれる独自のログシステムがあります。 。これらのログを読み取るには、journalctlが使用されます。たとえば、 journalctlを使用してカーネルメッセージのみを表示するには -kを追加できます または–dmesg コマンドへのフラグ:

journalctl -dmesg

ジャーナル(journald)は、ログをプレーンテキストで保存していた過去のサービスとは異なり、ログデータをバイナリ形式で保存します。そのため、 journalctl バイナリログを読み取り可能なプレーンテキストに変換するために使用されます。 journalctlを使用するための究極のガイドをご覧ください。

もう1つの良い読み物はkmsgです。 Kmsg(/ dev / kmsg)は、Linuxファイルシステムに保存され、カーネルからのメッセージを保存するために使用されるファイルであり、dmesgとklogdによって使用されます。

6。 kill –プロセスを終了します。

場合によっては、アプリケーションまたはコマンドラインプロセスの実行を停止する必要があります。このために、LinuxなどのUnixライクなシステムは、 killと呼ばれるコマンドラインツールを提供します。 。 killコマンドについては、「非アクティブなSSHセッションを強制終了する方法」の記事で部分的に説明されています。最初のステップは、強制終了するプロセスのPID(プロセスID)を見つけることです。このために、top、htop、ps、pstree、およびその他のツールを使用して、停止するPIDを見つけることができます。

利用可能なすべてのkillシグナルを一覧表示するには、次を使用します:

kill -l <​​/ P>

[hydn@alien ~]$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
...

例として、PIDが3649のスタックしたプロセス(9 SIGKILL)を強制終了する場合は、次のコマンドを使用できます。

kill 3649

または

kill sigkill 3649

または

kill -9 3649

コマンドチートシートを強制終了します。

killall –プロセスのすべてのインスタンスに名前でkillシグナルを送信します。

使用可能な信号名を一覧表示します(「SIG」プレフィックスなしで使用):

killall --list

デフォルトのSIGTERM(終了)シグナルを使用してプロセスを終了するには、次を使用します。

killall process_name

終了前にインタラクティブに確認を求めるには、次を使用します:

killall -i process_name

プロセスを強制的に強制終了するには、次を使用します:

killall -KILL process_name

7。 sleep –指定された時間プログラムの実行を一時停止します。

sleep コマンドライン引数の値で指定された時間だけ一時停止します。

構文:

sleep NUMBER[SUFFIX]

睡眠を使用するための便利な方法は何百もあります。時限遅延が必要な場合はいつでも使用できます。たとえば、起動時に、sleepを使用して特定のプロセスの起動を遅らせたり、sleepを使用して特定の時間遅延後にコマンドを実行したり、sleepを使用して遅延させたり、リソースを大量に消費するスクリプト間に遅延を追加したりできます。タスクなど。デフォルトの時間値は秒単位ですが、「 m」を使用することもできます。 ‘数分間、‘ h ‘何時間も、‘ d ' 数日間。覚えて; cronについても説明しました パート3で。

また、 waitもご覧ください。 コマンド。

8。 nohup –バックグラウンドでコマンドを実行します。

nohup ハングアップなしの略です 。通常、ターミナルまたはリモートsshセッションを終了すると、開始したコマンドラインプロセスも終了します。 nohupコマンドは、ターミナルを終了したり、リモートSSHセッションからログアウトしたりした場合でも、プロセスをバックグラウンドで実行し続けるための便利なソリューションです。

コマンド構文:

nohup [command] [options]

次に例を示します:

[root@host ~]# nohup ./backup.sh 
nohup: ignoring input and appending output to ‘nohup.out’
[root@host ~]#

デフォルトでは、nohupは出力を nohup.outに保存します 。その出力を停止したい場合は、以下を使用してください:

nohup ./backup.sh >/dev/null 2>&1 &

画面 –リモートサーバーでセッションを開いたままにします。 (フルスクリーンウィンドウマネージャーでもあります)

nohupの代わりとして 、 screenを使用できます 。 Screenはターミナルマルチプレクサ(複数の仮想コンソールを多重化するために使用)であり、ユーザーは単一のターミナルウィンドウ内で個別のログインセッションにアクセスしたり、ターミナルからセッションを切り離して再接続したりできます。

学習画面:

  • 画面マニュアル。
  • 画面マニュアル(pdf)
  • 画面の虎の巻。
  • 画面のクイックリファレンス。

また、 tmuxも参照してください。 。

9。 passwd –ユーザーのパスワードを変更します。

これは、パスワードを頻繁に変更するために使用する必要があるコマンドです。 passwd コマンドは、ユーザーのパスワードを変更するために使用されます。入力されたパスワードは、新しいパスワードのハッシュバージョンを作成するために鍵導出関数によって使用されます。ハッシュされたパスワードのみが保存されます。プレーンテキストのパスワードは保存されません。

現在のユーザーのパスワードをインタラクティブに変更するには、次を使用します。

passwd

現在のユーザーのパスワードをすぐに変更するには、次を使用します。

passwd new_password

指定したユーザーのパスワードを変更するには、次を使用します:

passwd username new_password

ユーザーの現在のパスワードステータス/日付を取得するには、次を使用します:

passwd -S

また、 chpasswordも参照してください。 。

10。マウント–1つのディレクトリ内のファイルシステム全体へのアクセスを提供します。

マウント コマンドは、ファイルシステムを使用する準備ができていることをLinuxオペレーティングシステムに指示し、ファイルシステムをファイルシステムの特定の「マウントポイント」に関連付け、そのアクセスに関連するオプションを設定します。マウントすると、ファイルシステム、ファイル、ディレクトリ、およびデバイスを使用できるようになります。

マウントされているすべてのファイルシステムを表示するには、次を使用します。

mount

/ etc / fstabで定義されているすべてのファイルシステムをマウントするには 、使用:

mount -a

マウントおよびマウントコマンドの学習:

    ファイルシステムのマウントとアンマウントを制御する– IBM
  • ファイルシステムのマウント– Redhat

また、 umountも参照してください。 。

パート1〜5でカバーされていない追加の頻繁に使用されるLinuxコマンド:

  • systemctl –サービスの管理(デーモン)|システムの理解と管理。
  • クリア –端末の画面をクリアします。
  • env -変更された環境でコマンドを実行します。
  • ここでの提案(コメントで追加)

結論

このシリーズには80以上のコマンドが含まれています!このシリーズのパート5で上記にリストされているコマンドの約半分には、代替コマンドが含まれています。これがLinuxをスリル満点にするものであり、同じタスクを実行するために利用できる多くのオプションがあります。これにより、お気に入りのLinuxデスクトップディストリビューションやお気に入りのLinuxサーバーディストリビューションにもかかわらず、選択したLinuxディストリビューションを本当に本当に快適に使用できます。

次に、追加のコマンド、Linuxのヒント、およびLinuxのパフォーマンスに関連する別のシリーズの記事を投稿します。このような記事を楽しんでいる場合は、購読して共有してください。ありがとう!

<前へ– Linuxシステム管理者が頻繁に使用するLinuxコマンド–パート4


Linux
  1. 例を含む10以上のLinuxVIコマンド

  2. Linux でのコマンド例

  3. すべての Linux 圧縮/解凍コマンド

  1. 頻繁に使用される40の基本的なLinuxコマンド

  2. Linuxコマンドを知っている必要があり、WindowsでPodmanを実行し、システム管理者向けのその他のヒント

  3. Linux で select が使用される理由

  1. 上位の1行のLinuxコマンド、VMイメージのカスタマイズ、およびシステム管理者向けのその他のヒント

  2. Linux –リアルタイムのファイル同期?

  3. 使用中のファイルの切り捨て (Linux)