Differences

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

Link to this comparison view

uso:laboratoare:new:05-cli:need-to-know [2018/11/04 15:29]
elena.stoican [Înlănțuirea comenzilor]
uso:laboratoare:new:05-cli:need-to-know [2020/11/10 21:53] (current)
liza_elena.babu [Filtre de procesare]
Line 6: Line 6:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ fdisk -l+student@uso:​~/​uso-lab$ fdisk -l
 fdisk: cannot open /dev/loop0: Permission denied fdisk: cannot open /dev/loop0: Permission denied
 fdisk: cannot open /dev/loop1: Permission denied fdisk: cannot open /dev/loop1: Permission denied
Line 29: Line 29:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ sudo !!+student@uso:​~/​uso-lab$ sudo !!
 sudo fdisk -l sudo fdisk -l
 [sudo] password for student: [sudo] password for student:
Line 56: Line 56:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ x=4 +student@uso:​~/​uso-lab$ x=4 
-student@uso:​~/​uso.git/$ echo $x+student@uso:​~/​uso-lab$ echo $x
 4 4
 </​code>​ </​code>​
Line 65: Line 65:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ echo $x+student@uso:​~/​uso-lab$ echo $x
  
-student@uso:​~/​uso.git/$+student@uso:​~/​uso-lab$
 </​code>​ </​code>​
  
Line 88: Line 88:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ ./script.sh+student@uso:​~/​uso-lab$ ./script.sh
  
-student@uso:​~/​uso.git/$+student@uso:​~/​uso-lab$
 </​code>​ </​code>​
  
Line 98: Line 98:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ export x=4+student@uso:​~/​uso-lab$ export x=4
 </​code>​ </​code>​
  
Line 104: Line 104:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ ./script.sh+student@uso:​~/​uso-lab$ ./script.sh
 4 4
 </​code>​ </​code>​
Line 110: Line 110:
 ==== Redirectarea datelor de intrare, ieșire și erorile ==== ==== Redirectarea datelor de intrare, ieșire și erorile ====
  
-Pentru a urmări acest tutorial, mutați-vă în directorul ''​~/​uso.git/labs/​05-cli/​support/​need-to-know''​. ​+Pentru a urmări acest tutorial, mutați-vă în directorul ''​~/​uso-lab/​05-cli/​support/​need-to-know''​. ​
 Listăm conținutul directorul și observăm că avem un program C și un Makefile. Compilăm programul ​ Listăm conținutul directorul și observăm că avem un program C și un Makefile. Compilăm programul ​
 folosind comanda ''​make''​. Folosiți comanda ''​make run''​ pentru a rula program și introduceți inputul ​ folosind comanda ''​make''​. Folosiți comanda ''​make run''​ pentru a rula program și introduceți inputul ​
Line 127: Line 127:
 Încercați să introduceți și date care nu se potrivesc cerințelor. Programul va produce erori care ne deranjează și Încercați să introduceți și date care nu se potrivesc cerințelor. Programul va produce erori care ne deranjează și
 pe care vrem să le separăm de datele de ieșire standard. Pentru a face acest lucru putem redirecta erorile ​ pe care vrem să le separăm de datele de ieșire standard. Pentru a face acest lucru putem redirecta erorile ​
-într-un fișier. Rulați comanda ''​make run_redirect_err''​ care va redireca ​eventualele erori apărute în +într-un fișier. Rulați comanda ''​make run_redirect_err''​ care va redirecta ​eventualele erori apărute în 
 fișierul ''​err.txt''​. fișierul ''​err.txt''​.
  
Line 140: Line 140:
 </​note>​ </​note>​
  
