Differences

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

Link to this comparison view

uso:laboratoare:new:05-cli:demo [2018/10/30 22:11]
razvan.deaconescu [Exit code]
uso:laboratoare:new:05-cli:demo [2019/10/28 12:22] (current)
adrian.zatreanu [Demo]
Line 5: Line 5:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git$ sleep 100 &+student@uso:​~/​uso-lab$ sleep 100 &
 [1] 12822 [1] 12822
-student@uso:​~/​uso.git$ ps -o pid,​ppid,​cmd+student@uso:​~/​uso-lab$ ps -o pid,​ppid,​cmd
   PID  PPID CMD   PID  PPID CMD
 22346 22345 bash 22346 22345 bash
Line 24: Line 24:
  
 <code bash> <code bash>
-student@uso:/​uso.git/$ ls | grep "lab+student@uso:​~/uso-lab$ ls /dev | grep "std
-lab02 +stderr 
-lab03 +stdin 
-lab04 +stdout
-lab05 +
-lab09 +
-lab10 +
-lab12 +
-labs+
 </​code>​ </​code>​
  
Line 42: Line 37:
  
 <code bash> <code bash>
-student@uso:/​uso.git/$ ping -c 1 8.8.8.8+student@uso:​~/uso-lab$ ping -c 1 8.8.8.8
 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
 64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=245 ms 64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=245 ms
Line 50: Line 45:
 rtt min/​avg/​max/​mdev = 245.160/​245.160/​245.160/​0.000 ms rtt min/​avg/​max/​mdev = 245.160/​245.160/​245.160/​0.000 ms
 [1]+  Done                    sleep 100 [1]+  Done                    sleep 100
-student@uso:/​uso.git/$ echo $?+student@uso:​~/uso-lab$ echo $?
 0 0
 </​code>​ </​code>​
 <code bash> <code bash>
-student@uso:/​uso.git/$ ping 192.12.12.1+student@uso:​~/uso-lab$ ping 192.12.12.1
 PING 192.12.12.1 (192.12.12.1) 56(84) bytes of data. PING 192.12.12.1 (192.12.12.1) 56(84) bytes of data.
 ^C ^C
Line 60: Line 55:
 5 packets transmitted,​ 0 received, 100% packet loss, time 4100ms 5 packets transmitted,​ 0 received, 100% packet loss, time 4100ms
  
-student@uso:/​uso.git/$ echo $?+student@uso:​~/uso-lab$ echo $?
 1 1
 </​code>​ </​code>​
Line 75: Line 70:
  
 <code bash> <code bash>
-student@uso:/​uso.git/$ sudo apt-get install sl; ps+student@uso:​~/uso-lab$ sudo apt-get install sl; ps
 [sudo] password for student: ​ [sudo] password for student: ​
 Reading package lists... Done Reading package lists... Done
Line 123: Line 118:
 </​code>​ </​code>​
  
-==== Execuția mai multor procese ====+==== Execuția ​condiționată a mai multor procese ====
 De multe ori putem avea o situație în care 2 procese depind unul de celălalt. Pentru a realiza acest  De multe ori putem avea o situație în care 2 procese depind unul de celălalt. Pentru a realiza acest 
 lucru folosim operatorul ''&&''​ care ne asigură faptul că a doua comandă se va executa doar în cazul în  lucru folosim operatorul ''&&''​ care ne asigură faptul că a doua comandă se va executa doar în cazul în 
Line 129: Line 124:
  
 <code bash> <code bash>
-student@uso:/​uso.git/$ cat my_nonexisting_file.txt && ls+student@uso:​~/uso-lab$ cat my_nonexisting_file.txt && ls
 cat: my_nonexisting_file.txt:​ No such file or directory cat: my_nonexisting_file.txt:​ No such file or directory
