GNU/Linux >> Znalost Linux >  >> Linux

Linuxový tee příkaz vysvětlený pro začátečníky (6 příkladů)

Jsou chvíle, kdy chcete ručně sledovat výstup příkazu a zároveň se ujistit, že se výstup zapisuje do souboru, abyste se na něj mohli později odkázat. Pokud hledáte linuxový nástroj, který to dokáže za vás, budete rádi, že existuje příkaz tee který je pro tento účel vytvořen.

V tomto tutoriálu probereme základy příkazu tee pomocí několika snadno srozumitelných příkladů. Ale než to uděláme, stojí za zmínku, že všechny příklady použité v tomto článku byly testovány na Ubuntu 16.04 LTS.

Příkaz Linux tee

Příkaz tee v podstatě čte ze standardního vstupu a zapisuje na standardní výstup a soubory. Následuje syntaxe příkazu:

tee [OPTION]... [FILE]...

A zde je návod, jak to vysvětluje manuálová stránka:

Copy standard input to each FILE, and also to standard output.

Následující příklady ve stylu otázek a odpovědí by vám měly poskytnout lepší představu o tom, jak příkaz funguje.

O1. Jak používat příkaz tee v Linuxu?

Předpokládejme, že z nějakého důvodu používáte příkaz ping.

ping google.com

A co chcete, je, aby se výstup také zapisoval do souboru paralelně. Pak zde můžete použít příkaz tee.

ping na google.com | tee output.txt

Následující snímek obrazovky ukazuje, že výstup byl zapsán do souboru 'output.txt' spolu se zápisem na stdout.

Takže tím by mělo být jasné základní použití trička.

Q2. Jak zajistit, aby tee přidával informace do souborů?

Ve výchozím nastavení příkaz tee při opětovném použití přepíše informace v souboru. Pokud však chcete, můžete toto chování změnit pomocí volby -a příkazového řádku.

[command] | tee -a [file]

Takže v podstatě volba -a nutí tee připojit informace k souboru.

Q3. Jak přimět tee zapisovat do více souborů?

To je docela snadné. Stačí uvést jejich jména.

[command] | tee [file1] [file2] [file3]

Například:

ping google.com | tee output1.txt output2.txt output3.txt

Q4. Jak provést přesměrování výstupu jednoho příkazu na jiný?

Můžete nejen použít tee k současnému zápisu výstupu do souborů, ale také k předání výstupu jako vstupu dalším příkazům. Například následující příkaz nejenže uloží názvy souborů do 'output.txt', ale také vás prostřednictvím wc informuje o počtu záznamů v souboru output.txt.

ls file* | tee output.txt | wc -l

O5. Jak zapisovat do souboru se zvýšenými oprávněními pomocí tee?

Předpokládejme, že jste otevřeli soubor v editoru Vim, provedli jste mnoho změn, a pak když jste se pokusili tyto změny uložit, došlo k chybě, díky které jste si uvědomili, že jde o soubor vlastněný rootem, což znamená, že k uložení potřebujete oprávnění sudo tyto změny.

V situacích, jako jsou tyto, můžete použít tee ke zvýšení oprávnění na cestách.

:w !sudo tee %

Výše uvedený příkaz vás požádá o heslo uživatele root a poté vám umožní uložit změny.

O6. Jak přimět tee, aby ignorovalo přerušení?

Volba -i příkazového řádku umožňuje tee ignorovat signál přerušení (SIGINT ), který se obvykle zobrazí po stisknutí kombinace kláves crl+c.

[command] | tee -i [file]

To je užitečné, když chcete příkaz zrušit pomocí ctrl+c, ale chcete, aby tee skončil elegantně.

Závěr

Pravděpodobně teď budete souhlasit, že tee je extrémně užitečný příkaz. Zde jsme diskutovali o jeho základním použití a také o většině jeho možností příkazového řádku. Nástroj nemá strmou křivku učení, takže si jen procvičte všechny tyto příklady a měli byste jít. Pro více informací přejděte na manuálovou stránku nástroje.


Linux
  1. Linuxový příkaz paste vysvětlený pro začátečníky (5 příkladů)

  2. Linux unexpand Command Vysvětlený pro začátečníky (s příklady)

  3. Příkaz ukončení Linuxu vysvětlený pro začátečníky (s příklady)

  1. Příkaz Linux Csplit vysvětlený pro začátečníky (6 příkladů)

  2. Příkaz wc pro Linux vysvětlený pro začátečníky (6 příkladů)

  3. Linuxový příkaz objdump vysvětlený pro začátečníky (7 příkladů)

  1. Linuxový příkaz dirname vysvětlený pro začátečníky (4 příklady)

  2. Linux Free Command vysvětlený pro začátečníky (6 příkladů)

  3. Příkaz Linux Head vysvětlený pro začátečníky (5 příkladů)