-  - Adăugați o regulă în fișierul ''​Makefile''​ care să ruleze același program și să redirecteze atât intrările, cât și erorile. Pentru ​a face acest lucru, creați un fisier ​numit ''​input.txt''​ care să conțină informațiile pe care le cere programul. Folosiți operatorul ''<''​.+  - Adăugați o regulă în fișierul ''​Makefile''​ care să ruleze același program și să redirecteze atât intrările, cât și erorile, într-o singură comandă. Pentru ​intrări, creați un fișier ​numit ''​input.txt''​ care să conțină informațiile pe care le cere programul. Folosiți operatorul ''<''​. Pentru erori, redirectați în fișierul ''​errors.txt''​. Observați că pentru a redirecta ieșirile sau erorile, fișierul va fi creat automat.
  
 ==== Comunicare interprocese ==== ==== Comunicare interprocese ====
Line 164: Line 164:
  
 <code bash> <code bash>
-student@uso:​~/​.../​05-cli/​support/​need-to-know$ cd ~/​uso.git/​ +student@uso:​~$ cat /etc/passwd
-student@uso:​~/​uso.git/​$ 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 219: Line 176:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ cat /etc/passwd | cut -f1 -d:+student@uso:​~/​uso-lab$ cat /etc/passwd | cut -f1 -d":"
 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 282: Line 197:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ cd ~/uso.git/labs/​05-cli/​support/​need-to-know+student@uso:​~/​uso-lab$ cd ~/uso-lab/​05-cli/​support/​need-to-know
 student@uso:​~/​.../​05-cli/​support/​need-to-know$ stat Makefile | grep "​Modify"​ student@uso:​~/​.../​05-cli/​support/​need-to-know$ stat Makefile | grep "​Modify"​
 Modify: 2018-10-29 23:​40:​49.942659138 +0200 Modify: 2018-10-29 23:​40:​49.942659138 +0200
Line 293: Line 208:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ cat /​dev/​urandom+student@uso:​~/​uso-lab$ cat /​dev/​urandom
 (...) (...)
  
 ^C ^C
-student@uso:​~/​uso.git/$+student@uso:​~/​uso-lab$
 </​code>​ </​code>​
  
Line 308: Line 223:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ cd ~/uso/labs/​05-cli/​support/​need-to-know;​ ls -l+student@uso:​~/​uso-lab$ cd ~/uso-lab/​05-cli/​support/​need-to-know;​ ls -l
 total 8 total 8
 -rw-rw-r-- 1 student student ​ 122 Oct 29 23:40 Makefile -rw-rw-r-- 1 student student ​ 122 Oct 29 23:40 Makefile
Line 322: Line 237:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ ping -c 1 www.google.com && firefox www.google.com+student@uso:​~/​uso-lab$ ping -c 1 www.google.com && firefox www.google.com
 </​code>​ </​code>​
  
 Acum încercați să înlocuiți ''​www.google.com''​ cu ''​www.random-webiste.xyz''​ și ''&&''​ cu ''​||''​. ​ Acum încercați să înlocuiți ''​www.google.com''​ cu ''​www.random-webiste.xyz''​ și ''&&''​ cu ''​||''​. ​
-Oservați ce se întâmplă.+Observați ce se întâmplă.
  
-  - Mutați-vă la calea ''​~/​uso.git/labs/​05-cli/​support/​need-to-know/​err-file''​ și, folosind o singură comandă, compilați și rulați programul ''​simple_pow.c''​. În cazul în care apar erori de compilare, vrem să nu rulăm executabilul. Rezolvați eroarea astfel încât programul să compileze cu succes și rulați-l. (Hint: ce bibliotecă folosește programul ''​simple_pow.c''?​)+  - Mutați-vă la calea ''​~/​uso-lab/​05-cli/​support/​need-to-know/​err-file''​ și, folosind o singură comandă, compilați și rulați programul ''​simple_pow.c''​. În cazul în care apar erori de compilare, vrem să nu rulăm executabilul. Rezolvați eroarea astfel încât programul să compileze cu succes și rulați-l. (Hint: ce bibliotecă folosește programul ''​simple_pow.c''?​)
uso/laboratoare/new/05-cli/need-to-know.1541338188.txt.gz · Last modified: 2018/11/04 15:29 by elena.stoican
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