SCRIPT(1) Comenzi utilizator SCRIPT(1) NUME script - face o transcriere a sesiunii de terminal REZUMAT script [opiuni] [fiier] [-- comanda [argument...]] DESCRIERE script face o transcriere a tot ceea ce se afla in sesiunea de terminal. Datele terminalului sunt stocate in forma bruta in fiierul jurnal, iar informaiile despre sincronizare(datele de timp) intr-un alt fiier jurnal structurat (opional). Fiierul jurnal de cronometrare este necesar pentru a reda sesiunea ulterior prin scriptreplay(1) i pentru a stoca informaii suplimentare despre sesiune. Incepand cu versiunea 2.35, script suporta fluxuri multiple i permite inregistrarea intrarilor i ieirilor in fiiere separate sau intr-un singur fiier. Aceasta versiune accepta, de asemenea, un nou fiier de sincronizare care inregistreaza informaii suplimentare. Comanda scriptreplay --summary ofera apoi toate informaiile. Daca este dat argumentul fiier sau opiunea --log-out fiier, script salveaza dialogul in acest fiier. Daca nu se da un nume de fiier, dialogul este salvat in fiierul typescript. Reinei ca inregistrarea datelor de intrare in jurnal utilizand --log-in sau --log-io poate inregistra informaii sensibile din punct de vedere al securitaii, deoarece fiierul jurnal conine toate datele de intrare in sesiunea terminalului (de exemplu, parolele), indiferent de valoarea fanionului ECHO al terminalului. OPIUNI Mai jos, argumentul dimensiune poate fi urmat de sufixele multiplicative KiB (=1024), MiB (=1024*1024), i aa mai departe pentru GiB, TiB, PiB, EiB, ZiB i YiB (,,iB" este opional, de exemplu, ,,K" are aceeai semnificaie ca i ,,KiB"), sau sufixele KB (=1000), MB (=1000*1000) i aa mai departe pentru GB, TB, PB, EB, ZB i YB. -a, --append Adauga rezultatul la fiier sau la transcriere, pastrand coninutul anterior. -c, --command comanda Ruleaza comanda mai degraba decat un shell interactiv. Acest lucru faciliteaza capturarea de catre un script a ieirii unui program care se comporta diferit atunci cand ieirea standard a acestuia nu este un terminal tty. In loc sa se utilizeze opiunea -c, comanda poate fi specificata i dupa doua liniue (--). -E, --echo cand Aceasta opiune controleaza fanionul ECHO pentru capatul sclav al pseudo-terminalului sesiunii. Modurile acceptate sunt always (intotdeauna), never (niciodata) sau auto. Valoarea implicita este auto - in acest caz, ECHO este activat pentru pseudo-terminalul sclav; daca intrarea standard curenta este un terminal, ECHO este dezactivat pentru acesta pentru a preveni ,,ecoul" dublu; daca intrarea standard curenta nu este un terminal (de exemplu conducta: echo date | script), atunci meninerea activarii ECHO pentru pseudo-terminalul sclav permite vizualizarea pe ecran a datelor de intrare standard i inregistrarea simultana in jurnalul sesiunii. Reinei ca modul ,,never" (niciodata) afecteaza coninutul jurnalului de ieire al sesiunii, deoarece datele introduse de utilizatori nu se repeta la ieire. -e, --return Returneaza starea de ieire a procesului-copil. Folosete acelai format ca i terminarea bash la primirea semnalului de terminare (adica, starea de ieire este 128 + numarul semnalului). Starea de ieire a procesului-copil este intotdeauna stocata i in fiierul de transcriere (typescript). -f, --flush Curaa ieirea dupa fiecare scriere. Acest lucru este util pentru telecooperare: o persoana face mkfifo foo; script -f foo, iar alta poate supraveghea in timp real ce se face folosind cat foo. Reinei ca ,,-flush" (curaarea/golirea) are un impact asupra performanelor; este posibil sa se utilizeze SIGUSR1 pentru a curaa/goli jurnalele la cerere. --force Permite ca fiierul de ieire implicit transcrierea (typescript) sa fie o legatura dura sau simbolica. Comanda va urma o legatura simbolica. -B, --log-io fiier Inregistreaza datele de intrare i de ieire in acelai fiier. Reinei ca aceasta opiune are sens numai daca este specificat i --log-timing, altfel este imposibil sa se separe fluxurile de ieire i de intrare din fiierul de jurnal. -I, --log-in fiier Inregistreaza datele de intrare in fiier. Ieirea de jurnal este dezactivata daca se specifica doar --log-in. Folosii cu atenie aceasta funcionalitate de inregistrare, deoarece inregistreaza toate intrarile, inclusiv intrarile in cazul in care terminalul a dezactivat fanionul ECHO (de exemplu, intrarile de parole). -O, --log-out fiier Inregistreaza ieirea in fiier. Valoarea implicita este de a inregistra ieirea in fiierul cu numele typescript daca nu se da opiunea --log-out sau --log-in. Ieirea jurnalului este dezactivata daca se specifica doar --log-in. -T, --log-timing fiier Inregistreaza informaiile de sincronizare (de timp) in fiierul fiier. Acum sunt acceptate doua formate de fiiere de cronometrare. Formatul clasic este utilizat atunci cand este activata inregistrarea unui singur flux (intrare sau ieire). Formatul multi-flux este utilizat la --log-io sau atunci cand --log-in i --log-out sunt utilizate impreuna. A se vedea, de asemenea, --logging-format. -m, --logging-format format Foreaza utilizarea formatului de jurnal de cronometrare avansat sau clasic. In mod implicit, se folosete formatul clasic pentru a inregistra numai ieirile i formatul avansat atunci cand se solicita inregistrarea atat a intrarilor, cat i a ieirilor. Formatul clasic Jurnalul de cronometrare conine doua campuri, separate prin cate un spaiu. Primul camp indica cat timp a trecut de la ieirea anterioara. Al doilea camp indica numarul de caractere care au fost emise de aceasta data. *Formatul avansat (multi-flux) Primul camp este un identificator al tipului de intrare (,,I'nput" (intrarea), ,,O'utput" (ieirea), ,,H'eader" (antetul, titlul), ,,S'ignal" (semnal)). Al doilea camp reprezinta timpul care a trecut de la intrarea anterioara, iar restul campului este format din date specifice tipului de intrare. -o, --output-limit dimensiunea Limiteaza dimensiunea fiierelor de transcriere(typescript) i de sincronizare la dimensiunea i oprete procesul-copil dupa ce aceasta dimensiune este depaita. Dimensiunea calculata a fiierului nu include mesajele de start i de sfarit pe care comanda script le preia i le adauga la ieirea procesului-copil. Din cauza utilizarii memoriei tampon, este posibil ca fiierul de ieire rezultat sa fie mai mare decat valoarea specificata. -q, --quiet Sta linitit (nu scrie mesajele de inceput i sfarit la ieirea standard). -t[fiier], --timing[=fiier] Emite datele de sincronizare catre ieirea de eroare standard sau catre fiier, daca este cazul. Aceasta opiune este depaita in favoarea --log-timing, unde argumentul fiier nu este opional. -h, --help Afieaza acest mesaj de ajutor i iese. -V, --version Afieaza versiunea i iese. SEMNALE La primirea semnalului SIGUSR1, script golete imediat fiierele de ieire. MEDIU Urmatoarea variabila de mediu este utilizata de script: SHELL Daca variabila SHELL exista, shell-ul bifurcat de script va fi acel shell. Daca variabila SHELL nu este definita, se va folosi shell-ul Bourne. (Majoritatea shell-urilor definesc automat aceasta variabila). NOTE Scriptul se termina atunci cand shell-ul bifurcat iese (un control-D pentru shell-ul Bourne (sh(1p)), i exit, logout sau control-d (daca ignoreeof nu este activat) pentru C-shell, csh(1)). Anumite comenzi interactive, cum ar fi vi(1), genereaza deeuri in fiierul de transcriere(typescript). script funcioneaza cel mai bine cu comenzi care nu manipuleaza ecranul, rezultatele sunt menite sa emuleze o copie exacta a unui terminal. Nu se recomanda rularea de script in shell-uri non-interactive. Shell-ul interior al script este intotdeauna interactiv, ceea ce ar putea duce la rezultate neateptate. Daca utilizai script in fiierul de iniializare a shell-ului, trebuie sa evitai intrarea intr-o bucla infinita. Putei utiliza, de exemplu, fiierul .profile, care este citit numai de shell-urile de autentificare: if test -t 0 ; then script exit fi De asemenea, ar trebui sa evitai utilizarea lui script in conductele de comanda, deoarece script poate citi mai multe date de intrare decat v-ai atepta. ISTORIC Comanda script a aparut in 3.0BSD. ERORI script plaseaza totul in fiierul jurnal, inclusiv salturile de linie i spaiile inapoi.. Nu este ceea ce se ateapta un utilizator naiv. script este conceput in primul rand pentru sesiuni interactive de terminal. Atunci cand intrarea standard nu este un terminal (de exemplu: echo foo | script), atunci sesiunea se poate bloca, deoarece shell-ului interactiv din cadrul sesiunii de script ii lipsete EOF, iar script nu tie cand sa inchida sesiunea. Pentru mai multe informaii, consultai seciunea NOTE. CONSULTAI I csh(1) (pentru mecanismul istoric), scriptreplay(1), scriptlive(1) RAPORTAREA ERORILOR Pentru rapoarte de eroare, folosii sistemul de urmarire al erorilor . DISPONIBILITATE Comanda script face parte din pachetul util-linux care poate fi descarcat de la Linux Kernel Archive . util-linux 2.42.3 2026-09-02 SCRIPT(1)