Differences

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

Link to this comparison view

poo-is:ghidcomenzilinux [2020/09/09 00:28]
ruben_gilian.udroiu
poo-is:ghidcomenzilinux [2020/09/09 01:01] (current)
ruben_gilian.udroiu
Line 88: Line 88:
 Exemplu: daca apelam chmod 756 program.cpp inseamna ca utilizatorul principal are drepturi depline (4+2+1), grupul de utilizatori are permisiuni de citire si stergere (4+1), iar pentru others avem permisiune de citire si scriere(4+2). Daca in loc de 6 aveam 0, insemna ca revocam toate permisiunile pentru others asupra fisierului ,,​program.cpp"</​note>​ Exemplu: daca apelam chmod 756 program.cpp inseamna ca utilizatorul principal are drepturi depline (4+2+1), grupul de utilizatori are permisiuni de citire si stergere (4+1), iar pentru others avem permisiune de citire si scriere(4+2). Daca in loc de 6 aveam 0, insemna ca revocam toate permisiunile pentru others asupra fisierului ,,​program.cpp"</​note>​
 Mai multe informatii despre aceasta comanda [[https://​www.howtoforge.com/​tutorial/​linux-chmod-command/​|in acest link.]] Mai multe informatii despre aceasta comanda [[https://​www.howtoforge.com/​tutorial/​linux-chmod-command/​|in acest link.]]
 +== sudo ==
 +Comanda **sudo** (substitute user do) permite utilizatorului sa aiba privilegii de **root** (high level). Este recomandat sa evitam pe cat de mult posibil utilizarea comenzilor folosind sudo pentru ca, in anumite circumstante,​ putem sa provocam avarii sistemului de operare. In cadrul laboratorului de POO nu o sa abuzam aceasta comanda. ​
 +<code bash>
 +sergiu@SERGIU:/​mnt/​c/​Users$ sudo ls
 +[sudo] password for sergiu: ​
 +'All Users' ​  ​Default ​ '​Default User' ​  ​Public ​  ​desktop.ini ​  sergi
 +</​code>​
 +Mai multe informatii despre aceasta comanda[[https://​man7.org/​linux/​man-pages/​man8/​sudo.8.html|in acest link.]]
 == apt-get install [nume] == == apt-get install [nume] ==
 Aceasta comanda este folosita pentru a instala un anumit pachet (exemple: sublime, chrome etc.). Deoarece un element strain este vazut ca un eventual ,,​pericol"​ pentru sistemul de operare, trebuie sa fortam sistemul sa execute aceasta comanda, de aceea trebuie sa folosim comanda **sudo**. Aceasta comanda este folosita pentru a instala un anumit pachet (exemple: sublime, chrome etc.). Deoarece un element strain este vazut ca un eventual ,,​pericol"​ pentru sistemul de operare, trebuie sa fortam sistemul sa execute aceasta comanda, de aceea trebuie sa folosim comanda **sudo**.
Line 95: Line 103:
 Reading package list... Done Reading package list... Done
 </​code>​ </​code>​
-== sudo == + 
-Comanda ​**sudo** ​(substitute user do) permite utilizatorului sa aiba privilegii de **root** (high level)Este recomandat sa evitam pe cat de mult posibil utilizarea comenzilor folosind sudo pentru ​ca, in anumite circumstanteputem sa provocam avarii sistemului de operareIn cadrul laboratorului ​de POO nu o sa abuzam aceasta comanda. ​+==== GNU Compiler ​==== 
 +Sistemul de operare Linux este prevazut un compilator care, la inceput, suporta doar limbajul C. Cu timpul, GNU Compiler, s-a extins si ofera suport si pentru limbajele C++, Java, Fortran, Objective-C.  
 +Daca nu avem preinstalat acest compilator pe versiunea noastra de Linux il putem obtine folosind comanda: 
 +<note important>​sudo apt-get install g++</​note>​ 
 +In decursul laboratorului de POO o sa avem nevoie de un tool suplimentar care automatizeaza procesul de compilare a aplicatiilor (cu ajutorul makefile-urilor), ​**GNU Make**. 
 +<note important>​sudo apt-get install make</​note>​ 
 +<​note>​Pentru a compila un program in C folosim ​**gcc**, iar pentru a compila un program in C++ folosim **g++**.</​note>​ 
 +=== Exemplu ​de utilizare === 
 +Presupunem ​ca avem programul ​,,poo.cpp" care contine 
 +<code c++> 
 +#include <​iostream>​ 
 +using namespace std; 
 +int main () { 
 +for (int i = 0; i < 3; i++) 
 +    cout << "Hello world of OOP!" << endl; 
 +return 0; 
 +
 +</​code>​ 
 +== Etapa de compilare ==
 <code bash> <code bash>
-sergiu@SERGIU:/mnt/c/Users$ sudo ls +poo@is:/laborator g++ poo.cpp 
-[sudo] password for sergiu:  +poo@is:/laborator ls 
-'All Users' ​  ​Default ​ '​Default User' ​  ​Public ​  ​desktop.ini   sergi+poo.cpp a.out 
 +</code> 
 +Observam ca in urma compilarii am obtinut executabilul **a.out** deoarece nu i-am impus un nume, iar compilatorul i-a atribuit unul by default. Pentru a denumi sugestiv executabilul o sa folosim extensia **-o**. 
 +<code bash> 
 +poo@is:/​laborator g++ poo.cpp -o main 
 +poo@is:/​laborator ​ls 
 +poo.cpp main 
 +</​code>​ 
 +== Rularea executabilului == 
 +<code bash> 
 +poo@is:/laborator g++ poo.cpp -o main 
 +poo@is:/​laborator ls 
 +poo.cpp main 
 +poo@is:/​laborator ./main 
 +Hello world of OOP! 
 +Hello world of OOP! 
 +Hello world of OOP! 
 +poo@is:/​laborator
 </​code>​ </​code>​
 +<note important>​Daca avem de compilat mai multe programe, procedam astfel:
 +
 +//g++ program1.cpp program2.cpp program3.cpp program4.cpp -o main//
 +
 +In cazul in care lucram cu fisiere de input/​output,​ acestea trebuie introduse ca argumente in linia de comanda delimitate de cate un spatiu. ​
 +
 +//./main [nume_fisier1] [nume_fisier2] [nume_fisier3]//</​note>​
 +
poo-is/ghidcomenzilinux.1599600521.txt.gz · Last modified: 2020/09/09 00:28 by ruben_gilian.udroiu
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