This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
medium-unix:capitole:capitol-06 [2016/05/19 12:32] razvan [Generare fișiere multiple și conținut aleator] |
medium-unix:capitole:capitol-06 [2016/05/19 13:04] (current) razvan [Generare parole aleatoare] |
||
---|---|---|---|
Line 276: | Line 276: | ||
**Nu** este nevoie de ''for'', ''seq'' sau ''touch''. | **Nu** este nevoie de ''for'', ''seq'' sau ''touch''. | ||
</note> | </note> | ||
+ | |||
+ | <note tip> | ||
+ | Pentru a genera ''100'' de fișiere a câte ''100'' de octeți va trebui să generați cu comanda ''dd'' conținut de ''100 x 100 = 10000'' (zece mii) de octeți. | ||
+ | </note> | ||
+ | |||
<note tip> | <note tip> | ||
Line 281: | Line 286: | ||
''split'' poate citi de la standard input dacă se folosește construcția ''-'' (semnul minus) pentru numele fișierului. | ''split'' poate citi de la standard input dacă se folosește construcția ''-'' (semnul minus) pentru numele fișierului. | ||
- | <note> | ||
- | <note tip> | + | Adică veți trece output-ul comenzii ''dd'' în input-ul comenzii ''split''. |
- | Pentru a genera ''100'' de fișiere a câte ''100'' de octeți va trebui să generați cu comanda ''dd'' conținut de ''100 x 100 = 10000'' (zece mii) de octeți. | + | |
- | </note> | + | |
- | <note tip> | ||
Adică trebuie să aveți o construcție de forma | Adică trebuie să aveți o construcție de forma | ||
<code> | <code> | ||
- | dd if=/dev/urandom bs=... count=... | split ... - | + | dd if=/dev/urandom bs=... count=... | split ... - <prefix> |
</code> | </code> | ||
+ | Folosiți ca **ultimele** două argumente pentru comanda ''split'' construcția ''-'' (semnul minus) însemnând că citește de la standard input și ''<prefix>'' reprezentând prefixul pe care vreți să îl puneți fișierelor nou create, adică șirul ''part''. | ||
Pentru ''split'' trebuie să folosiți opțiunile care: | Pentru ''split'' trebuie să folosiți opțiunile care: | ||
Line 304: | Line 306: | ||
==== Căutare cu grep ==== | ==== Căutare cu grep ==== | ||
- | Folosiți ''grep'' pentru a selecta alias-urile cu destinația de forma ''nume.prenume@gmail.com'' din fișierul ''liases'' din [[http://koala.cs.pub.ro/training/res/medium-unix/arc/cap-06-res.zip|arhiva capitolului]]. Intrările din fișierul ''aliases'' se consideră de forma ''alias: destinație''. | + | Folosiți ''grep'' pentru a selecta alias-urile cu destinația de forma ''nume.prenume@gmail.com'' din fișierul ''aliases'' din [[http://koala.cs.pub.ro/training/res/medium-unix/arc/cap-06-res.zip|arhiva capitolului]]. Intrările din fișierul ''aliases'' se consideră de forma ''alias: destinație''. |
==== Generare parole aleatoare ==== | ==== Generare parole aleatoare ==== | ||
Line 317: | Line 319: | ||
Actualizați comanda de mai sus pentru a genera ''20'' de parola a câte ''16'' caractere. | Actualizați comanda de mai sus pentru a genera ''20'' de parola a câte ''16'' caractere. | ||
+ | |||
+ | <note important> | ||
+ | Recomandăm să **nu** folosiți ''for'' (merge, dar vrem să folosim ''fold'' :-P). Vedeți indicațiile legate de folosirea comenzii ''fold'' de mai jos. | ||
+ | </note> | ||
<note tip> | <note tip> | ||
- | Extrageți ''20*16 = 320'' caractere aleatoare și apoi folosiți comanda ''fmt'' cu opțiunea ''-w'' pentru a le grupa în seturi de câte ''16''. | + | Comanda ''fold'' împarte informațiile primite la intrarea standard în linii pe care le afișează la ieșirea standard. Poate să extragă linii de dimensiune dată. Uzual se folosește în forma |
+ | <code> | ||
+ | <command> | fold | ||
+ | </code> | ||
+ | unde ''<command>'' este o comandă care generează informații pe care apoi să le prelucreze comanda ''fold''. | ||
+ | |||
+ | Extrageți ''20*16 = 320'' caractere aleatoare și apoi folosiți comanda ''fold'' cu opțiunea ''-w'' pentru a le grupa în seturi de câte ''16''. Adică o construcție de forma | ||
+ | <code> | ||
+ | cat /dev/urandom | ... | fold -w 16 | ||
+ | </code> | ||
</note> | </note> |