-student@uso:/​uso.git/$ echo $?+student@uso:​~/uso-lab$ echo $?
 1 1
 </​code>​ </​code>​
  
 Observăm faptul că fișierul ''​my_nonexisting_file.txt''​ nu există și faptul că a doua comandă nu se  Observăm faptul că fișierul ''​my_nonexisting_file.txt''​ nu există și faptul că a doua comandă nu se 
-mai execută, exact ce am dorit să arătăm.+mai execută, exact ce am dorit să arătăm, codul de eroare 1 arătând că prima comandă nu s-a 
 +terminat cu succes.
  
 Schimbăm puțin abordarea astfel încât ambele comenzi să fie executate. Schimbăm puțin abordarea astfel încât ambele comenzi să fie executate.
  
 <code bash> <code bash>
-student@uso:/​uso.git/$ ping -c 1 8.8.8.8 && finger student+student@uso:​~/uso-lab$ ping -c 1 8.8.8.8 && finger student
 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
 64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=32.4 ms 64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=32.4 ms
Line 155: Line 151:
 No mail. No mail.
 No Plan. No Plan.
-student@uso:/​uso.git/$ echo $?+student@uso:​~/uso-lab$ echo $?
 0 0
 </​code>​ </​code>​
Line 163: Line 159:
  
 <code bash> <code bash>
-student@uso:/​uso.git/$ cat my_nonexisting_file.txt || id root+student@uso:​~/uso-lab$ cat my_nonexisting_file.txt || id root
 cat: my_nonexisting_file.txt:​ No such file or directory cat: my_nonexisting_file.txt:​ No such file or directory
 uid=0(root) gid=0(root) groups=0(root) uid=0(root) gid=0(root) groups=0(root)
Line 171: Line 167:
  
 <code bash> <code bash>
-student@uso:/​uso.git/$ cat /etc/passwd || ls+student@uso:​~/uso-lab$ cat /etc/passwd || ls
 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
Line 226: Line 222:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ cd labs/ +student@uso:​~/​uso-lab$ ls ; ps > out
-student@uso:​~/​uso.git/​labs/​$ ls ; ps > out+
 00-intro ​ 02-process ​ 04-appdev ​ 06-hw-boot ​ 08-net ​ 10-sec 00-intro ​ 02-process ​ 04-appdev ​ 06-hw-boot ​ 08-net ​ 10-sec
 01-fs     ​03-user ​    ​05-cli ​    ​07-storage ​ 09-vm   ​11-ctf 01-fs     ​03-user ​    ​05-cli ​    ​07-storage ​ 09-vm   ​11-ctf
-student@uso:​~/​uso.git/labs/$ cat out+student@uso:​~/​uso-lab$ cat out
   PID TTY          TIME CMD   PID TTY          TIME CMD
 13052 pts/2    00:00:00 ps 13052 pts/2    00:00:00 ps
Line 242: Line 237:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/labs/$ ( ls ; ps ) > out2 +student@uso:​~/​uso-lab$ ( ls ; ps ) > out2 
-student@uso:​~/​uso.git/labs/$ cat out2+student@uso:​~/​uso-lab$ cat out2
 00-intro 00-intro
 01-fs 01-fs
Line 268: Line 263:
 ==== Globbing ==== ==== Globbing ====
 În cazul în care vrem să afișăm toate fișierele ale căror nume încep cu litera ''​a''​ și au extensia ​ În cazul în care vrem să afișăm toate fișierele ale căror nume încep cu litera ''​a''​ și au extensia ​
-''​.txt'',​ putem folosi ''​globbing''​. Simbolul ''​*''​ este un wilecard ​și ține locul pentru **orice ​+''​.txt'',​ putem folosi ''​globbing''​. Simbolul ''​*''​ este un wildcard ​și ține locul pentru **orice ​
 de oricâte ori**. de oricâte ori**.
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/labs/$ cd ~/uso.git/labs/​05-cli/​support/​demo/​+student@uso:​~/​uso-lab$ cd ~/uso-lab/​05-cli/​support/​demo/​
 student@uso:​~/​.../​05-cli/​support/​demo/​$ ls a*.txt student@uso:​~/​.../​05-cli/​support/​demo/​$ ls a*.txt
 a1.txt ​ a3.txt ​ a5.txt ​ a7.txt ​ a9.txt a1.txt ​ a3.txt ​ a5.txt ​ a7.txt ​ a9.txt
