• ベストアンサー

リダイレクト時にコマンドラインにも表示

linuxでプログラムの標準出力結果をコマンドラインに表示させながら,リダイレクトも同時に行うことってできるんですか? できるのならやり方を教えてください.

質問者が選んだベストアンサー

  • ベストアンサー
  • ann_dv
  • ベストアンサー率43% (528/1223)
回答No.1

teeを使用します。 例:ifconfigの出力結果をifconfig.txtと標準出力へ出力する # ifconfig | tee ./ifconfig.txt

参考URL:
http://www.ibm.com/developerworks/jp/linux/library/l-bashfv/
number44
質問者

お礼

ありがとうございます

関連するQ&A

  • 標準出力とリダイレクトを同時に実行

    標準出力の結果をファイルに保存するにはリダイレクトを使うと思いますが、同時に標準出力にも表示したいです。 同時に、リダイレクトの「>>」のように、追記していくようにしたいです。 そのような場合、 http://blog.goo.ne.jp/minimal_room/e/26b4d965cd67ac5abfc4ca024e69501f によれば、teeコマンドを使うと良いそうなのですが、 ./a.out | tee log.txt のようにすると、標準出力されず、上手くいきませんでした。 どのようなコマンドを打ったら良いか教えて下さい。

  • Windows 98系OSでのコマンドラインのリダイレクトについて

    Windows 98又はMeのコマンドラインのリダイレクトについて教えてください。 ◎やりたい事 Windows 98又はMeのコマンドラインの実行結果を正常・異常問わずにログ出力する。 ◎ためした事 ・「echo テスト > log.txt 2>&1」を実行 ⇒Windows 98又はMeで同じ事を実行すると'&1'というファイルができてその中身を見ると正常時のログしか出力されていません。また、log.txtは出力されていません。 ・「echo テスト > log.txt」を実行 ⇒実行結果が正常の場合は出力されるのですが異常の場合はコマンド画面に出力されてlog.txtに出力されません。 いろいろ検索したのですが解決に至っておりません。 よろしくお願いします。

  • bashの標準出力のリダイレクトのタイミング

    CentOS上でC言語でプログラムを作成し、printfで計算結果を表示させています。 具体的には一回の試行ごとにprintfで表示させ、それを数百回繰り返すプログラムです。 これをbashの標準出力のリダイレクトを用いてファイルに書き出そうとしているのですが、結果が一回の試行ごとにファイルに書き出されません。数時間待ってみると数回の試行の結果がまとめて書き込まれているので、インターバルがあるのかと考えたのですが、リダイレクトされるタイミングの設定は変更可能ですか? 入力したコマンドは hogehoge > fuga.csv & です。

  • コマンド結果のリダイレクト

    UNIXコマンドで「sar」がありますが、 その中のオプション「-o」を使用しないで ファイルにリダイレクトをしたいです。 なお、その際にバックグランドで実行しています。 sarコマンドは長時間動かし途中でリダイレクト結果をviewなどで見たいのですがどうしたらよいでしょうか? ex) sar 5 10000 > log.txt & これだと、sarコマンドが終了しないとlog.txtに出力されません。いつでもviewなどで最新のlog.txtを見たいです

  • shell の time コマンドの結果をファイルに出力する方法(AIX)

    AIX4.3 の環境でプログラムのパフォーマンスを確認しようと思っています。「time XXXXX 2> perform.log」で標準エラー出力をファイルに書き出そうとしているのですがうまくいきません。time コマンドのパフォーマンス結果は標準エラー出力に書き出されると思うのですが、リダイレクトしたファイルは何も書かれていません。画面にtime コマンドの結果が表示されるだけです。time コマンドではなく通常のエラーは標準エラー出力からファイルに書き出すことはできます。原因がわからずこまっています。よろしくお願いします。

  • コマンドラインのログファイルの作成

    Linuxで次のようなプログラムを実現したいのですが どのようにしたらよいでしょうか? (1) シェル起動後、自動的に起動し (2) シェルで入出力されるコマンドラインを指定したファイルに自動的に追加書込みされ * 書込みについては、一行毎に入出力された時刻も同時に書込むものとします 詰まり、次のような記述で、書込みたいのです 入力 時刻 出力 時刻 ・・・ 入力 時刻 出力 時刻 といった感じの書式です (3) 追加書込みされるファイルが一定容量以上になると自動的に別ファイルを生成して、そのファイルに書込まれる これは、Perlなどのスクリプト言語で作るべきでしょうか? それとも、( 例えば、コマンドやリダイレクトだけで作ると言ったような ) もっと簡単な方法がありますでしょうか?

  • dumpコマンドのファイルへのリダイレクトについて

    Linux(centOS)においてdumpコマンドの標準出力した出力結果をファイルに出力しようと思い 以下のコマンドを実行してみましたがファイルに結果は出力されませんでした。 ・dump 0af <target> <source> >> a.log 色々と調べた結果以下のコマンドで結果を取得することはできたのですが ・dump 0af <target> <source> 2>> a.log 私の認識ではファイル・ディスクリプタ2は標準エラー出力と認識しているのですが なぜ2で結果が得られたのかがわかりません。(ちなみにdump処理結果はエラーではありませんでした) 他のパターンも試してみましたが以下のような結果になっています ・dump 0af <target> <source> >> a.log → 出力されず ・dump 0af <target> <source> 1>> a.log → 出力されず ・dump 0af <target> <source> 2>> a.log → 出力された どなたかわかる方がいらっしゃいましたらご教授願います

  • bashでの複数行のコマンドのリダイレクト

    Linux上のbashを使用して、複数行のコマンドの結果を一度にリダイレクトしたいと思います。 思いついた方法が、 #!/bin/bash cat << EOF >> ./test.log cat /etc/fstab cat /etc/inittab cat /etc/modprobe.conf EOF といった方法なのですが、これですとそれぞれのコマンドの結果ではなく、 単に cat /etc/fstab cat /etc/inittab cat /etc/modprobe.conf と言った出力結果がtest.logに出力されてしまいます。 上記のような複数のコマンドの結果を一度にリダイレクトする方法は無いでしょうか? cat /etc/fstab >> ./test.log cat /etc/inittab >> ./test.log cat /etc/modprobe.conf >> ./test.log と言った方法は避けたいと思います(実際には何10行と言うコマンド結果を出力したいので)

  • atコマンドでリダイレクト

    お世話になります。 コマンドプロンプトのatコマンドを使い、時間指定をしてpingを打ち、その結果をファイルに書き込ませたいのです。 バッチファイルを使用してならでき、目的は果たせるのですが、コマンドラインのみでできないのでモヤモヤしてます。 例えば at 23:00 ping www.hoge.co.jp ^> test.txt とすると、23:00になってもtest.txtファイルがどこにも見当たりません。 リダイレクトのエスケープをやめると、ファイルはできるのですが、23:00になる前、コマンドラインを打ち込んですぐにファイルができてしまい、かつ「新しいジョブをジョブ ID = 1 で追加しました。」となり、atコマンド自体の結果がtest.txtに書き込まれてしまいます。 コマンドプロンプトについては、ほぼ初心者です。 atコマンドを使う必然性はないのですが、気になります。 宜しければ教えて下さい。 お願いします!

  • シェルのリダイレクトとパイプについて

    シェルのリダイレクトとパイプについての質問です. リダイレクトでコマンドの標準出力をファイルに指定した後に, パイプを置いて,もう一つコマンドを並べたとき, 後の方のコマンドの標準入力はどうなるのでしょうか? 例えば, ls >outfile |cat ならば, catの標準入力には,何も入ってこないと思うのですが, これを実行すると,lsの結果がoutfileに書き込まれ, 次のプロンプトが表示されます. 普通,catを引数なしで実行すると, EOFが入力されるまで,入力待ちになると思うのですが, こうならないのは,シェルがcatの標準入力にEOFを入力したからだと 考えていいのでしょうか. よろしくお願いします. (質問の意味が分かりにくければご指摘下さい.)