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:
SDA-AB@SDA-AB:/mnt/c$ cd Users SDA-AB@SDA-AB:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sda SDA-AB@SDA-AB:/mnt/c/Users$ cd sda SDA-AB@SDA-AB:/mnt/c/Users/sda$ cd Desktop/ SDA-AB@SDA-AB:/mnt/c/Users/sda/Desktop$ cd.. SDA-AB@SDA-AB:/mnt/c/Users/sda
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.
SDA-AB@SDA-AB:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sda
Mai multe informatii despre comanda ls in acest link.
Comanda mkdir (make directory) creeaza un director (sau mai multe) daca acesta nu exista deja.
SDA-AB@SDA-AB:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sda SDA-AB@SDA-AB:/mnt/c/Users$ mkdir SDA-AB SDA-AB@SDA-AB:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sda SDA-AB
Mai multe informatii despre comanda mkdir in acest link.
Comanda rmdir (delete a directory) sterge un director existent care nu contine fisiere.
SDA-AB@SDA-AB:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sda SDA-AB@SDA-AB:/mnt/c/Users$ mkdir SDA-AB SDA-AB@SDA-AB:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sda SDA-AB SDA-AB@SDA-AB:/mnt/c/Users$ rmdir SDA-AB SDA-AB@SDA-AB:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sda
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.
SDA-AB@SDA-AB:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sda SDA-AB@SDA-AB:/mnt/c/Users$ mkdir SDA-AB SDA-AB@SDA-AB:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sda SDA-AB SDA-AB@SDA-AB:/mnt/c/Users$ rm SDA-AB SDA-AB@SDA-AB:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sda
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”
SDA-AB@SDA-AB:/mnt/c/Users$ ls 'All Users' Default 'Default User' Public desktop.ini sda sda.txt SDA-AB@SDA-AB:/mnt/c/Users$ cat sda.txt Structuri de Date si Algoritmi SDA-AB@SDA-AB:/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.c 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.c”
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.
SDA-AB@SDA-AB:/mnt/c/Users$ sudo ls [sudo] password for SDA-AB: 'All Users' Default 'Default User' Public desktop.ini sda
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.
SDA-AB@SDA-AB:/mnt/c/Users$ sudo apt-get install sublime-text [sudo] password for SDA-AB: 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:
#include <stdio.h> int main () { for (int i = 0; i < 3; i++) cout << "Hello world of SDA!" << endl; return 0; }
SDA-AB@is:/laborator gcc sda.c SDA-AB@is:/laborator ls sda.c 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.
SDA-AB@is:/laborator gcc sda.c -o main SDA-AB@is:/laborator ls sda.c main
SDA-AB@is:/laborator gcc sda.c -o main SDA-AB@is:/laborator ls sda.c main SDA-AB@is:/laborator ./main Hello world of SDA! Hello world of SDA! Hello world of SDA! SDA-AB@is:/laborator
gcc program1.c program2.c program3.c program4.c -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]