This is an old revision of the document!


Ghid Linux

Introducere

Ce este Linux?

  • este un sistem de operare (colectie de programe software care realizeaza managementul resurselor hardware si ofera o modalitate facila pentru lansarea in executie a aplicatiilor)
  • este un kernel (nucleul sistemului de operare)
  • este FOSS (Free/Open Source Software)

Ce este Shell?

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.

Comenzi Linux

cd [dir]

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:

  • cd (fara a specifica o destinatie) = navigam catre home
  • cd .. = navigam catre locatia anterioara
  • cd [nume] = navigam catre directorul cu numele specificat (daca acesta poate fi accesat din calea curenta)
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.

ls

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.

mkdir [nume1] [nume2]

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.

rmdir

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
rm

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.

cat

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$
chmod

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).

Folosind varianta numerica avem:

  • 0 = nu are nicio permisiune asupra fisierului
  • 4 = are permisiune de citire (read)
  • 2 = are permisiune de scriere (write)
  • 1 = are permisiune de stergere (execute)

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”

Mai multe informatii despre aceasta comanda 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.

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.

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.

sergiu@SERGIU:/mnt/c/Users$ sudo apt-get install sublime-text
[sudo] password for sergiu: 
Reading package list... Done

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:

sudo apt-get install g++

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.

sudo apt-get install make

Pentru a compila un program in C folosim gcc, iar pentru a compila un program in C++ folosim g++.

Exemplu de utilizare

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;
}
Etapa de compilare
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
Rularea executabilului
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

In cazul in care 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]

Makefile

poo-is/ghidcomenzilinux.1599602271.txt.gz · Last modified: 2020/09/09 00:57 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