実行結果をファイルに保存したい(>)
1$ コマンド > ファイル名 # 上書き
2$ コマンド >> ファイル名 # 追記
コマンドの実行結果は標準出力(stdout)と標準エラー出力(stderr)に分類されます。
デフォルトではこれらはターミナル画面に表示されますが、リダイレクトすることでファイルに保存できます。
>で上書き、>>で追記できます。
ファイルがない場合は、新規作成します。
標準出力を保存したい(1>)
1$ コマンド 1> ファイル名
2$ コマンド 1>> ファイル名
3$ コマンド > ファイル名 # 1> と同じ(短縮形)
4$ コマンド >> ファイル名 # 1>> と同じ(短縮形)
標準出力(/dev/stdout)のファイルディスクリプターはfd = 1に割り当てられています。
> は 1> の短縮形です。
標準エラー出力を保存したい(2>)
1$ コマンド 2> ファイル名
2$ コマンド 2>> ファイル名
標準エラー出力(/dev/stderr)のファイルディスクリプターはfd = 2に割り当てられています。
標準出力とは異なり、2> と 2>> は短縮形がありません。
標準出力と標準エラー出力を保存したい(&>)
1$ コマンド &> ファイル名
2$ コマンド &>> ファイル名
3$ コマンド > ファイル名 2>&1 # 別の方法
4$ コマンド >> ファイル名 2>&1 # 別の方法
標準出力(/dev/stdout)と標準エラー出力(/dev/stderr)の2つをリダイレクトしたい場合は、&>を使います。
別の方法として、2>&1 で標準エラー出力を標準出力にリダイレクトすることもできます。
標準出力を表示したくない(1> /dev/null)
1$ コマンド > /dev/null
2$ コマンド 1> /dev/null
リダイレクト先に/dev/nullを指定すると、出力を破棄できます。
標準エラー出力を表示したくない(2> /dev/null)
1$ コマンド 2> /dev/null
標準エラー出力のみを破棄したい場合は、2> /dev/nullを使います。