Ce este intrarea standard în Linux?

Intrarea standard în Linux este tastatura și mouse-ul.Când tastați ceva pe tastatură, acesta intră în intrarea standard.Același lucru se întâmplă când folosești mouse-ul.De asemenea, puteți obține o intrare standard folosind linia de comandă.

Cum se creează o intrare standard în Linux?

În Linux, intrarea standard este tastatura și ieșirea este ecranul.Pentru a crea o intrare standard în Linux, mai întâi trebuie să știți ce este.Intrarea standard este locul în care tastați comenzile care sunt trimise la computer.Este și locul unde obțineți date de la computer.Puteți utiliza intrarea standard pentru a tasta comenzi sau pentru a obține date de la computer.

Pentru a crea o intrare standard în Linux, mai întâi trebuie să știți ce este.

Intrarea standard este locul în care tastați comenzile care sunt trimise la computer.Este și locul unde obțineți date de la computer.Puteți utiliza intrarea standard pentru a tasta comenzi sau pentru a obține date de la computer.

Puteți utiliza diferite tipuri de fișiere cu intrare standard în Linux: fișiere text, fișiere binare și directoare.Când utilizați un fișier text cu intrare standard în Linux, Windows îl vede ca și cum ar fi un fișier text normal pe hard disk.Când utilizați un fișier binar cu intrare standard în Linux, Windows îl vede ca și cum ar fi un fișier executabil pe hard disk (un program care face ceva). Când utilizați un director cu intrare standard în Linux, Windows vede un director pentru unitatea dvs. de disc în loc de un fișier executabil. (Acest lucru este util atunci când doriți să copiați un director de pe un computer pe altul, fără să vă faceți griji cu privire la programele care se află în interiorul acestuia.

Care este locația implicită a intrării standard în Linux?

Locația implicită a intrării standard în Linux este /dev/null.Aceasta înseamnă că orice comenzi pe care le tastați în terminal vor fi ignorate.

Cum schimbați locația intrării standard în Linux?

În Linux, intrarea standard este textul pe care îl tastați când vă conectați sau porniți o comandă.Puteți schimba locația intrării standard utilizând interfața de linie de comandă (CLI) a terminalului. Pentru a face acest lucru, deschideți o fereastră de terminal și tastați:

cd /usr/local/bin

chmod +x stdin_input.sh

./stdin_input.sh

Prima comandă schimbă directorul de lucru curent în /usr/local/bin, iar al doilea script adaugă un nou fișier numit stdin_input.sh la acel director.A treia comandă rulează scriptul cu privilegiile dvs. curente de utilizator (adică va rula ca dvs. în loc de ca root). Dacă totul merge bine, veți vedea un mesaj care vă spune că intrarea standard a fost mutată în /usr/local/bin/stdin_input.Dacă nu, consultați ghidul nostru de depanare pentru mai mult ajutor.

De ce ați dori să schimbați locația intrării standard în Linux?

Există câteva motive pentru care ați putea dori să schimbați locația intrării standard în Linux.De exemplu, dacă doriți să utilizați un alt program de emulator de terminal decât cel implicit sau dacă doriți să rulați un script care necesită introducerea utilizatorului dintr-un fișier text și nu de la tastatură.În plus, dacă lucrați la un proiect care va necesita mai mulți utilizatori să partajeze fișiere de date și comenzi de intrare simultan, poate fi util să vă configurați sistemul astfel încât toate intrările lor să treacă prin aceeași locație.În acest ghid de 400 de cuvinte, vom explora fiecare dintre aceste motive mai detaliat și vom explica cum puteți schimba locația intrării standard pe sistemul dumneavoastră Linux.

De ce aș vrea să folosesc un alt program de emulator de terminal?

Dacă utilizați un mediu desktop existent, cum ar fi GNOME sau KDE, cel mai probabil computerul dvs. vine cu programe terminale preinstalate precum xterm sau konsole.Cu toate acestea, dacă utilizați Ubuntu sau o altă distribuție Linux care nu vine cu astfel de programe instalate în mod implicit, există multe alte opțiuni disponibile.De exemplu, unele distribuții includ terminator , care este un program de emulator de terminal cu sursă deschisă bazat pe XCum schimb unde se află intrarea mea standard?

Schimbarea locului în care se află intrarea dvs. standard este destul de ușoară – deschideți doar o fereastră Terminal (găsită în Aplicații > Accesorii > Terminal) și tastați: sudo nano /etc/default/terminal Dacă totul decurge conform planului – presupunând că nu apar erori – ar trebui să vedeți acum ceva similar cu acesta: TERM=xterm-256color Dacă nu... Nu vă panicați!Există, de obicei, două motive principale pentru care este posibil ca această comandă să nu fi funcționat conform așteptărilor:

Odată ce am verificat că modificările dorite au fost făcute corect, trebuie să actualizăm configurația shell-ului, astfel încât aceste noi setări să intre în vigoare automat ori de câte ori ne conectăm: sudo sh -c 'echo "TERM=$TERM" >> ~/.bashrc ' && sudo sh -c 'echo "export TERM="$TERM"" >> ~/.bashrc'Acum, când ne conectăm din nou la sesiunea noastră (prin deconectare și conectare din nou), ambele noastre setări noi vor fi aplicate automat, fără să avem nevoie de nicio intervenție suplimentară!

Ce se întâmplă dacă nu am privilegiile administrative necesare pentru a face modificări?

Dacă dintr-un motiv oarecare nu aveți privilegii administrative necesare pentru a face modificări în /etc/default/terminal , atunci există încă și alte modalități prin care puteți obține ceea ce ne-am dorit – prin editarea fie a fișierului de profil de utilizator (.profile) sau script de pornire global (.bash_profile). Pentru a vă edita profilul de utilizator... Introduceți nano ~/.profile ... și adăugați cel puțin o linie care să conțină: TERM=xterm-256color După salvarea și închiderea Nano , reîncărcarea sesiunii dvs. curente tastând sursa ~/.profile ar trebui să aibă ca rezultat acum xterm să fie folosit ca emulator implicit de terminal!Pentru a edita scripturi globale de pornire... Deschide ~/.

  1. Dacă nu aveți nicio preferință cu privire la programul de emulator de terminal pe care doriți să îl utilizați, atunci simpla schimbare a locației intrării standard nu vă va afecta prea mult fluxul de lucru.Cu toate acestea, dacă intenționați să utilizați mai multe emulatoare de terminale simultan (de exemplu, când lucrați la mai multe proiecte simultan), este adesea mai ușor pentru toți să acceseze fișierele de date și scripturile aflate în același director.În acest fel, toată lumea poate introduce comenzi în terminalele lor respective fără a fi nevoit să-și facă griji cu privire la căile sau numele fișierelor aflate în conflict.
  2. Este posibil să nu aveți privilegii administrative necesare pentru a face modificări în /etc/default/terminal; Este posibil ca fișierul specificat în TERM să nu existe pe sistemul dvs. (caz în care încercați să introduceți sudo nano /etc/default/terminal). Dacă niciuna dintre aceste soluții nu funcționează din orice motiv, atunci nu ezitați să solicitați ajutor prin canalele noastre de asistență.

Cum afectează modificarea locației intrării standard programele care o folosesc?

Când schimbați locația intrării standard, afectați programele care o folosesc.De exemplu, dacă mutați intrarea standard într-un fișier, toate programele care folosesc intrarea standard vor trebui să citească din acel fișier.Dacă mutați intrarea standard într-o conductă, toate programele care folosesc intrarea standard își vor trimite ieșirea prin acea conductă.

Pot programele care folosesc diferite locații pentru intrarea lor standard încă să comunice între ele?

Intrarea standard în Linux este locația în care este citită intrarea utilizatorului.Programele care folosesc diferite locații pentru intrarea lor standard pot comunica în continuare între ele, atâta timp cât sunt conștienți de locația intrării standard a celuilalt program.

În cele mai multe cazuri, un program va folosi aceeași locație pentru intrarea sa standard, indiferent dacă este rulat de la un terminal sau dintr-un alt program.Cu toate acestea, există câteva excepții de la această regulă.De exemplu, dacă un program este pornit din interfața de linie de comandă (CLI), atunci va folosi ieșirea implicită a terminalului în loc să folosească intrarea standard.

O altă excepție apare atunci când un program citește date dintr-un fișier.În acest caz, conținutul fișierului devine intrarea standard a programului.

Ce se întâmplă dacă două programe încearcă să citească din aceeași intrare standard în același timp?

În Linux, intrarea standard este tastatura și terminalul.Când două programe încearcă să citească din aceeași intrare standard în același timp, ele pot intra în conflict unul cu celălalt.Acest lucru poate provoca erori sau comportament neașteptat.Pentru a evita acest lucru, ar trebui să specificați întotdeauna ce program ar trebui să citească din intrarea standard atunci când îl porniți.

Există o limită la câte programe pot citi dintr-o singură intrare standard la un moment dat?Dacă da, care este această limită?Dacă nu, de ce nu?

Nu există limită pentru câte programe pot citi dintr-o intrare standard la un moment dat.Acest lucru se datorează faptului că nucleul Linux permite mai multor procese să partajeze aceiași descriptori de fișiere, care sunt numerotate începând cu 1.Deci, dacă aveți patru procese care citesc din intrarea standard, fiecare proces va folosi un număr de descriptor de fișier 3, 4, 5 și 6.Dacă doriți să permiteți mai mult de patru procese să acceseze intrarea standard în același timp, trebuie să utilizați un subsistem I/O diferit, cum ar fi conductele sau memoria partajată.