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ářů.