GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで出力をファイルとStdoutにリダイレクトする方法

デバッグなどの理由で、コマンド出力を特定のファイルに保存したい場合。 Linuxでは、ファイルの出力を保存するために、 stdoutを使用します 。これはストリームとも呼ばれます コマンド。

コンピューティングでは、ストリーム データを転送するものです。私たちの場合、それはテキストデータです。 stdoutの使用 、将来使用するためにそのデータをストリーミングしてテキストファイルに保存できます。

コピー&ペーストではなく、コマンドの出力をファイルに直接保存する方法を説明します。

Linuxでコマンド出力をファイルに保存

先に進む前に、まず、リダイレクトとは何かを知っておく必要があります と記号の組み合わせ?

リダイレクトシンボルは、端末に出力を表示するのではなく、コマンドをファイルに直接リダイレクトします。 “>”のように使用できるリダイレクト記号の組み合わせがあります 、”>>””&>””&>>”

関連記事 :Linuxで出力を/ dev/nullにリダイレクトする方法

Linuxでは、入力するものは「 stdin 」と呼ばれます 」、および私たちが受け取る出力は「 stdout」として知られています 」。出力ファイルが特定の場所に存在しない場合は、自動的に再作成され、ファイルが保存されます。

“>”を使用したかどうかを確認してください 、その後、過去のデータはそれを新しいコマンド出力に置き換えます。両方の「stdout」をリダイレクトする場合 」と「stderr 」、次に“&>”を使用します 。

次に、このリダイレクトシンボルを使用して、出力をファイルにリダイレクトします。

「>」、「>>」を使用してstdoutをテキストファイルにリダイレクトする方法

“>”を使用する場合 リダイレクトシンボル。コマンド出力を特定のファイルにリダイレクトします。同じファイルを再度使用してリダイレクトすると、最後の出力が上書きされます。

「>」記号を使用して出力をファイルにリダイレクトする

pwdコマンドとhostnamectlを使用してデモンストレーションします リダイレクト“>”でシステム情報を表示するコマンド 出力をdemofile.txtに保存します 。

まず、現在の作業ディレクトリの出力をファイルに保存します。

[root@linuxshelltips:~]# pwd > demofile.txt

次に、2番目の出力をファイルにリダイレクトします。

[root@linuxshelltips:~]# hostnamectl > demofile.txt

次に、ファイルの内容を表示します。

[root@linuxshelltips:~]# cat demofile.txt

   Static hostname: linuxshelltips
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 1e2b46dbc0c04b05b592c837c366bb76
           Boot ID: b1cc891c679c41c5a3502be3dca679c6
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 4.20.0-1.el7.elrepo.x86_64
      Architecture: x86-64

「>>」記号を使用して出力をファイルにリダイレクトする

この“>>”を使用する場合 リダイレクト記号。コマンド出力を特定のファイルにリダイレクトし、最後に保存されたデータがワイプされて同じファイルに新しい出力が追加されないようにします。

たとえば、pwdおよびhostnamectlコマンドを再度使用して、リダイレクト“>>”でシステム情報を表示します。 出力をdemofile.txtに保存します 。

[root@linuxshelltips:~]# pwd > demofile.txt
[root@linuxshelltips:~]# hostnamectl >> demofile.txt
[root@linuxshelltips:~]# cat demofile.txt

/root
   Static hostname: linuxshelltips
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 1e2b46dbc0c04b05b592c837c366bb76
           Boot ID: b1cc891c679c41c5a3502be3dca679c6
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 4.20.0-1.el7.elrepo.x86_64
      Architecture: x86-64

上記の出力から、過去のすべての出力が同じファイルで引き続き使用可能であることがわかります。

ご不明な点がございましたら、コメント欄でお気軽にお問い合わせください。


Linux
  1. NFSとは何ですか?Linuxにインストールする方法

  2. プログラムの出力をリダイレクトし、それでもStdoutに送信する方法はありますか?

  3. Linux でファイルシステムをマウントおよびアンマウントする方法

  1. 出力をファイルと標準出力にリダイレクトする方法

  2. スクリプトの同じ行で stderr と stdout を別のファイルにリダイレクトする方法は?

  3. system() の出力をファイルにリダイレクトする方法は?

  1. Linuxでコマンド出力をファイルに保存する方法

  2. Linuxで.gzファイルと.tar.gzファイルを抽出する方法

  3. プログラムの出力をZipファイルにリダイレクトする方法は??