GNU/Linux >> Znalost Linux >  >> Linux

Uložit výstup příkazu z terminálu Debianu do souboru

Všichni víme, jak spuštění příkazu v příkazovém řádku Debianu, Terminálu, vede ke spuštění příkazu a vytištění výsledků, pokud existují, v samotném Terminálu. Někdy toto okamžité zobrazení výstupu nestačí, zvláště pokud chceme výstup uložit pro pozdější použití. Naštěstí je bash Linuxu a bash všech operačních systémů vybaven možností vytisknout výstup příkazu do zadaného souboru. V tomto článku budeme pracovat na následujících dvou scénářích:

  • Uložení výstupu příkazu do souboru
  • Tisk výstupu v terminálu a jeho uložení do souboru

Příkazy a procedury uvedené v tomto článku jsme spustili na systému Debian 11 Bullseye.

Uložení výstupu příkazu do souboru

Uvedeme několik příkladů, kde bude výstup příkazů uložen pod názvem souboru, který určíme.

Chcete-li otevřít Terminál, přejděte do vyhledávání spouštěče aplikací pomocí klávesy Super/Windows a poté vyhledejte Terminál následovně:

Vytvořit nový soubor/nahradit existující soubor

Pokud chcete uložit výstup příkazu do nového souboru nebo nahradit obsah již existujícího souboru výstupem příkazu, použijte prosím následující syntaxi:

$ [command]> [/filelocation/filename]

Například použiji příkaz lscpu (který zobrazuje systémové informace) a poté vytisknu jeho obsah do souboru s názvem systeminformation.txt. Tento soubor již v mém systému neexistuje.

$ lscpu > /home/sana/systeminformation.txt

Když přistupuji k tomuto souboru přes správce souborů, vypadá to takto:

Připojit výstup k již existujícímu souboru

Pokud chcete uložit výstup linuxového příkazu do souboru, aniž byste se zabývali jeho již existujícím obsahem, můžete použít následující syntaxi:

$ [příkaz]>> [/umístění souboru/název souboru]

Například následující příkaz připojí výsledek příkazu ls na konec mého již existujícího souboru systeminformation.txt.

$ ls >> /home/sana/systeminformation.txt

Následující soubor, který kdysi obsahoval pouze moje systémové informace, nyní obsahuje také výstup příkazu my ls:

Tisk výstupu na terminálu a jeho uložení do souboru

Možná jste si všimli, že příkazy, které jsme zmínili výše, pouze ukládají výstup do souboru, aniž by je tiskly na samotném terminálu. Pokud chcete zobrazit výstup příkazu také na terminálu, použijte následující syntaxi:

$ [příkaz] | tee [/umístění souboru/název souboru]

Například text, který chceme echo na následujícím obrázku, bude nyní echoován na Terminálu a také vytištěn do souboru myfile.txt.

$ echo "print this text to my file" | tee /home/sana/myfile.txt

Toto je obsah souboru generovaného příkazem:

Pokud chcete připojit výstup příkazu k již existujícímu souboru. Postupujte podle této syntaxe:

$ [příkaz] | tee -a [/umístění souboru/název souboru]

Například následující obrázek ukazuje, jak bude ozvěna ještě nějaký text a poté přidán do mého již existujícího souboru:

$ echo "here is some more text for printing" | tee -a /home/sana/myfile.txt

Takto soubor nyní vypadá:

Tyto textové soubory orientované na výstup, které jsme vygenerovali prostřednictvím tohoto článku, mohou být v některých případech mnohem užitečnější než obvyklý tisk výstupu na terminálu. Tak mocný je bash Debianu!


Linux
  1. 8 strašidelných příkazů, které pronásledují terminál

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

  3. Přesměrování výstupu příkazu do souboru a terminálu

  1. Jak zachytit terminálové relace a výstup pomocí příkazu skriptu Linux

  2. Rychle vytvořte textový soubor prostřednictvím terminálu Debian

  3. Uložit veškerý výstup z terminálu do souboru?

  1. Jak připojit výstup do souboru?

  2. Jak uložit výstup tohoto příkazu awk do souboru?

  3. Vygenerujte distribuci velikostí souborů z příkazového řádku