Metacaractere

Metacaracterele sunt caractere de la tastatură cu înțelesuri speciale pentru shell. Ele reprezintă o caracteristică puternică a oricărui shell. O definiție generală a metacaracterului este: orice caracter de la tastatură care nu este alfanumeric. Metacaracterele sunt utilizate cu multe comenzi Linux pentru a avea mai multă flexibilitate. Unele dintre acestea folosite în Linux au funcții similare cu cele din DOS. Asterisk-ul (*) și semnul întrebării (?), de exemplu, sunt metacaractere, cunoscute și ca wildcard-uri, și sunt utilizate pentru a lucra mai eficient cu un grup de fișiere.

Este foarte important să nu se folosească metacaractere atunci când sunt numite fișierele sau directoarele. Punctul (.) și linia (_) sunt singurele caractere non-alfanumerice care nu sunt metacaractere. De aceea ele pot fi folosite în numele fișierelor. O linie de legătură(-), chiar dacă este un metacaracter (utilizat pentru a delimita opțiunile într-o linie de comandă), poate fi și el utilizat la denumirea fișierelor.

Completarea automată

Shell-ul poate completa o comandă folosind [Tab], această caracteristică este utilă atunci când avem fișiere cu nume lungi.

$ touch microprocessor[Enter]

$ touch microscopic[Enter]

$ touch supersonic[Enter]

$ ls sup[Tab]

$ ls sup[Tab]ersonic[Enter]

$ ls mic[Tab]ro

$ ls mic[Tab]rop[Tab]rocessor[Enter]

Substituirea cu metacaractere

Aceasta este o modalitate alternativă pentru a completa o comandă; shell-ul este acela care schimbă simbolurile cu informațiile corespunzătoare.

Asterisk*

Acest simbol poate fi înlocuit cu o secvență de simboluri, de la zero la infinit.

$ ls [Enter]

$ ls * [Enter]

Comanda a doua este dferita, shell-ul inlocuieste * cu lista fisierelor si a subdirectoarelor din directorul current. Aceasta inseamna ca daca exista vre-un subdirector, continutul sau va fi afisat.

$ ls micro* [Enter]

microprocessor microscopic

poate fi inlocuit cu un sir nul:

$ touch millimicro [Enter]

$ ls *micro* [Enter]

microprocessor microscopic millimicro

Semnul întrebării

Semnul întrebării ? poate fi înlocuit doar cu un simbol. Se creăm niște fișiere.

$ touch xy123j4 [Enter]

$ touch xy456j5 [Enter]

$ touch xy789j111 [Enter]

$ touch xy78j67 [Enter]

$ ls [Enter]

xy123j4

xy456j5

xy789j111

xy78j67

$ ls ?????j? [Enter]

xy123j4

xy456j5

Vom avea un rezultat diferit utilizând *

$ ls *j* [Enter]

xy123j4 xy456j5 xy789j111 xy78j67

Parantezele pătrate [ ]

Parantezele pătrate sunt utilizate pentru a dispune de o categorie de simboluri din care să alegem simbolurile substituente. Doar un simbol din cele listate este folosit.

$ ls xy????[4567]* [Enter]

xy123j4 xy456j5

$ ls xy????[4-7]* [Enter]

Redirecționarea intrărilor/ ieșirilor și pipeline

Shell-ul permite redirecționarea rezultatelor comenzilor de la monitor (dispozitivul de ieșire standard). Același lucru se întâmplă cu introducerea datelor (aici este vorba de tastatură). Pentru redirecționări se folosesc semnele > sau >> sau < .

Redirecționarea

$ ls -l > mylist [Enter]

$ cat mylist [Enter]

Pentru intrare .. în locul utilizării intrării standard (tastatură).

$ cat < mylist [Enter]

Adăugarea la un fișier.

$ ls -l /tmp >> mylist[Enter]

$ cat mylist[Enter]

Pipeline

Pipeline (|) este o modalitate de a redirecționa rezultatul sau intrarea unei comenzi.

$ cat mylist | sort [Enter]

$ cat < mylist | sort [Enter]

Mai ușor fără pipeline.

$ sort < mylist[Enter]

Semnul ;

Semnul ; permite introducerea mai multor comenzi pe o singură linie de comandă.

$ touch xy123j4 ; cat mylist

 

 

 

 

 

Leave a comment