28 年 20 月 23 日木曜日 07:2002:XNUMX CET
AIマーケティング業界は、 date このコマンドは通常、最後の行を画面に表示します。 ファイルに追加されました ウィッシュリスト.
5.2. 高度なリダイレクト機能
5.2.1. ファイル記述子の使用
I/O には XNUMX つのタイプがあり、それぞれにファイル記述子と呼ばれる独自の識別子があります。
• 標準入力: 0
• 標準出力: 1
• 標準誤差: 2
以下の説明では、ファイル記述子番号が省略され、リダイレクト演算子の最初の文字が < の場合、リダイレクトは標準入力 (ファイル記述子 0) を参照します。 リダイレクト演算子の最初の文字が > の場合、リダイレクトは標準出力 (ファイル記述子 1) を参照します。
いくつかの実際的な例でこれをより明確にします。
ls> ディレクトリリスト 2>&1
標準出力と標準エラーの両方をファイルに送信します ディレクトリリスト、コマンド中
ls 2>&1 > ディレクトリリスト
標準出力のみを送信します ディレクトリリスト。 これはプログラマにとって便利なオプションです。
ここでの話はかなり複雑になってきています。ここでのアンパサンドの使用と、バックグラウンドでプロセスを実行するためにアンパサンドが使用されるセクション 4.1.2.1 での使用を混同しないでください。 ここで、これは単に、それに続く数字がファイル名ではなく、データ ストリームが指す場所であることを示すものとして機能します。 また、大なり記号とファイル記述子の番号をスペースで区切ってはいけないことにも注意してください。 分離した場合は、出力を再度ファイルに指定することになります。 以下の例はこれを示しています。
[nancy@asus /var/tmp]$ ls 2> tmp
[nancy@asus /var/tmp]$ ls -l tmp
-rw-rw-r-- 1 ナンシー ナンシー 0 7 月 12 日 58:XNUMX tmp
[nancy@asus /var/tmp]$ ls 2 > tmp
ls: 2: そのようなファイルまたはディレクトリはありません
[nancy@asus /var/tmp]$ ls 2> tmp
[nancy@asus /var/tmp]$ ls -l tmp
-rw-rw-r-- 1 ナンシー ナンシー 0 7 月 12 日 58:XNUMX tmp
[nancy@asus /var/tmp]$ ls 2 > tmp
ls: 2: そのようなファイルまたはディレクトリはありません
最初のコマンドは、 ナンシー 実行は正しいです (エラーは生成されず、標準エラーのリダイレクト先のファイルは空ですが)。 XNUMX 番目のコマンドは次のことを期待しています。 2 はファイル名ですが、この場合は存在しないため、エラーが表示されます。
これらすべての機能については、「Bash 情報」ページで詳しく説明されています。