GNU/Linux >> Znalost Linux >  >> Linux

Jak přesměrovat výstup do souboru a Stdout v Linuxu

V určitém okamžiku, kdy chcete z jakéhokoli důvodu uložit výstup příkazu do konkrétního souboru, jako je ladění. V Linuxu k uložení výstupu souboru používáme stdout . Toto je také známé jako stream příkaz.

V oblasti výpočetní techniky stream je něco, co přenáší data. V našem případě se jedná o textová data. Pomocí stdout , můžeme tato data streamovat a uložit do textového souboru pro budoucí použití.

Provedeme vás, jak uložit výstup příkazu přímo do souboru namísto kopírování a vkládání.

Uložení výstupu příkazu do souboru v systému Linux

Než budete pokračovat, měli byste nejprve vědět, co je Přesměrování a kombinace symbolů?

Symbol přesměrování přímo přesměruje příkaz do souboru namísto zobrazení výstupu na terminálu. Existuje kombinace symbolů přesměrování, které můžete použít jako “>” ,”>>” ,”&>” ,”&>>” .

Související čtení :Jak přesměrovat výstup na /dev/null v Linuxu

V Linuxu se to, co zadáváme, nazývá „stdin “ a výstup, který obdržíme, je známý jako „stdout “. Pokud výstupní soubor v určitém umístění neexistuje, automaticky se znovu vytvoří a soubor uloží.

Ujistěte se, že jste použili “>” , pak je minulá data nahradí novým výstupem příkazu. Pokud chcete přesměrovat oba „stdout “ a „stderr ““, poté použijte “&>” .

Nyní použijeme tento symbol přesměrování k přesměrování výstupu do souboru.

Jak použít „>“, „>>“ k přesměrování stdout do textového souboru?

Když použijete “>” symbol přesměrování, přesměruje výstup příkazu do konkrétního souboru. Pokud jste znovu použili stejný soubor k přesměrování, bude poslední výstup přepsán.

Přesměrujte výstup do souboru pomocí symbolu „>“

Ukážeme si to pomocí příkazu pwd a hostnamectl příkaz k zobrazení systémových informací s přesměrováním “>” pro uložení výstupu do demofile.txt .

Nejprve uložíme výstup aktuálního pracovního adresáře do souboru.

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

Nyní přesměrujeme druhý výstup do souboru.

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

Nyní si prohlédněte obsah souboru.

[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

Přesměrujte výstup do souboru pomocí symbolu „>>“

Když použijete tento “>>” přesměrování, přesměruje výstup příkazu do konkrétního souboru a zajistí, že poslední uložená data nebudou vymazána a nebude přidán nový výstup do stejného souboru.

Například znovu použijeme příkaz pwd a hostnamectl k zobrazení systémových informací s přesměrováním “>>” pro uložení výstupu do 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

Z výše uvedeného výstupu můžete vidět, že všechny minulé výstupy jsou stále dostupné ve stejném souboru.

Pokud máte jakýkoli dotaz, neváhejte se zeptat v sekci komentářů.


Linux
  1. Jak extrahovat soubory .gz a .tar.gz v Linuxu

  2. Jak přesměrovat výstup programu do souboru ZIP?

  3. Přesměrování a výstup potrubí?

  1. Jak připojit a odpojit souborový systém v Linuxu

  2. Jak přesměrovat výstup do souboru a stdout

  3. Jak přesměrovat stderr a stdout na různé soubory ve stejném řádku ve skriptu?

  1. Jak uložit výstup příkazu do souboru v Linuxu

  2. Jak přesměrovat výstup system() do souboru?

  3. Jak přesměrovat výstup služby systemd do souboru