Line 302: Line 297:
  
 <code bash> <code bash>
-student@uso:​~$ cd uso.git+student@uso:​~$ cd uso-lab
-student@uso:​~/​uso.git/$ mouse="​Jerry"​ +student@uso:​~/​uso-lab/$ mouse="​Jerry"​ 
-student@uso:​~/​uso.git/$ echo ${mouse}+student@uso:​~/​uso-lab/$ echo ${mouse}
 Jerry Jerry
 </​code>​ </​code>​
Line 312: Line 307:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ mouse="​Jerry"​ +student@uso:​~/​uso-lab/$ mouse="​Jerry"​ 
-student@uso:​~/​uso.git/$ echo $mouse_the_best+student@uso:​~/​uso-lab/$ echo $mouse_the_best
  
-student@uso:​~/​uso.git/$+student@uso:​~/​uso-lab/$
 </​code>​ </​code>​
  
Line 323: Line 318:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ mouse="​Jerry"​ +student@uso:​~/​uso-lab/$ mouse="​Jerry"​ 
-student@uso:​~/​uso.git/$ echo ${mouse}_the_best+student@uso:​~/​uso-lab/$ echo ${mouse}_the_best
 Jerry_the_best Jerry_the_best
 </​code>​ </​code>​
  
 Un alt caz în care expandarea este utilă este evaluarea expresiilor aritmetice. Pentru început, declarăm 2  Un alt caz în care expandarea este utilă este evaluarea expresiilor aritmetice. Pentru început, declarăm 2 
-variabile ​propii ​în shell:+variabile în shell:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ a=3 +student@uso:​~/​uso-lab/$ a=3 
-student@uso:​~/​uso.git/$ b=4 +student@uso:​~/​uso-lab/$ b=4 
-student@uso:​~/​uso.git/$ echo $a && echo $b+student@uso:​~/​uso-lab/$ echo $a && echo $b
 3 3
 4 4
Line 342: Line 337:
  
 <code bash> <code bash>
-student@uso:​~/​uso.git/$ echo $((a+b))+student@uso:​~/​uso-lab/$ echo $((a+b))
 7 7
 </​code>​ </​code>​
Line 348: Line 343:
 <​note>​ <​note>​
 Dacă am fi folosit comanda ''​echo $a+$b'',​ shell-ul ar fi înlocuit ''​$a''​ cu valoarea lui a, adică ''​3'' ​ Dacă am fi folosit comanda ''​echo $a+$b'',​ shell-ul ar fi înlocuit ''​$a''​ cu valoarea lui a, adică ''​3'' ​
-și ''​$b''​ cu valoarea lui b, adică ''​4'',​ iar rezultatul comenzii ​va fi ''​3+4'',​ nu ''​7''​ așa cum ne-am fi  +și ''​$b''​ cu valoarea lui b, adică ''​4'',​ iar rezultatul comenzii ​ar fi fost șirul de caractere ​''​3+4'', ​ 
-așteptat.+nu ''​7''​ așa cum ne-am fi așteptat.
 </​note>​ </​note>​
  
Line 356: Line 351:
  
 <code bash> <code bash>
