Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linux標準入出力チュートリアル

Linux標準入出力チュートリアル

  

Linuxでシェルコマンドラインを実行すると、通常3つの標準ファイル、標準入力ファイル(stdin)(通常は端末のキーボードに対応)、標準出力ファイル(stdout)と標準ファイルが開きます。エラーファイル(stderr)、どちらも端末の画面に対応します。プロセスは標準入力ファイルから入力データを取得し、標準出力データを標準出力ファイルに出力し、エラー情報を標準エラーファイルに送信します。

標準入力(stdin)ファイルのコードは0、標準出力(stdout)ファイルのコードは1、標準エラー(stderr)ファイルのコードは2です。 Linuxの大きな特徴は、標準入出力をリダイレクトできることです。

まず、出力のリダイレクト出力のリダイレクトとは、コマンド(または実行可能プログラム)の標準出力または標準エラーを指定のファイルにリダイレクトすることです。 >記号を使用してください。

例:1、#echo" hellohello"> 1.txt現時点では画面に出力はありません。現在のディレクトリに生成された1.txtファイルの内容は、echo出力文です。

次に、入力のリダイレクト入力のリダイレクトとは、コマンド(または実行可能プログラム)の標準入力を指定のファイルにリダイレクトすることです。つまり、入力はキーボードからではなく指定されたファイルから行われます。 <記号を使用してください。

例:1、#wc -l< /etc /passwdは、/etc /passwdファイルの行数を数えます。 wcコマンドの標準入力は/etc /passwdファイルからのものです。

3、追加使用の出力に移動してファイルにリダイレクトします。ファイルが既に存在する場合は、最初にファイルの内容を消去してから情報を書き込みます。元のファイルの内容を保持したい場合は、>>記号を使用して効果を追加できます。

例:1、#echo" test1> 2.txt#echo" test2>> 2.txt#cat 2.txttest1test2

4つの兼用ステアリング入力とステアリング出力の組み合わせは、より多くの機能を可能にします。

例:1、#cat< 1.txt> 3.txtは、catコマンドの標準入力が1.txtから来て、標準出力が3.txtに変わることを指定します。結果は3.txtと1.txtと同じです。

2、#cat> 4.txt< 3.txtは、catコマンドの標準出力が4.txtにリダイレクトされ、標準入力が3.txtからであることを指定します。結果は4.txtと3.txtと同じです。

上記の2つの例の効果は同じで、標準の入出力リダイレクトの順序がないことを示しています。

3、<< Symbol#cat> 6.sh<<< EOF>#!/bin /bash>エコー" hello world!"> EOF説明:>標準出力は6.shにリダイレクトされ、標準入力はデフォルトのキーボードからのものです。 <<記号はターミネータを定義するために使用されます一般的にEOFとして定義されている任意の文字をターミネータとして使用することができます。ここで、EOFに入力すると入力は終了です。

5、> /dev /null 2>& 1&どういう意味ですか?多くの場合、シェルスクリプトに表示されます。> /dev /null 2>& 1& 2説明:1)/dev /nullは空のデバイスを表します。 2)> /dev /nullは、前のコマンドが実行された後に標準出力をリダイレクトすることを意味します。これらはすべて空のデバイスにスローされます。 3)&は同等を意味し、2>& 1は2の出力リダイレクトが1と同等で、標準エラーを標準出力にリダイレクトすることを意味します。標準出力は/dev /nullにリダイレクトされているため/dev /nullにリダイレクトされます。 4)最後の&は背景が実行中であることを示します。

Copyright © Windowsの知識 All Rights Reserved