Shell-ul este mediul implicit prin care un utilizator poate interactiona cu sistemul de operare Linux. Acesta accepta comenzi de la utilizator si le executa.
Comanda cd (change directory) este folosita pentru a naviga prin sistem. Cand deschidem terminalul calea curenta in care ne aflam este home. Exemple de utilizare:
sergiu@SERGIU:/mnt/c$ cd Users sergiu@SERGIU:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sergi sergiu@SERGIU:/mnt/c/Users$ cd sergi sergiu@SERGIU:/mnt/c/Users/sergi$ cd Desktop/ sergiu@SERGIU:/mnt/c/Users/sergi/Desktop$ cd.. sergiu@SERGIU:/mnt/c/Users/sergi
Mai multe informatii despre aceasta comanda in acest link.
Comanda ls (list) listeaza continutul unui director si este folosita pentru a afisa fisierele/directoarele dintr-un director/subdirector.
sergiu@SERGIU:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sergi
Mai multe informatii despre comanda ls in acest link.
Comanda mkdir (make directory) creeaza un director (sau mai multe) daca acesta nu exista deja.
sergiu@SERGIU:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sergi sergiu@SERGIU:/mnt/c/Users$ mkdir POO sergiu@SERGIU:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sergi POO
Mai multe informatii despre comanda mkdir in acest link.
Comanda rmdir (delete a directory) sterge un director existent care nu contine fisiere.
sergiu@SERGIU:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sergi sergiu@SERGIU:/mnt/c/Users$ mkdir POO sergiu@SERGIU:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sergi POO sergiu@SERGIU:/mnt/c/Users$ rmdir POO sergiu@SERGIU:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sergi
Comanda rm (remove) sterge un fisier sau un director. Daca directorul pe care vrem sa il stergem contine alte fisiere la randul lui, putem folosi comanda rm -f care sterge fortat acel director.
sergiu@SERGIU:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sergi sergiu@SERGIU:/mnt/c/Users$ mkdir POO sergiu@SERGIU:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sergi POO sergiu@SERGIU:/mnt/c/Users$ rm POO sergiu@SERGIU:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sergi
Mai multe informatii despre comanda rm in acest link.
Comanda cat (concatenate) concateneaza doua fisiere sau afiseaza continul unui fisier. Presupunem ca avem urmatorul text in fisierul poo.txt: ,,Programare orientata pe obiecte”
sergiu@SERGIU:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sergi poo.txt sergiu@SERGIU:/mnt/c/Users$ cat poo.txt Programare orientata pe obiecte sergiu@SERGIU:/mnt/c/Users$
Comanda chmod (change file mode) este folosita pentru a schimba prioritatile pe care le avem asupra unui anumit fisier. Aceasta comanda afecteaza permisiunile de read, write, execute pentru un utilizator / grup / altii (others).
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”
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.
sergiu@SERGIU:/mnt/c/Users$ sudo ls [sudo] password for sergiu: 'All Users' Default 'Default User' Public desktop.ini sergi
Mai multe informatii despre aceasta comandain acest link.
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.
sergiu@SERGIU:/mnt/c/Users$ sudo apt-get install sublime-text [sudo] password for sergiu: Reading package list... Done
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:
Presupunem ca avem programul ,,poo.cpp” care contine
#include <iostream> using namespace std; int main () { for (int i = 0; i < 3; i++) cout << "Hello world of OOP!" << endl; return 0; }
poo@is:/laborator g++ poo.cpp poo@is:/laborator ls poo.cpp a.out
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.
poo@is:/laborator g++ poo.cpp -o main poo@is:/laborator ls poo.cpp main
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
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]