Linuxスキルは、プログラマブルネットワークおよびシステムスペシャリストの育成において不可欠な要素です。2023年現在、この職業はIT業界で最も習得しやすい職業の一つと考えられていることは注目に値します。同時に、他の業界ではなかなか見つけられないような機会を新人にも提供しています。今回は、バクーのDevOps / DevNetオンラインコースで扱われる重要なトピック、テキストストリームのリダイレクトについて解説します。この知識がなければ、IT業界で仕事を見つけるのは難しいでしょう。
標準テキスト ストリーム、オンライン DevOps / DevNet コースとは何ですか Baku
まず、Linuxにおけるテキストストリームとは何か、そしてオペレーティングシステムがなぜそれらを使用するのかを見ていきましょう。これはもちろん、コマンドラインインターフェース(CLI)の使用に関するものです。GUI (グラフィカルユーザーインターフェース)では、プロフェッショナルが必要とするすべての機能を提供することはできません。さらに詳しく知りたい場合は、 SEDICOMM Universityプラットフォームで提供されているDevOps / DevNet Bakuオンラインコースを受講することをお勧めします。
CLIでは、コマンドシェルとのテキストベースの情報交換によって作業が行われます。ユーザーはキーボードからコマンドを入力し、シェルはそれを処理し、結果(またはエラー報告)をコンソールに出力します。Linuxがテキストストリームを使用するのはまさにこのためであり、テキストストリームには次の3種類があります。
- stdin (ストリーム 0) - 標準入力。
- (Linuxで言うところのstdout) (ストリーム 1) - 標準出力。
- stderr (ストリーム 2) - 標準エラー出力。
ユーザーがキーボードからコマンドを入力するたびに、標準入力ストリーム0(stdin )を使用して対応するユーティリティにデータが渡されます。ユーティリティがコマンドの結果をコマンドラインに返すたびに、標準出力ストリーム1(stdout )が使用されます。
しかし、これはエラー出力には当てはまりません。上記のように、エラー出力には独自の出力ストリームがあります。プログラムがエラーに遭遇するたびに、標準エラー出力ストリームを介してCLIにエラーを報告します。これが、 Linuxの標準エラー出力システムの仕組みの要点です。もちろん、 Baku DevOps/DevNetエンジニアコースを受講する前に、この仕組みについて理解を深めておくことをお勧めします。
Linux でテキスト ストリームをリダイレクトする方法
Linuxに存在するテキスト ストリームがわかったので、それらをリダイレクトする方法に進みましょう。これらのスキルは、Baku DevOps/DevNet コースを受講予定の方にとって不可欠です。まずは、ストリーム 0(標準入力)のリダイレクトから始めましょう。
コマンド入力をリダイレクトするには、コマンドの後に「 < 」(小なり記号)を付けます。次に、標準入力の代わりにデータを取得するソースを指定します。たとえば、テキストファイルの名前、または相対パスや絶対パスなどです。
ほとんどの場合、ファイル名を引数として指定すると、コマンドは独自にファイルからデータを取得する方法を「知っている」ことに注意してください。ただし、この例を使用すると、テキスト ストリームがどのように構造化されているかをよりよく理解できます。そして、それらはどのようにして Linux にリダイレクトされるのか。
それでは、ストリーム1(標準出力)をリダイレクトしてみましょう。この手法は、より幅広い用途に活用できることに注目してください。例えば、必要なコンテンツを含むファイルを素早く作成したり、既存のファイルに新しい行をわずか数ステップで追加したりするのに役立ちます。
標準出力をリダイレクトするには、コマンドの後に大なり記号(>)を付け、ファイル名を指定します。たとえば、`echo "Hello" > filename` と入力すると、` filename` という名前のファイルが作成され、その内容は「Hello」となります。ただし、このコマンドを再度入力すると、既存のファイルは上書きされます。一方、`echo "Hello" >> filename` と入力すると、既存のファイルの末尾に「Hello」という単語を含む新しい行が追加されます。
標準エラー出力のリダイレクトも同様の手順で行えることに注意してください。唯一の違いは、「>」記号の前にスペースを入れずに数字の「2」を付ける必要があることです。詳細については、 SEDICOMM Universityのコースにご登録ください。
SEDICOMM大学チーム:Cisco Academy、Linux Professional Institute、Python Institute。

