Linux端末でコマンド出力をファイルに保存する方法
Linuxのターミナルでコマンドやスクリプトを実行すると、その出力がターミナルに表示され、すぐに確認することができます。
時には、将来参照するために出力をファイルに保存する必要があります。 もちろん、Linux端末からコピー&ペーストすることも可能です しかし、Linuxのコマンドラインからシェルスクリプトやコマンドの出力を保存する、より良い方法があります。
方法1:リダイレクトを使ってコマンド出力をファイルに保存する
あなたは Linuxでリダイレクトを使用して実現する . redirect演算子を使うと、出力を画面に表示するのではなく、ファイルに保存してくれます。
-
>
は、コマンド出力をファイルにリダイレクトし、ファイル内のすべてを置き換えます。 -
>>
は、コマンド出力をファイルの既存の内容の最後に追加します。
標準出力リダイレクト演算子を使用する
>
出力をファイルにリダイレクトする。
コマンド > file.txt
もし
file.txt
が存在しない場合は、自動的に作成されます。もし
>
を使用して同じファイルに再度リダイレクトすると、 ファイルの内容が新しい出力に置き換えられます。
次の例は、それをよりよく示すものです。この例では、まず
ls -l
コマンドの出力を使用します。
ls *.c
コマンドの出力でファイルの内容を置き換えます。
スクリプトやコマンドの出力を保存する際に、既存のファイルの内容を失いたくない場合には
>>
:
コマンド >> file.txt
次の例は、よりよくそれを示しています。
ファイルが存在しない場合でも、自動的に作成されます。
ヒント:Linuxのコマンド出力とエラーをファイルに保存します。
Linux コマンドがエラーを返した場合、そのエラーはファイルには保存されません。そのため
2>&1
を使用すると、次のように、コマンドの出力とエラーを同じファイルに保存することができます。
コマンド > file.txt 2>&1
一般的に
0
は標準入力を表し
1
は標準出力を表し
2
は標準誤差を表します。ここでは、標準エラー(
2
) リダイレクト (
&
) を標準出力にする (
1
) を標準出力と同じアドレスにコピーします (
方法2:teeコマンドを使用して出力を表示し、ファイルに保存する
ところで、コマンドの出力をファイルに送ると、ターミナルでその出力を見ることができなくなることにお気づきでしょうか? Linux用teeコマンド はこの問題を解決してくれます。
ティーに双方向に水を送るのと同様に
tee
コマンドは、出力をターミナルに送ると同時に、ファイルにも送ります(または、他のコマンドの入力として送ります)。こんな風に使うことができます。
コマンド | tee file.txt
ここでも、ファイルが存在しない場合は、自動的に作成されます。
また
tee
コマンド
-a
オプションで追加モードに入ります。
コマンド | tee -a file.txt
簡単な例で実演してみましょう。
私の例では、簡単なLinuxのコマンドを使いました。しかし、これらの方法を用いてbashスクリプトの出力を保存することもできますので、ご安心ください。
注意:コマンドの出力をファイルに保存する場合、パイプトラップは避けてください。
パイプリダイレクトはよく知られていて、Linuxのコマンドを組み合わせるのに使うことができますが、出力をファイルにパイプすることはできません。
output.txt
コマンドを使用します。
これは、パイプがあるコマンドの出力を別のコマンドの入力にリダイレクトするためです。この場合、パイプにファイル名を渡すと、パイプはコマンドを期待します。
もしあなたがLinuxのコマンドラインに慣れていないなら、このクイックチュートリアルがあなたのLinuxの知識の助けになることを願っています。 I/Oリダイレクション は、基本的な考え方として覚えておいてください。
いつものように、ご質問やご提案をお待ちしております。
Linuxのターミナルコマンドの出力をファイルに保存する方法については、この記事がすべてです。Linuxのターミナルコマンドの出力をファイルに保存する方法については、スクリプトハウスの過去記事を検索するか、引き続き以下の関連記事をご覧ください。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン