User Tools

Site Tools


medium-unix:capitole:capitol-05

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
medium-unix:capitole:capitol-05 [2016/05/17 22:34]
razvan [Creare fișiere]
medium-unix:capitole:capitol-05 [2016/05/19 10:32] (current)
razvan
Line 13: Line 13:
   * Caractere speciale shell   * Caractere speciale shell
   * Globbing   * Globbing
 +
 +==== Bune practici ====
 +
 +  * Comenzi care primesc informații la intrarea standard și comenzi care primesc informații ca parametru: operatorul ''​|''​ vs. expandarea comenzilor ''​%%$(...)%%''​
 +  * Folosire variabile de mediu doar la nevoie; de prefixat comenzi cu inițializare de variabile
 +  * Comenzi folosite pentru afișare și comenzi folosite pentru prelucrare
 +  * Măsoară de două ori și taie o dată :-)
 +  * Activare reverse search ''​tcsh'':​ http://​stackoverflow.com/​a/​7771746
  
 ==== Utilitare folosite ==== ==== Utilitare folosite ====
Line 25: Line 33:
  
   * https://​www.gnu.org/​software/​bash/​manual/​html_node/​Shell-Expansions.html#​Shell-Expansions   * https://​www.gnu.org/​software/​bash/​manual/​html_node/​Shell-Expansions.html#​Shell-Expansions
 +  * http://​tldp.org/​LDP/​GNU-Linux-Tools-Summary/​html/​x11655.htm
  
 ==== Slide-uri ==== ==== Slide-uri ====
Line 114: Line 123:
 </​code>​ </​code>​
  
 +Ca să testați deschideți un tab nou de terminal; la deschiderea terminalului vi se va crea shell-ul și vi se va afișa mesajul din ''/​etc/​bash.bashrc''​.
 ==== Folosire globbing ==== ==== Folosire globbing ====
  
Line 130: Line 140:
  
 Creați o arhivă ''​tar.gz''​ cu fișierele din ierarhia ''/​etc/''​ care au extensia ''​.conf''​ și au dimensiunea mai mare de ''​5KB''​. Creați o arhivă ''​tar.gz''​ cu fișierele din ierarhia ''/​etc/''​ care au extensia ''​.conf''​ și au dimensiunea mai mare de ''​5KB''​.
 +
 +<note tip>
 +Folosiți comanda ''​tar''​ și apoi expandare de comandă ''​find''​. Vedeți și exemplele de comenzi de la demo-ul legat de expandarea comenzilor.
 +</​note>​
  
 Creați o arhivă ''​zip''​ cu fișierele din ierarhia ''/​usr/​include''​ care conțin șirul ''​epoll'',​ Creați o arhivă ''​zip''​ cu fișierele din ierarhia ''/​usr/​include''​ care conțin șirul ''​epoll'',​
Line 140: Line 154:
  
 Inițializați variabila ''​text''​ la un șir de caractere. Inițializați variabila ''​text''​ la un șir de caractere.
 +
 +<note tip>
 +Adică rulați ceva de genul:
 +<​code>​
 +text="​mellon"​
 +</​code>​
 +</​note>​
  
 Afișați la ieșirea standard mesajul ''​%%"​Variabila text are valoarea '"​...'"​. Valorea poate fi actualizata."​%%''​. În mesaj, toate caracterele ghilimele (''"''​) și apostrof (''​%%'​%%''​) se vor afișa întocmai. Iar în loc de ''​...''​ puneți valoarea variabile ''​text''​. Afișați la ieșirea standard mesajul ''​%%"​Variabila text are valoarea '"​...'"​. Valorea poate fi actualizata."​%%''​. În mesaj, toate caracterele ghilimele (''"''​) și apostrof (''​%%'​%%''​) se vor afișa întocmai. Iar în loc de ''​...''​ puneți valoarea variabile ''​text''​.
  
 +<note tip>
 +Pentru a afișa ghilimele atunci când deja vă aflați între ghilimele va trebui să le escapați. Escaparea se face folosind ''​\''​ (//​backslash//​).
 +
 +Alternativa este să închideți ghilimele inițiale și apoi să afișați ghilimelele pe care vreți să afișați între apostrofuri. Invers pentru escaparea de apostrofuri.
 +
 +Nu puteți escapa apostrofuri câtă vreme vă aflați între apostrofuri.
 +
 +De exemplu dacă vrem să afișăm șirul ''​%%ana'​are"​mere%%''​ putem folosi
 +<​code>​
 +echo ana"'"​are'"'​mere
 +</​code>​
 +
 +Urmăriți ce face comanda
 +<​code>​
 +echo "'"'"'​ana-are-mere'"'"'"​
 +</​code>​
 +</​note>​
 ==== Afișare fișiere localizate ==== ==== Afișare fișiere localizate ====
  
 Folosiți comanda ''​locate''​ pentru a afișa fișierele din sistem care au extensia ''​.conf''​. Folosiți comanda ''​locate''​ pentru a afișa fișierele din sistem care au extensia ''​.conf''​.
  
-Pentru fișierele de mai sus afișați directoarele din care fac parte. Eliminați duplicatele.+Pentru fișierele de mai sus afișați directoarele din care fac parte. 
 + 
 +<note tip> 
 +Folosiți comanda ''​dirname''​ pentru extragerea directoarelor din lista de fișiere extrasă mai sus. Folosiți expandarea comenzilor, adică construcția ''​%%$(...)%%'',​ în conjuncție cu comanda ''​locate''​ rulată mai sus. 
 +</​note>​ 
 + 
 +Eliminați duplicatele.
  
 <note tip> <note tip>
-Folosiți ​comanda ​''​dirname''​ pentru ​extragerea directoarelor.+Folosiți ​operatorul ​''​|''​ pentru ​a redirecta comanda de mai sus către comanda ''​sort -u''​.
 </​note>​ </​note>​
  
Line 156: Line 200:
  
 <note tip> <note tip>
-Folosiți comanda ''​stat''​.+Folosiți comanda ''​stat'' ​cu opțiunea ''​-c''​ și formatul corespunzător.
 </​note>​ </​note>​
  
medium-unix/capitole/capitol-05.1463513652.txt.gz · Last modified: 2016/05/17 22:34 by razvan