コマンドの出力をBashのファイルに保存する方法(別名LinuxおよびmacOS端末)
bashプロンプトでコマンドを実行すると、通常、そのコマンドの出力が直接端末に表示されるので、すぐに読むことができます。しかしbashでは、コマンドの出力をテキストファイルに保存して後で出力を確認できるようにすることもできます。.
これは、LinuxやmacOSからWindows 10のUbuntuベースのbash環境まで、あらゆるオペレーティングシステムでbashで動作します。.
オプション1:出力をファイルのみにリダイレクトする
bashリダイレクトを使用するには、コマンドを実行します。 >
または >>
演算子をクリックしてから、出力先のファイルのパスを指定します。.
-
>
コマンドの出力をファイルにリダイレクトし、ファイルの既存の内容を置き換えます。. -
>>
コマンドの出力をファイルにリダイレクトし、その出力をファイルの既存の内容に追加します。.
技術的には、これは「標準出力」(画面への標準出力)をファイルにリダイレクトします。.
これは簡単な例です。の ls
コマンドは、現在のディレクトリ内のファイルとフォルダを一覧表示します。そう。次のコマンドを実行したとき, ls
現在のディレクトリ内のファイルとフォルダを一覧表示します。しかし、それはスクリーンにそれらをプリントしません - それはあなたが指定したファイルにそれらを保存します.
ls> / path / to / file
既存のファイルへのパスを指定する必要はありません。有効なパスを指定すると、bashはその場所にファイルを作成します。.
ファイルの内容を見ると、 ls
コマンドの出力例えば、 ネコ
コマンドはファイルの内容を端末に表示します。
cat / path / to / file
覚えて、
operatorは、ファイルの既存の内容をコマンドの出力で置き換えます。複数のコマンドの出力を単一のファイルに保存したい場合は、 >
代わりに演算子。たとえば、次のコマンドは、指定したファイルにシステム情報を追加します。>>
uname -a >> / path / to / file
ファイルがまだ存在しない場合、bashはファイルを作成します。それ以外の場合、bashはファイルの既存の内容をそのままにして、出力をファイルの末尾に追加します。.
ファイルの内容を表示すると、2番目のコマンドの結果がファイルの末尾に追加されています。
ファイルの最後に出力を追加し続けるために、このプロセスを何度でも繰り返すことができます。.
オプション2:通常通りに出力を印刷してファイルにリダイレクトする
あなたは出力をリダイレクトするのが好きではないかもしれません >
または >>
端末にコマンドの出力は表示されません。それは何ですか ティー
コマンドはです。 teeコマンドは受け取った入力を画面に表示します。 そして 同時にファイルに保存します.
コマンドの出力を ティー
, 画面に印刷してファイルに保存するには、次の構文を使用します。
コマンド| tee / path / to / file
これは、ファイル内のものをコマンドの出力に置き換えます。 >
オペレーター.
コマンドの出力を ティー
, 画面に印刷してファイルに保存しますが、ファイルの最後に追加します。
コマンド| tee -a / path / to / file
これは、ファイルの最後に出力を追加します。 >>
オペレーター.
bashシェルには、同様の機能を実行する高度な演算子がいくつか含まれています。あなたがbashスクリプトを書いているなら、それらは特に役に立ちます。より詳細な情報についてはAdvanced Bash-Scripting GuideのI / O Redirectionの章を参照してください。.