Differences

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

Link to this comparison view

uso:laboratoare:new:05-cli:get-a-life [2018/10/30 10:59]
liza_elena.babu [Get a life]
uso:laboratoare:new:05-cli:get-a-life [2019/10/31 11:32] (current)
adrian.zatreanu
Line 1: Line 1:
 ===== Get a life ===== ===== Get a life =====
- 
-==== Exerciții ==== 
-  - Să scrie un script în care trebuie să schimbe directorul de lucru. (Hint: ''​source''​) 
-  - Mutați-vă la calea ''​~/​uso.git/​labs/​05-cli/​support/​get-a-life/​ex2/''​ și rulați scriptul ''​just_regular_updates_here.sh''​. Continuați să folosiți comenzile de bază (ls, cat, cd). Observați ce se întâmplă și rezolvați problema. 
-  - La calea ''​~/​uso.git/​labs/​05-cli/​support/​get-a-life/​ex3/''​ se află fișierul ''​image.png''​. Inspectați tipul fișierului. Scopul acestui exercițiu este să aflați un mesaj secret. (Hint: ''​file''​) 
-  - În directorul ''​~/​uso.git/​labs/​05-cli/​support/​get-a-life/​ex4/''​ se află numeroase fișiere. Să creeze o arhivă cu fișierele ce au o dimensiue mai mare de 10MB. 
-  - Să creeze un script care pornește programul ''​firefox''​ doar dacă acesta nu există deja. Altfel, nu-l pornește, ci doar afișează informații depsre el. Configurați acest script să ruleze din ''​cron''​ la fiecare 5 minute. (Hint: ​ [[https://​www.thegeekstuff.com/​2011/​07/​cron-every-5-minutes|cron]]) 
  
 ==== Filtre de text avansate ==== ==== Filtre de text avansate ====
Line 15: Line 8:
  
 === sed === === sed ===
-Înainte să începeți acest tutorial, navigați către calea ''/​home/​student/​uso/labs/​05-cli/​support/​get-a-life/​tutorial-sed''​.+Înainte să începeți acest tutorial, navigați către calea ''/​home/​student/​uso-lab/​05-cli/​support/​get-a-life/​sed-tutorial''​.
  
 În acest director avem fișierul ''​songs.txt''​ cu următorul conținut: În acest director avem fișierul ''​songs.txt''​ cu următorul conținut:
  
 <code bash> <code bash>
-student@uso:​~/​.../​support/​get-a-life/​tutorial-sed$ cat songs.txt ​+student@uso:​~/​.../​support/​get-a-life/​sed-tutorial$ cat songs.txt ​
 1, Justin Timberlake, Title 545, Price $6.30 1, Justin Timberlake, Title 545, Price $6.30
 2, Taylor Swift, Title 723, Price $7.90 2, Taylor Swift, Title 723, Price $7.90
Line 34: Line 27:
  
 <code bash> <code bash>
-student@uso:​~/​.../​support/​get-a-life/​tutorial-sed$ sed '​s/​6.30/​7.30/'​ songs.txt > songs2.txt +student@uso:​~/​.../​support/​get-a-life/​sed-tutorial$ sed 's/6\.30/​7.30/'​ songs.txt > songs2.txt 
-student@uso:​~/​.../​support/​get-a-life/​tutorial-sed$ cat songs2.txt ​+student@uso:​~/​.../​support/​get-a-life/​sed-tutorial$ cat songs2.txt ​
 1, Justin Timberlake, Title 545, Price $7.30 1, Justin Timberlake, Title 545, Price $7.30
 2, Taylor Swift, Title 723, Price $7.90 2, Taylor Swift, Title 723, Price $7.90
Line 46: Line 39:
  
 === awk === === awk ===
-Mai devreme am văzut că putem extrage numele tuturor ​utilizatorilo ​din sistem folosind ''​tr''​. Vrem să +Mai devreme am văzut că putem extrage numele tuturor ​utilizatorilor ​din sistem folosind ''​tr''​. Vrem să 
 facem asta folosind și filtrul ''​awk''​. facem asta folosind și filtrul ''​awk''​.
  
Line 52: Line 45:
  
 <code bash> <code bash>
-student@uso:​~/​.../​support/​get-a-life/​tutorial-sed$ cat /etc/passwd+student@uso:​~/​.../​support/​get-a-life/​sed-tutorial$ cat /etc/passwd
 root:​x:​0:​0:​root:/​root:/​bin/​bash root:​x:​0:​0:​root:/​root:/​bin/​bash
 daemon:​x:​1:​1:​daemon:/​usr/​sbin:/​usr/​sbin/​nologin daemon:​x:​1:​1:​daemon:/​usr/​sbin:/​usr/​sbin/​nologin
 bin:​x:​2:​2:​bin:/​bin:/​usr/​sbin/​nologin bin:​x:​2:​2:​bin:/​bin:/​usr/​sbin/​nologin
-sys:​x:​3:​3:​sys:/​dev:/​usr/​sbin/​nologin +(...)
-sync:​x:​4:​65534:​sync:/​bin:/​bin/​sync +
-games:​x:​5:​60:​games:/​usr/​games:/​usr/​sbin/​nologin +
-man:​x:​6:​12:​man:/​var/​cache/​man:/​usr/​sbin/​nologin +
-lp:​x:​7:​7:​lp:/​var/​spool/​lpd:/​usr/​sbin/​nologin +
-mail:​x:​8:​8:​mail:/​var/​mail:/​usr/​sbin/​nologin +
-news:​x:​9:​9:​news:/​var/​spool/​news:/​usr/​sbin/​nologin +
-uucp:​x:​10:​10:​uucp:/​var/​spool/​uucp:/​usr/​sbin/​nologin +
-proxy:​x:​13:​13:​proxy:/​bin:/​usr/​sbin/​nologin +
-www-data:​x:​33:​33:​www-data:/​var/​www:/​usr/​sbin/​nologin +
-backup:​x:​34:​34:​backup:/​var/​backups:/​usr/​sbin/​nologin +
-list:​x:​38:​38:​Mailing List Manager:/​var/​list:/​usr/​sbin/​nologin +
-irc:​x:​39:​39:​ircd:/​var/​run/​ircd:/​usr/​sbin/​nologin +
-gnats:​x:​41:​41:​Gnats Bug-Reporting System ​(admin):/​var/​lib/​gnats:/​usr/​sbin/​nologin +
-nobody:​x:​65534:​65534:​nobody:/​nonexistent:/​usr/​sbin/​nologin +
-systemd-network:​x:​100:​102:​systemd Network Management,,,:/​run/​systemd/​netif:/​usr/​sbin/​nologin +
-systemd-resolve:​x:​101:​103:​systemd Resolver,,,:/​run/​systemd/​resolve:/​usr/​sbin/​nologin +
-syslog:​x:​102:​106::/​home/​syslog:/​usr/​sbin/​nologin +
-messagebus:​x:​103:​107::/​nonexistent:/​usr/​sbin/​nologin +
-_apt:​x:​104:​65534::/​nonexistent:/​usr/​sbin/​nologin +
-uuidd:​x:​105:​111::/​run/​uuidd:/​usr/​sbin/​nologin +
-avahi-autoipd:​x:​106:​112:​Avahi autoip daemon,,,:/​var/​lib/​avahi-autoipd:/​usr/​sbin/​nologin +
-usbmux:​x:​107:​46:​usbmux daemon,,,:/​var/​lib/​usbmux:/​usr/​sbin/​nologin +
-dnsmasq:​x:​108:​65534:​dnsmasq,,,:/​var/​lib/​misc:/​usr/​sbin/​nologin +
-rtkit:​x:​109:​114:​RealtimeKit,,,:/​proc:/​usr/​sbin/​nologin +
-cups-pk-helper:​x:​110:​116:​user for cups-pk-helper service,,,:/​home/​cups-pk-helper:/​usr/​sbin/​nologin +
-speech-dispatcher:​x:​111:​29:​Speech Dispatcher,,,:/​var/​run/​speech-dispatcher:/​bin/​false +
-whoopsie:​x:​112:​117::/​nonexistent:/​bin/​false +
-kernoops:​x:​113:​65534:​Kernel Oops Tracking Daemon,,,:/:/​usr/​sbin/​nologin +
-saned:​x:​114:​119::/​var/​lib/​saned:/​usr/​sbin/​nologin +
-pulse:​x:​115:​120:​PulseAudio daemon,,,:/​var/​run/​pulse:/​usr/​sbin/​nologin +
-avahi:​x:​116:​122:​Avahi mDNS daemon,,,:/​var/​run/​avahi-daemon:/​usr/​sbin/​nologin +
-colord:​x:​117:​123:​colord colour management daemon,,,:/​var/​lib/​colord:/​usr/​sbin/​nologin +
-hplip:​x:​118:​7:​HPLIP system user,,,:/​var/​run/​hplip:/​bin/​false +
-geoclue:​x:​119:​124::/​var/​lib/​geoclue:/​usr/​sbin/​nologin +
-gnome-initial-setup:​x:​120:​65534::/​run/​gnome-initial-setup/:/​bin/​false +
-gdm:​x:​121:​125:​Gnome Display Manager:/​var/​lib/​gdm3:/​bin/​false +
-student:​x:​1000:​1000:​Student User,,,:/​home/​student:/​bin/​bash +
-vboxadd:​x:​999:​1::/​var/​run/​vboxadd:/​bin/​false +
-sshd:​x:​122:​65534::/​run/​sshd:/​usr/​sbin/​nologin +
-festival:​x:​123:​29::/​nonexistent:/​usr/​sbin/​nologin +
-test:​x:​1001:​1001::/​home/​test:/​bin/​sh +
-test2:​x:​1002:​1002:,,,:/​home/​test2:/​bin/​bash+
 </​code>​ </​code>​
  
Line 104: Line 55:
  
 <code bash> <code bash>
-student@uso:​~/​.../​support/​get-a-life/​tutorial-sed$ awk -F: '​{print $1}' /etc/passwd+student@uso:​~/​.../​support/​get-a-life/​sed-tutorial$ awk -F: '​{print $1}' /etc/passwd
 root root
 daemon daemon
 bin bin
-sys +(...)
-sync +
-games +
-man +
-lp +
-mail +
-news +
-uucp +
-proxy +
-www-data +
-backup +
-list +
-irc +
-gnats +
-nobody +
-systemd-network +
-systemd-resolve +
-syslog +
-messagebus +
-_apt +
-uuidd +
-avahi-autoipd +
-usbmux +
-dnsmasq +
-rtkit +
-cups-pk-helper +
-speech-dispatcher +
-whoopsie +
-kernoops +
-saned +
-pulse +
-avahi +
-colord +
-hplip +
-geoclue +
-gnome-initial-setup +
-gdm +
-student +
-vboxadd +
-sshd +
-festival +
-test +
-test2+
 </​code>​ </​code>​
  
Line 158: Line 67:
 despre ''​sed'',​ ''​awk''​ și multe altele [[http://​coewww.rutgers.edu/​linux/​lessons/​lesson9/​shell_script_tutorial.html|aici]]. ​ despre ''​sed'',​ ''​awk''​ și multe altele [[http://​coewww.rutgers.edu/​linux/​lessons/​lesson9/​shell_script_tutorial.html|aici]]. ​
 </​note>​ </​note>​
 +
 +==== Exerciții ====
 +  - Scrieți un script care trebuie să schimbe directorul de lucru în ''​~''​. De ce nu ar merge dacă am scrie pur și simplu ''​cd ~''​ în script? (Hint: ''​source''​)
 +  - Mutați-vă la calea ''​~/​uso-lab/​05-cli/​support/​get-a-life/​ex2/''​ și rulați scriptul ''​just_regular_updates_here.sh''​. După rularea scriptului închideți terminalul curent și deschideți unul nou. Continuați să folosiți comenzile de bază (ls, cat). Observați ce se întâmplă și rezolvați problema.
 +  - La calea ''​~/​uso-lab/​05-cli/​support/​get-a-life/​ex3/''​ se află fișierul ''​image.png''​. Inspectați tipul fișierului. Scopul acestui exercițiu este să aflați un mesaj secret. (Hint: ''​file''​)
 +  - În directorul ''​~/​uso-lab/​05-cli/​support/​get-a-life/​ex4/''​ se află numeroase fișiere. Să se creeze o arhivă cu fișierele ce au o dimensiune mai mare de 10MB.
 +  - Să se creeze un script care pornește programul ''​firefox''​ doar dacă acesta nu rulează deja. Altfel, nu-l pornește, ci doar afișează informații despre el. Configurați acest script să ruleze din ''​cron''​ la fiecare 5 minute. (Hint: ​ [[https://​www.thegeekstuff.com/​2011/​07/​cron-every-5-minutes|cron]])
 +  - Realizați un script care să creeze câte o arhivă pentru fiecare branch al repository-ului. (Hint: ''​man git'',​ [[https://​www.cyberciti.biz/​faq/​bash-for-loop/​|for]]) ​
 +  - Folosind tot website-ul de [[http://​ezprompt.net|aici]],​ modificați prompt-ul astfel încât să vă arate și branch-ul curent Git pe care vă aflați.
 +
 +Înainte:
 +  ​
 +<code bash>
 +student@uso:​~$
 +</​code>​
 +  ​
 +După:
 +<code bash>
 +student@uso:​~[lab-05-cli]$
 +</​code>​
uso/laboratoare/new/05-cli/get-a-life.1540889984.txt.gz · Last modified: 2018/10/30 10:59 by liza_elena.babu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0