Linux で複数のコマンドを同時に実行する方法、Linux オペレーティング システムの講義コース アルマトイ

Linux で複数のコマンドを同時に実行する方法、Linux オペレーティング システムの講義コース アルマトイ

Linuxスキルは、多くのIT分野の求職者にとって共通の必須条件となっています。2023年現在、このOSの役割は著しく拡大しており、少なくとも管理の基本を理解することが不可欠です。Linuxスキルとは、コマンドラインを使用して問題を解決することを意味します。今回は、コマンドを一つずつ実行して停止する方法について解説します。これは、アルマトイで開催されるLinuxオペレーティングシステム講義コースの一部です。このコースは、2023年にカザフスタンでITスペシャリストになるための助けとなるでしょう。

アンパサンド (&) を使用してコマンドを順番に結合します。 Linux オペレーティング システムの講義コース アルマトイ

まず、ターミナルに1行で入力された複数のコマンドを区切り文字で区切って順次実行するように設定する方法を見ていきましょう。この場合、区切り文字としてアンパサンド " & " が使用されます。このメタ文字は、Linuxコマンドシェルのコンテキストで特別な意味を持ちます。アルマトイで開催されるLinuxセキュリティコースでは、メタ文字とは何か、そしてどのような働きをするのかをより詳しく説明します。このコースを受講することで、カザフスタンでITの仕事にすぐに就くことができます。

次に、アンパサンドを使用してコマンドをシーケンスに結合する方法を見てみましょう。新しいファイルを作成し、すぐにフォルダーの内容のリストを表示したいとします。もちろん、これは 1 つずつ行うこともできます。

  • まずコマンドを入力します タッチファイル1;
  • 次にコマンドを入力します ls新しく作成されたファイルが存在することを確認します。

しかし、同じ操作を1行で実行することもできます。`touch file1 & ls` と入力してください。すると、Enterキーを押した後、すぐにフォルダの内容の一覧が表示されます。その中に、 `file1`という名前のファイルが表示されます。

しかし、シェルが突然最初のコマンドを実行できなくなったらどうなるでしょうか?たとえば、ファイルを作成しようとしたときにアクセスが拒否された場合はどうなりますか?この例では、コマンドの組み合わせによってコンテンツのリストが表示されますが、その中には新しいドキュメントは表示されません。つまり、最初のコマンドが成功したかどうかに関係なく、2 番目のコマンドが実行されます。

ユーザーは、すべてのコマンドを一つずつ実行するだけでなく、前のコマンドが正常に完了した場合に次のコマンドも実行したい場合が多いことに注意してください。この場合、単一のアンパサンドを二重アンパサンド「&&」に置き換えるだけで十分です。そうすれば、キュー内のいずれかのコマンドが失敗した場合、以降の実行も中断されます。Linux torrent Almaty のコースでは、これについてさらに詳しく説明します。ただし、実際には、たとえばapt update コマンドapt upgradeコマンドを1 行で実行する場合などに、この方法が使用されています。

垂直バー (|) を使用してコマンドをパイプラインに結合します。

場合によっては、コマンドを順番に実行するだけでは不十分な場合があることに注意が必要です。あるコマンドの出力を別のコマンドで処理する必要がある場合もあります。幸いなことに、UNIX系のオペレーティングシステムでは、この目的のためにパイプが使用されます。Linuxのパイプラインでは、コマンドは縦棒(|)で区切られ、コマンドラインにリストされた順序で実行されます。

アンパサンドや二重アンパサンドを使用した単純な連結とは異なり、パイプラインの動作は異なります。

  • 最初のコマンドは、ユーザーが入力した引数とオプションを考慮して実行されます。
  • 最初のコマンドの結果として得られる出力は、2 番目のコマンドの入力に転送されます。
  • 2 番目のコマンドはユーザー指定のオプションを使用して実行されます。以下同様です。

典型的な例としては、 grepユーティリティを使ったコマンド出力のフィルタリングや、sortユーティリティを使ったソートが挙げられます。パイプラインを使用することで、ルーチン作業にかかる時間を短縮し、大規模なデータセットから重要な情報を抽出できるため、ファイル検索機能を備えたテキストエディタが不要になります。さらに、リアルタイムで生成されたデータをディスクに保存することなく処理できます。詳細については、SEDICOMM Universityプラットフォームのアルマトイで開催されるLinuxオンラインコースをご覧ください。

SEDICOMM大学チーム:Cisco AcademyLinux Professional InstitutePython Institute