GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak uložit výstup příkazu do souboru pomocí terminálu Linux

Všichni víme, jak spuštění příkazu v příkazovém řádku Linuxu, Terminálu, vede ke spuštění příkazu a vytištění výsledků 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 všech operačních systémů bash vybaven možností vytisknout výstup příkazu do zadaného souboru. V tomto článku se budeme zabývat následujícími dvěma úkoly:

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

Příkazy zmíněné v tomto článku byly provedeny na systému Ubuntu 18.04 LTS.

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.

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.

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

Přidat výstup ke stávají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:

$ [command] >> [/filelocation/filename]

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.

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:

$ [command] | tee [/filelocation/filename]

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.

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

Pokud chcete připojit výstup příkazu k již existujícímu souboru. Dodržujte prosím tuto syntaxi:

$ [command] | tee -a [/filelocation/filename]

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:

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 Ubuntu!


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

  2. Jak zachytit výstup top příkazu do souboru v linuxu?

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

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

  2. Jak extrahovat soubor tar.gz v Linuxu pomocí příkazového řádku

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

  1. Jak vytvořit soubor v Linuxu pomocí terminálu/příkazového řádku

  2. Jak používat příkaz tail v Ubuntu Linux

  3. Jak přesměrovat výstup příkazu time do souboru v Linuxu?