Documente Academic
Documente Profesional
Documente Cultură
2020
SO
Laborator 01 - Introducere
Scop
• Introducere in tematica laboratorului
Cuvinte cheie
• Linux, VM, shell, Bash, CLI, Ubuntu
Suport de laborator
• Pentru a oferi o arie de cuprindere cat mai larga, laboratoarele au ca suport familiile de
sisteme de operare Unix si Windows. Instantele de sisteme de operare din familiile de mai
sus alese pentru acest laborator sunt GNU/Linux, respectiv Windows 7.
• Linux
• Windows
• CLI
• Tutorial CLI
• General
Prezentare
LINUX
Linux este un sistem de operare cu scop general, Lansat original in 1991 de Linus Torvalds. Linux
e definit de nucleul (kernelul) sau, care reprezinta componenta de baza a intregului sistem.
Kernelul interactioneaza cu hardware-ul pentru a permite software-ului si altor componente
hardware sa schimbe informatii. Linux a fost inspirat de MINIX, care la randul lui, a fost inspirat de
UNIX. De asemenea, Linuz e bazat pe o filosofie care presupune ca software-ul si sistemul de
operare ar trebui sa fie liber. Liber in sensul de disponibil si modificabil. Licenta software care
permite acest lucru se numeste GNU General Public Licence.
Linux poate fi instalat pe o varietate larga de hardware, incepand cu telefoane mobile, tablete,
console video, router WiFi pana la computere personale si supercomputere.
1
10.2020
SO
Termenul Linux se referă și la nucleul Linux, însă în mod uzual este folosit pentru a descrie întregul
sistem de operare pentru calculatoare, compus din nucleul Linux, biblioteci software și diverse
unelte. O distribuție Linux adaugă acestor componente de bază o mare cantitate de programe,
organizate în „pachete”. Aceste distributii (sau distros) sunt mentinute de comunitati sau grupuri
de oameni din intreaga lume. La baza majoritatii distributiilor existente stau patru mari categorii:
Arch, Debian, Red Hat si Slackware. Din acestea deriva toate celelalte distributii mai mici.
MASINA VIRTUALA
Masinile virtuale permit instalarea unui alt sistem de operare fara a fi nevoie sa fie instalat pe
masina fizica. Printre utilitatile unei masini virtuale se pot numara: cautarea unei distributii de Linux
potrivite, rularea de software proprietar unui anumit SO. De exemplu, ca utilizator de Windows 10,
daca se doreste instalarea/ rularea de aplicatii specifice Windows XP, se poate instala XP intr-o
masina virtuala. Un alt avantaj al masinilor virtuale e ca acestea sunt organizate in sandbox-uri,
adica programele instalate in interiorul unei masini virtuale nu interactioneaza cu fisierele si
sistemul de operare al masinii fizice.
Exista cateva aplicatii pentru crearea de masini virtuale din care poti alege:
• VMware Player (Windows, Linux) varianta free / VMware Workstation varianta paid
In acest laborator vom folosi Virtual Box pentru a crea o masina virtuala pe care ruleaza Ubuntu
Desktop. Toate fisierele necesare se gasesc pe siteurile oficiale virtualbox.org si ubuntu.com. Se
poate utiliza orice distributie de Linux preferi.
CLI
Lucrand cu un mediu de text in linia comanda, fara interfata grafica, fara ferestre si butoane,
poate fi intimidant la inceput. Dar odata ce incepi sa intelegi cum functioneaza, o sa vezi cat de
puternic si eficient poate fi. In ultima parte a laboratorului, o sa lucrezi cu un shell foarte comun,
numit Bash. Acesta este disponibil in aproape orice distributie de Linux.
Daca sistemul de operare existent pe PC/laptop e Windows 10, poti instala Windows Subsystem
for Linux pentru a avea access direct la un terminal Bash. In loc sa rulezi o masina virtuala,
Windows Subsystem for Linux ruleaza o instanta de mediu compatibil Linux chiar pe Windows.
Este un layer de compatibilitate, iar pentru a-l accesa trebuie instalata o distributie de Linux.
Pachetele pentru acesta sunt disponibile pe Windows Store. Nu este o versiune completa
desktop de Linux, dar e suficient sa inveti despre Bash si despre instrumentele de lucru standard
care se gasesc pe majoritatea sistemelor Linux.
2
10.2020
SO
• Instaleaza VirtualBox accesand pagina: https://www.virtualbox.org (daca nu este deja
instalat).
• Daca ai nevoie de ajutor in procesul de instalare VirtualBox, acceseaza oricare din linkurile
de mai jos:
• https://www.virtualbox.org/manual/ch01.html
• http://blog.infoeducatie.ro/tutorial/2015/07/25/tutorial-virtualbox.html
• https://www.howtogeek.com/196060/beginner-geek-how-to-create-and-use-virtual-
machines/
2. Creare Linux VM
• Urmeaza pasii pentru a crea o noua masina virtuala accesand unul din linkurile de mai sus.
• Masina virtuala creata de noi azi o sa aibe numele Ubuntu Desktop. Ramai la setarile
prestabilite de VirtualBox.
• Selecteaza Ubuntu 18.04 LTS, iar daca sistemul de operare curent nu indeplineste
cerintele necesare, se va selecta unul din versiunile mai vechi de Ubuntu, accesand linkul
urmator: https://www.ubuntu.com/download/alternative-downloads
• Odata ce ai obtinut fisierul .iso sau imaginea de SO, trebuie sa adaugi linkul catre acesta
in masina virtuala deja creata.
• Cand ajungi la stabilirea unui utilizator, seteaza user: ubuntu, parola: student.
• Exploreaza noul tau sistem de operare 🧐
• In momentul in care esti intrebat de UNIX username, seteaza: ubuntu, iar la parola:
student
• Daca totul a decurs fara probleme pana aici, ar trebui sa ai promptul de Bash afisat.
Felicitari! 👏
4. Daca sistemul de operare pe care-l rulezi este Mac OS X sau Linux, este suficient sa deschizi
aplicatia de terminal. Acesta e interfata de linie comanda de care ai nevoie, care ruleaza Bash.
3
10.2020
SO
Interfata cu linia de comanda (CLI)
• Trebuie sa te familiarizezi cu termenii necesari pentru a lucra cu CLI.
• Primul lucru pe care il vezi cand intri in terminal e promptul. Acesta iti arata informatii ca:
username@host: location$
ls -lh /usr/bin
sort -u users.txt
grep -i “needle” haystack
• Acesta este doar un exemplu de sintaxa. In functie de ceea ce vrei sa faci, e posibil sa ai nevoie
doar de o comanda, sau de o comanda insotita de una sau mai multe optiuni. Intotdeauna va fi
o comanda la inceput!
• Comanda este de fapt programul pe care il rulezi sau actiunea pe care o faci.
Comenzi de baza
In Linux exista peste 300 de comenzi folosite pentru managementul sistemului. Mai jos sunt
explicate cele mai folosite comenzi din Linux. O intelegere buna a acestora este extrem de
importanta pentru a putea avansa in studiul unui sistem de operare Linux.
pwd Print Working Directory. Afiseaza directorul curent. Nu are optiuni sau argumente.
. = directorul curent
cd NEW_DIRECTORY
~ = home directory
mkdir Make Directory. -p = creaza atat directorul cat si
directoarele parinte daca
mkdir [OPTIONS] DIRECTORY
acestea nu exista. Daca
directorul parinte nu exista
$ mkdir /home/student/Documents/Privat comanda mkdir returneaza
eroare daca se foloseste fara
optiunea –p
-v = verbose (afisare detaliata)
ls List. Listeaza continut director sau listare informatii -l = listare lunga, sortare dupa
despre fisier. nume
-i = afisare inode
comenzi diferite pentru mutare, respectiv denumire. -i = interactive (prompt before
mv [OPTIONS] SOURCE DESTINATION overwriting)
$ mv ~/Documents/file1.txt ~/Documents/file2.txt
cat Concateneaza si/sau afiseaza continutul unui fisier. -b = numarul de linii non-blank
5
10.2020
SO
Exemplu:
$ cat /etc/passwd
more FILE
less FILE
head Afiseaza primele linii (default 10) dintrun fisier -n nr = afiseaza primele nr linii
tail Afiseaza ultimele linii (default 10) dintrun fisier -n nr = afiseaza ultimele nr linii
Exemplu:
$ strings /bin/ls
free Disk Free. Afiseaza spatiul total, spatiul ocupat si -h = human readable
Exemplu:
$ df -hi
6
10.2020
SO
cmp Compare. Compararea a doua fisiere fara afisarea
diferentelor dintre ele.
cmp FILE1 FILE2
-c = comparare detaliata
-y = afiseaza pe coloane
stat Statistics. Afiseaza informatii despre FILE (size,
type, atime, mtime, ctime)
stat FILE
-m = MB
-k = kB
uname Afiseaza informatii despre sistem (kernel version -a = all info
-m = machine
-p = processor
vmstat Virtual Memory Statistics. Afiseaza informatii Informatiile afisate sunt
despre memorie, cpu, I/O blocks etc. documentate in man page-ul
comenzii.
ifconfig Interface Configuration. Afiseaza informatii despre
interfetele de retea. Se foloseste si pentru a seta
caracteristicile interfetelor de retea (IP, Network
Mask, MAC etc.)
netstat Afiseaza informatii despre porturile deschise -t = porturile TCP
-a = all
-n = afisare numerica
7
10.2020
SO
lshw Afiseaza informatii despre hardware
Exemplu:
$ lshw | less
Exemplu:
$ iftop -i wlan0 -B -P -n
Important
Cunoasterea tuturor comenzilor si a tuturor optiunilor acestora este imposibila chiar si pentru cei mai
experimentati admini. Documentatia comenzilor se gaseste in man care trebuie folosite intesiv in momentul
in care se doreste aflarea efectului unei comenzi sau a unei optiuni a comenzii.
Exemplu: man ls
In afara de manual, se poate utiliza si helperul. Acesta se utilizeaza prn adaugarea -- help dupa o
comanda.
Daca nu stii numele comenzii poti utiliza apropos si un cuvant cheie din documentatie.
$ apropos “List”
$ man ls
$ ls -- help
8
10.2020
SO
Exercitii
a) b)
c) d)
5. Copiați din /etc toate fișierele cu extensia .txt în directorul creat anterior.
6. Concatenați două fișiere text, salvați rezultatul într-un fișier numit concatFile.txt și apoi afișați
textul cuprins între linia 5 și linia 10.