Terminál kimenetek mentése

Linux fájlátnevezés
Terminál rögzítése

Ha valaki terminál alatt futtatott egy parancsot, annak jellemzően van egy kimenete. Egyrészt elvégzi a feladatát, másrészt pedig valamit kiír a terminálba. Természetesen sok esetben a parancsnak nincs közlendője számunkra, így semmit nem ír ki. Ezzel jellemzően nincs is semmi probléma, ha semmit nem ír ki, nincs semmi olyan, ami hibajel lenne, azaz elvégezte az általunk kiadott parancsot. Bár az elején furcsa lehet, amikor nem ír ki semmit, mintha semmit sem csinált volna, de ez egy idő után már egyértelmű lesz: csak akkor „sír”, ha valóban gond van. Akkor sincs probléma ha a kimenet, amit a terminálba szépen beír nekünk pár sor. 5-10 sor amit kényelmesen el tudunk olvasni, értelmezni. Akkor lesz különösebb probléma, ha ez a kimenet hosszú, mi pedig elemezni, vagy legalábbis megnézni szeretnénk. Én tudom, hogy a legtöbb terminálemulátor programban visszafele is tudunk görgetni, azaz puffereli a kimeneteket, és azokat meg tudjuk nézni utólag. Ez odáig jó, amíg be nem csukjuk a terminálablakot, hiszen akkor ezek a kimenetek jellemzően eltűnnek. Ha később szeretnénk megnézni ezeket, akkor újra le kell futtatni parancsot.

Az egyszerű megoldás, a terminál rögzítésére

Elég kényelmetlen, illetve hibakeresésnél nehézkes, ha terminál alatt egy programot elindultunk, legörget több tucat képernyőnyi szöveget, és abban ide-oda kell görgetni, ha valamit keresni szeretnénk. Elég béna és fapados... Érdemes tudni, hogy a képernyőn megjelenő szöveget át lehet irányítani egy sima szöveg fájlba nagyon egyszerű megoldással, azaz beírod a parancsot majd mögé teszel egy kacsacsőrt, megadod a fájlnevet amibe szeretnéd átirányítani a kimenetet. Ez nagyon praktikus! Véleményem szerint érdemes is kipróbálni. Tedd meg most: Nyitsz egy terminál, beírod, hogy:

ls  kimenet.txt

szépen be fogja írni a kimenetet a kimenet.txt-be, amit meg tudsz nézni egy akármilyen szövegszerkesztővel, vagy egyszerűen a cat programmal. Szuper!
Ezt általában elég sokszor használjuk, ha szeretnénk megnézni milyen sirámokat közöl velünk egy-egy program. Szerintem ezt mindenki ismeri, hiszen a kimenet átirányítása nemcsak programból egy szövegfájlba működik, hanem egymásután a programokat össze is tudjuk fűzni különböző megoldásokat. Így ezek az átirányítások nem okoznak nagy problémát olyannak, aki egy kicsit is járatosabb terminálos munkában.

A gond akkor van, és ez a cikk pontosan azért született meg, ha több, egymás utáni parancsot futtatunk, azoknak a kimenetét szeretnénk egy szövegfájlba összefűzni. Nyilvánvalóan megtehetjük, hogy első parancs kimenetét az egy.txt-be, a második parancs kimenetét a második.txt-be, stb. stb…  irányítjuk át. Majd összefűzzük a kimeneti szövegfájl, és abban keresünk. Ez nem valami profi megoldás, ráadásul elég sok időt is elvesz. Illetve van egy másik megoldás is: ugyanabba a szövegfájlba irányítjuk az egymásután következő parancsok kimenetét. Ekkor egy listaként kapjuk meg. Ezek hátránya, hogy sok esetben kihagytam egy-egy parancs kimenetét, így hiányos lett a mentésem.

Profibb megoldás Linux alatt

Bár ez is megoldás, de én most egy programot szeretnék ajánlani számotokra. Ez jellemzően alapból telepítve az összes rendszeren, bár szerintem nem sok ember használta ezt: a neve script.

A használata egyszerű. Bár a script több és összetettebb feladatokra is alkalmas, de én az alapokat mutatom be. A többi man script.

script fajlneve

Azaz elindítjuk a programot, megadva azt a fájlnevet, amibe mentsen. Ha elindul a rögzítés ezt látjuk:

script fajlneve
A parancsfájl elindult, a fájl: fajlneve

Visszakapjuk a promptot, és már dolgozhatunk is. Egymásután begépeljük a végrehajtandó parancsokat úgy, mintha nem is futna a háttérben a rögzítés. Majd amikor végeztünk, akkor:

exit

paranccsal lépünk ki a rögzítésből.

exit
A parancsfájl kész, a fájl: fajlneve

Ezután megnyithatjuk a fajlneve állományt, bármely  általunk kedvelt szövegszerkesztővel, vagy akár a cat, more stb. paranccsal is.

yay -Syu –noconfirm ;upall
sudo laci jelszava
A csomagadatbázisok szinkronizálása

Egy Arcolinux alatti rendszer frissítésről készült mentés részletét látjátok. Azért kerül be ide, mert felmerülhet az a kérdés, hogy ez majdnem egy keylogger programszerűség és mivel „mindent” rögzít, így nem okoz biztonsági kockázatot? Ahogy látni nem rögzíti a jelszót, csak azt, ami a terminálban is megjelenik. Így nem kell aggódni, hogy egy sima szövegben ott lesz a jelszavad.

Fontos

Mindenképp állítsd le szabályosan, mert ha nem vetsz véget a rögzítésnek, akkor igencsak nagy állományt is eredményezhet.
Olyan feladatoknál óvatosan kell használni, ami adatdömpinget generálnak a terminálba. Ilyen lehet a fenti frissítési parancs is. Ha ilyent is rögzítünk - és kiírja - akkor a letöltési folyamatot is rögzíti ...21%...22% és ezt mind külön sorba...

Tudom, hogy nem egy mindennap használt, populáris program, de egy kényelmesen használható segítség.

A programot Arcolinux alatt próbáltam ki, 2020. januárjában.
Frissítettem, teszteltem Linux Mint, 2023-08-22