-student@uso:/​uso.git/$ env+student@uso:​~/uso-lab$ env
 LS_COLORS=rs=0:​di=01;​34:​ln=01;​36:​mh=00:​pi=40;​33:​so=01;​35:​do=01;​35:​bd=40;​33;​01:​cd=40;​33;​01:​or=40;​31;​01:​mi=00:​su=37;​41:​sg=30;​43:​ca=30;​41:​tw=30;​42:​ow=34;​42:​st=37;​44:​ex=01;​32:​*.tar=01;​31:​*.tgz=01;​31:​*.arc=01;​31:​*.arj=01;​31:​*.taz=01;​31:​*.lha=01;​31:​*.lz4=01;​31:​*.lzh=01;​31:​*.lzma=01;​31:​*.tlz=01;​31:​*.txz=01;​31:​*.tzo=01;​31:​*.t7z=01;​31:​*.zip=01;​31:​*.z=01;​31:​*.Z=01;​31:​*.dz=01;​31:​*.gz=01;​31:​*.lrz=01;​31:​*.lz=01;​31:​*.lzo=01;​31:​*.xz=01;​31:​*.zst=01;​31:​*.tzst=01;​31:​*.bz2=01;​31:​*.bz=01;​31:​*.tbz=01;​31:​*.tbz2=01;​31:​*.tz=01;​31:​*.deb=01;​31:​*.rpm=01;​31:​*.jar=01;​31:​*.war=01;​31:​*.ear=01;​31:​*.sar=01;​31:​*.rar=01;​31:​*.alz=01;​31:​*.ace=01;​31:​*.zoo=01;​31:​*.cpio=01;​31:​*.7z=01;​31:​*.rz=01;​31:​*.cab=01;​31:​*.wim=01;​31:​*.swm=01;​31:​*.dwm=01;​31:​*.esd=01;​31:​*.jpg=01;​35:​*.jpeg=01;​35:​*.mjpg=01;​35:​*.mjpeg=01;​35:​*.gif=01;​35:​*.bmp=01;​35:​*.pbm=01;​35:​*.pgm=01;​35:​*.ppm=01;​35:​*.tga=01;​35:​*.xbm=01;​35:​*.xpm=01;​35:​*.tif=01;​35:​*.tiff=01;​35:​*.png=01;​35:​*.svg=01;​35:​*.svgz=01;​35:​*.mng=01;​35:​*.pcx=01;​35:​*.mov=01;​35:​*.mpg=01;​35:​*.mpeg=01;​35:​*.m2v=01;​35:​*.mkv=01;​35:​*.webm=01;​35:​*.ogm=01;​35:​*.mp4=01;​35:​*.m4v=01;​35:​*.mp4v=01;​35:​*.vob=01;​35:​*.qt=01;​35:​*.nuv=01;​35:​*.wmv=01;​35:​*.asf=01;​35:​*.rm=01;​35:​*.rmvb=01;​35:​*.flc=01;​35:​*.avi=01;​35:​*.fli=01;​35:​*.flv=01;​35:​*.gl=01;​35:​*.dl=01;​35:​*.xcf=01;​35:​*.xwd=01;​35:​*.yuv=01;​35:​*.cgm=01;​35:​*.emf=01;​35:​*.ogv=01;​35:​*.ogx=01;​35:​*.aac=00;​36:​*.au=00;​36:​*.flac=00;​36:​*.m4a=00;​36:​*.mid=00;​36:​*.midi=00;​36:​*.mka=00;​36:​*.mp3=00;​36:​*.mpc=00;​36:​*.ogg=00;​36:​*.ra=00;​36:​*.wav=00;​36:​*.oga=00;​36:​*.opus=00;​36:​*.spx=00;​36:​*.xspf=00;​36:​ LS_COLORS=rs=0:​di=01;​34:​ln=01;​36:​mh=00:​pi=40;​33:​so=01;​35:​do=01;​35:​bd=40;​33;​01:​cd=40;​33;​01:​or=40;​31;​01:​mi=00:​su=37;​41:​sg=30;​43:​ca=30;​41:​tw=30;​42:​ow=34;​42:​st=37;​44:​ex=01;​32:​*.tar=01;​31:​*.tgz=01;​31:​*.arc=01;​31:​*.arj=01;​31:​*.taz=01;​31:​*.lha=01;​31:​*.lz4=01;​31:​*.lzh=01;​31:​*.lzma=01;​31:​*.tlz=01;​31:​*.txz=01;​31:​*.tzo=01;​31:​*.t7z=01;​31:​*.zip=01;​31:​*.z=01;​31:​*.Z=01;​31:​*.dz=01;​31:​*.gz=01;​31:​*.lrz=01;​31:​*.lz=01;​31:​*.lzo=01;​31:​*.xz=01;​31:​*.zst=01;​31:​*.tzst=01;​31:​*.bz2=01;​31:​*.bz=01;​31:​*.tbz=01;​31:​*.tbz2=01;​31:​*.tz=01;​31:​*.deb=01;​31:​*.rpm=01;​31:​*.jar=01;​31:​*.war=01;​31:​*.ear=01;​31:​*.sar=01;​31:​*.rar=01;​31:​*.alz=01;​31:​*.ace=01;​31:​*.zoo=01;​31:​*.cpio=01;​31:​*.7z=01;​31:​*.rz=01;​31:​*.cab=01;​31:​*.wim=01;​31:​*.swm=01;​31:​*.dwm=01;​31:​*.esd=01;​31:​*.jpg=01;​35:​*.jpeg=01;​35:​*.mjpg=01;​35:​*.mjpeg=01;​35:​*.gif=01;​35:​*.bmp=01;​35:​*.pbm=01;​35:​*.pgm=01;​35:​*.ppm=01;​35:​*.tga=01;​35:​*.xbm=01;​35:​*.xpm=01;​35:​*.tif=01;​35:​*.tiff=01;​35:​*.png=01;​35:​*.svg=01;​35:​*.svgz=01;​35:​*.mng=01;​35:​*.pcx=01;​35:​*.mov=01;​35:​*.mpg=01;​35:​*.mpeg=01;​35:​*.m2v=01;​35:​*.mkv=01;​35:​*.webm=01;​35:​*.ogm=01;​35:​*.mp4=01;​35:​*.m4v=01;​35:​*.mp4v=01;​35:​*.vob=01;​35:​*.qt=01;​35:​*.nuv=01;​35:​*.wmv=01;​35:​*.asf=01;​35:​*.rm=01;​35:​*.rmvb=01;​35:​*.flc=01;​35:​*.avi=01;​35:​*.fli=01;​35:​*.flv=01;​35:​*.gl=01;​35:​*.dl=01;​35:​*.xcf=01;​35:​*.xwd=01;​35:​*.yuv=01;​35:​*.cgm=01;​35:​*.emf=01;​35:​*.ogv=01;​35:​*.ogx=01;​35:​*.aac=00;​36:​*.au=00;​36:​*.flac=00;​36:​*.m4a=00;​36:​*.mid=00;​36:​*.midi=00;​36:​*.mka=00;​36:​*.mp3=00;​36:​*.mpc=00;​36:​*.ogg=00;​36:​*.ra=00;​36:​*.wav=00;​36:​*.oga=00;​36:​*.opus=00;​36:​*.spx=00;​36:​*.xspf=00;​36:​
 LC_MEASUREMENT=ro_RO.UTF-8 LC_MEASUREMENT=ro_RO.UTF-8
Line 391: Line 386:
 LC_TIME=ro_RO.UTF-8 LC_TIME=ro_RO.UTF-8
 _=/​usr/​bin/​env _=/​usr/​bin/​env
-OLDPWD=/​home/​student/​uso/labs/​05-cli/​support/​demo+OLDPWD=/​home/​student/​uso-lab/​05-cli/​support/​demo
 </​code>​ </​code>​
  
uso/laboratoare/new/05-cli/demo.1540930285.txt.gz · Last modified: 2018/10/30 22:11 by razvan.deaconescu
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