This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
linux-admin:capitole:capitol-02 [2016/09/16 11:24] mihaic [Bune practici] |
linux-admin:capitole:capitol-02 [2016/09/20 10:28] (current) mihaic [Exercițiu 5] |
||
---|---|---|---|
Line 9: | Line 9: | ||
* Sisteme de fișiere: roluri, operații | * Sisteme de fișiere: roluri, operații | ||
* Sisteme de fișiere pentru mașini virtuale (imagini) | * Sisteme de fișiere pentru mașini virtuale (imagini) | ||
- | * Globbing | ||
==== Utilitare folosite ==== | ==== Utilitare folosite ==== | ||
* ''mkdir'', ''rmdir'', ''touch'', ''ls'', ''rm'', ''cp'' | * ''mkdir'', ''rmdir'', ''touch'', ''ls'', ''rm'', ''cp'' | ||
- | * ''chmod'', ''chown'' | + | * ''stat'', ''chmod'', ''chown'' |
==== Bune practici ==== | ==== Bune practici ==== | ||
Line 21: | Line 20: | ||
* Construcția ''%%$(...)%%'' versus ''%%`...`%%'' | * Construcția ''%%$(...)%%'' versus ''%%`...`%%'' | ||
- | ===== Resurse utile ===== | ||
- | |||
- | * TODO | ||
- | * TODO | ||
==== Slide-uri ==== | ==== Slide-uri ==== | ||
- | [[http://koala.cs.pub.ro/training/res/medium-unix/slides/cap-02.pdf|Slide-uri capitol 2]] | + | [[http://koala.cs.pub.ro/training/res/linux-admin/slides/cap-02.pdf|Slide-uri capitol 2]] |
<html> | <html> | ||
Line 40: | Line 35: | ||
==== Demo-uri ==== | ==== Demo-uri ==== | ||
- | TODO | + | Folosirea comenzilor mkdir și rm pentru a crea și șterge ierarhii complexe. |
+ | |||
+ | Folosirea comenzii ''stat'' cu formatare pentru a afișa metainformații despre fișiere. | ||
+ | |||
+ | ==== Exercițiu 1 ==== | ||
+ | |||
+ | Creați, în directorul home al utilizatorului ''training'', structura de mai jos: | ||
+ | <code> | ||
+ | supermarket/ | ||
+ | ├── curatat/ | ||
+ | │ ├── pronto - lemn curat | ||
+ | │ └── solutie curatat ferestre | ||
+ | └── mancare/ | ||
+ | ├── -- -> lactate/lapte batut | ||
+ | ├── carne/ | ||
+ | │ └── -10 grade sunca | ||
+ | ├── fructe/ | ||
+ | │ └── castraveti spanioli | ||
+ | └── lactate/ | ||
+ | └── lapte batut | ||
+ | </code> | ||
+ | |||
+ | Intrarea ''%%--%%'' este un link simbolic, adică numele link-ului simbolic trebuie să fie ''%%--%%''. | ||
+ | |||
+ | Intrările care se termină în ''/'' (//slash//) sunt directoare (''supermarket/'', ''curatat/'', ''mancare/'', ''carne/'', ''fructe/'', ''lactate/''). | ||
+ | |||
+ | Restul de intrări sunt fișiere obișnuite (//regular files//). | ||
+ | |||
+ | <note tip> | ||
+ | Pentru a valida structura creată, folosiți, din directorul home al utilizatorului ''student'', comanda<code> | ||
+ | tree -F supermarket | ||
+ | </code> | ||
+ | </note> | ||
+ | |||
+ | |||
+ | ==== Exercițiu 2 ==== | ||
+ | |||
+ | Pe structura de directoare creată anterior configurați timpi astfel: | ||
+ | * pe intrările din mâncare, mai puțin link-ul simbolic, configurați ca timp de acces miezul nopții la Crăciun 2013 | ||
+ | * pe intrări de curățat configurați ca timp de modificare miezul nopții la Revelion 2013 | ||
+ | |||
+ | Nu e nevoie să folosiți o comandă specială care să se aplice pe toate intrările. Luați intrările la rând și modificați timpii. | ||
+ | |||
+ | <note tip> | ||
+ | Pentru modificarea timpilor folosiți comanda ''touch''. | ||
+ | |||
+ | Pentru a verifica timpii de acces folosiți comanda ''stat''. | ||
+ | </note> | ||
+ | |||
+ | ==== Exercițiu 3 ==== | ||
+ | |||
+ | * Creați un fișier nou, denumit ''numere''. | ||
+ | * Deschideți fișierul în ''nano'' și editați-l astfel încât să conțină 10 linii, pe fiecare câte un număr de la 1 la 10. | ||
+ | * Salvați fișierul și închideți ''nano''. | ||
+ | * Deschideți fișierul în ''nano'' și editați-l astfel încât să conțină doar numerele prime, în ordine descrescătoare. | ||
+ | * Salvați fișierul sub numele ''prime'' și închideți ''nano''. | ||
+ | |||
+ | ==== Exercițiu 4 ==== | ||
+ | |||
+ | Adăugăm în sistem utilizatorul ''ana''. Pentru aceasta, ne autenficăm ca root și apoi folosim comanda ''adduser''. Adică rulăm comenzile:<code> | ||
+ | $ sudo su | ||
+ | # adduser ana | ||
+ | </code> | ||
+ | |||
+ | Ca ''root'', actualizăți următoarele metadate pe link-ul simbolic: | ||
+ | * modificați timpii la miezul nopții Halloween 2013 | ||
+ | * modificați deținătorul link-ului în ''ana'' | ||
+ | |||
+ | <note tip> | ||
+ | Pentru modificarea deținătorului unui link, folosiți comanda ''chown''. Comanda ''chown'' poate fi rulată doar de utilizatorul root. | ||
+ | |||
+ | Exemple de rulare a comenzii ''chown'' sunt:<code> | ||
+ | chown tony mydata.iso # change owner user of file mydata.iso to tony | ||
+ | chown tony:players icon.bmp # change owner user of file icon.bmp to tony and owner group to players | ||
+ | </code> | ||
+ | </note> | ||
+ | |||
+ | ==== Exercițiu 5 ==== | ||
+ | |||
+ | Dorim să afișăm informații despre fișiere folosind comanda ''stat'', comandă dedicată exact obținerii de informații despre fișiere. | ||
- | TODO | + | Afișați pentru fișierul ''/etc/passwd'' doar dimensiunea. **Indicație**: Folosiți comanda ''stat'' împreună cu opțiunea ''%%--format%%'' (sau ''-c'', forma scurtă a acestei opțiuni). |
- | ==== TODO: Exercițiu 1 ==== | + | Afișați pentru fișierul ''/etc/passwd'' inode-ul, dimensiunea și uid-ul, separate prin '','' (virgulă). |
- | TODO | + | Afișați numele, inode-ul, dimensiunea și uid-ul separate prin '','' (virgulă) pentru fișierele din ierarhia ''/etc/''. |
- | ==== TODO: Exercițiu 2 ==== | + | Afișați numele, inode-ul, dimensiunea și uid-ul separate prin '','' (virgulă) pentru fișierele din ierarhia ''/etc/'' care au extensia ''.conf''. |
- | TODO | + | Calculați totalul de octeți ocupat de fișierele din ierarhia ''/etc/'' care au extensia ''.conf''. **Indicație**: opțiunea ''-c'' |