Documente Academic
Documente Profesional
Documente Cultură
Laborator 1
Notiuni introductive despre GNU/Linux
1. Istoric Linux
La bazele scrierii Linux sta incercarea de realizare a sistemului de operare
Multics (Multiplexed Information and Computer Service), initiata de Bell
Laboratories (divizie de cercetare a AT&T) in cooperare cu Massachusetts Institue of
Technology.
Proiectul a esuat, insa unul dintre programatorii implicati in proiect continua
lucrul la proiect denumindu-l Unics (Uniplexed Information and Computin Service),
schimbat apoi in UNIX. Sistemul a fost scris initial in limbaj de asamblare si rescris
mai apoi (pentru portabilitare) in C. Prima versiune de Unix lansata pe piata a fost
versinea firmei SUN (Stanford University Network), numita SunOS, soft proprietar.
Richard Stallman, (fost programator la MIT, insa MIT crea doar soft proprietar)
porneste proiectul GNU (antilopa din Africa de Sud simbol al libertatii, in acelasi
timp acronim pentru GNU is Not Unix) cu scopul de a crea un sistem de operare
complet FREE. Richard Stalmann si colaboratorii sai realizeaza shell-ul, avand nevoie
de kernel. Acesta a fost realizat de un student finlandez, Linus Torvaldis, bazandu-se
pe cartea Operating Systems si pe sistemul de operare Minix ale lui Andrew
Tanenbaum (profesor la o universitate din Olanda). Sistemul de operare astfel creat cu
kernelul realizat de Linus Torvaldis si cu utilitarele si programele GNU va purta in
continuare numele de GNU/Linux, denumit, in general, in mod gresit, doar Linux.
Sisteme de operare
utilizatorul are libertatea de a redistribui copii, fie gratis fie pentru o taxa;
Sisteme de operare
3. Prezentare Linux
- sistem open-source: Aceasta este principala diferenta intre Linux si
Unix, Unix fiind un sistem de operare proprietar cu sursa inchisa.
- sistem multi-utilizator;
- sistem multi-tasking;
- portabilitate: ruleaza pe procesoare de 32 si 64 de biti si pe
aproape toate platformele hardware existente.
- distributii:
O distribuie Linux este un sistem de operare construit din nucleul Linux i o
serie de pachete asortate, precum Sistemul de Ferestre X i software din proiectul
GNU, de exemplu. Exista sute de distributii Linux.
Cele mai cunoscute, raspandite si ingrijite (este important ca distributia aleasa sa
fie sustinuta de o comunitate open source ca aceasta sa fie in continua dezvoltare)
distributii Linux sunt:
-
Ubuntu;
Xubuntu;
Kiwi Linux;
Linux Mint
tp://ro.wikipedia.org/wiki/List_a_distribuiilor_Linux#Dis httribu.C8.9Bii_bazate_pe
_Debian
Sisteme de operare
4. Instalare Linux
In trecut, sistemele de operare bazate pe Linux erau mai putin accesibile, pentru
instalarea lor fiind nevoie de cunostinte de lucru in mediu text. Astazi, majoritatea
distributiilor se instaleaza in mod asemanator Windows-ului, in mediu grafic,
utilizatorul selectand optinuile dorite.
Pentru instalare, trebuiesc create urmatoarele partitii:
-
Partitia de boot (sistem de fisiere ext4, partitie primara, aprox 100 MB)
Partita de swap:
o
nu este obigatorie, este o partitie folosita ca memorie virtuala ce
creste performantele sistemului de operare;
o
se recomanda sa fie aproximativ 2x RAM;
partita de root (/);
partita pentru Home.
Sisteme de operare
Windows
Linux
Microsoft Office
OpenOffice
LibreOffice
Winamp
Amarok
Banshee Media Player
Internet Explorer
Firefox
Chromium
Opera
Yahoo Messenger
Notepad
WordPad
Pidgin
Gaim
Gedit
VI / VIM
Nano / Pico
LeafPad ...
Sisteme de operare
Adobe Photoshop
GIMP
Utility
Autodesk AutoCAD
Multi dezvoltatori de software pentru Windows au realizat versiuni ce
ruleaza si pe Linux, cum ar fi:
- Adobe: Adobe Reader;
- Google Earth;
- Eclipse, NetBeans.
Pentru rularea de programe native Windows pe Linux se foloseste WINE WINdows Emulator (http://www.winehq.org/). Wine, ca majoritatea softwareului ce
ruleaza pe distributii Linux, este free software. Pentru jocuri, se foloseste WineX
pentru cele ce sub Windows ruleaza mai bine cu DirectX (pentru grafica 3-D si efecte
de sunete). WineX ruleaza si aplicatiile lui wine, deci este suficient unul dintre cele
doua, in functie de necesitatile fiecarui utilizator.
Pentru a monta partitii de Linux precum ext3 pe Windows se poate
folosi EXT2ifs.
Sisteme de operare
Sisteme de operare
3. ls list
Scop: listarea continutului unui director + informatii despre continut si director
Optiuni:
-l listare lunga, sortare dupa nume;
-F afiseaza tipul fisierelor continute;
-i afisare inode;
-S sortare dupa marime;
-d afisare informatii despre director (in loc de informatii despre continut) ;
-a afisare fisiere ascunse (fisierele ascunse sunt cele al caror nume incepe
cu .);
Sisteme de operare
p creeaza directorul dorit si directoarele din calea catre acesta in cazul in care
nu exista.
5. touch
Scop: creare fisier nou
6. cp copy
Scop: copierea directoarelor si fisierelor
Optiuni:
-
7. mv move
Scop:
Optiuni:
-
f force;
i interactive;
- u update muta doar daca sursa este mai noua decat destinatia sau destinatia
lipseste;
-
v verbose.
8.
rm remove
Sisteme de operare
9. cat
Scop: Concateneaza si/sau afiseaza continutul unui fisier
Exemplu de afisare:
cat file
Exemplu de concatenare:
cat file1 file2 > file3
Pentru afisarea continutului unui fisier se foloseste si comanda less.
10. head
Scop: afiseaza primele 10 randuri dintrun fisier.
Optiuni:
-n nr: afiseaza primele nr linii.
11. tail
Scop: afiseaza ultimele 10 randuri dintr-un fisier.
Optiuni:
-n nr: afiseaza ultimele nr linii dintr-un fisier;
-n +nr: afiseaza incepand cu linia nr
-f: afiseaza in timp real ultimele linii dintr-un fisier se foloseste pentru
supravegherea in timp real a informatiilor modificate din loguri/rapoarte.
Sisteme de operare
13. stat
Scop: afiseaza informatii despre fisiere (marime, tip)
14. history
Scop: afiseaza un istoric al comenzilor introduse in terminal
15. vi
Scop: deschide editorul vi
3. Exercitii
1. Deschideti aplicatia Gnome Terminal. Apasati tasta de Windows, apoi scrieti
Terminal si apasati Enter.
2. Observati forma prompt-ului din Terminal:
username@hostname:locatiacurenta>
3. Folositi comanda man pentru a afla informatii despre comanda tree.
Acum cautati cuvantul tree scriind /tree. Navigati intre rezultatele cautarii folosind
n pentru aparitia urmatoare si N pentru aparitia anterioara.
4. Aflati locatia comenzii ls folosind comanda which si a paginii de manual
folosind comanda whereis.
5. Aflati ce comanda ati putea folosi pentru a sterge un director folosind
comanda:
apropos remove
6. Mutati-va in directorul home al user-ului curent. (cd ~ / cd /home/student).
7. Afisati numele acestuia.
8. In directorul home al userului student, creati directorul S1Linux (mkdir). In
acesta, sa se creeze urmatoarele structuri arborescente de directoare:
Sisteme de operare
Sisteme de operare
19. Afisati randurile cuprinse intre 4 si 8 folsind ambele comenzi folosite mai sus
si operatorul pipe | pentru transmiterea iesirii standard a primei comenzi ca
intrare in a doua comanda.
20. Copiati fisierele file1, fil2 si file3 in directorul s1 creat la punctul a) apoi in s2
creat la punctul b)
21. Redenumiti fisierele file1, file2, file3 din S1Linux in fisier1, fisier2, fisier3.
22. Afisati informatii despre fisier1, apoi despre file1 din s1 creat la punctul a)
folosind comanda stat.
23. Afisati spatiul ocupat de directorul S1Linux folosind comanda du. Afisati
informatii despre fiecare director din acesta, despre fiecare fisier, in format
human readable si apoi realizati o sumarizare a spatiului ocupat.
Sisteme de operare
Laborator 2
Gestiunea proceselor
1. Scurtturi n terminal
Ctrl + A
Ctrl + E
Alt + .
$_
Alt + F
Alt + B
Alt + D
Alt + Backspace
Ctrl + R cuvant
!!
Sgeile SUS / JOS
Navigarea ntre comenzile folosite anterior
de pe tastatur
Alt
n numele unui argument - autocomplete
Scurt recapitulare:
Listai coninutul directorului curent: ls. Realizai o listare lung a directorului curent: ls l.
Mutai-v n directorul rdcin: cd / Mutai-v napoi n directorul home al utilizatorului
curent: cd ~ sau cd /home/student. Mutai-v n directorul Documents folosind autocomplete,
adic tasta Tab, dup introducerea primelor litere ale numelui directorului. Mutai-v napoi n
home folosind cd ..
Creai n Documents structura urmtoare ntr-o singur comand folosind mkdir. Pentru
scrierea rapid nu uitai de parametrul -p:
Sisteme de operare
n s7 creai dou fiiere: f1 i f2 folosind comenzile touch f1 i touch f2 sau comanda touch
f1 f2. Afiai informaii despre f2 folosind comanda stat Alt + . sau stat $_ . tergei toat structura
de directoare creat anterior. Refacei-o folosind comenzile din history.
2. Procfs
Toate informatiile referitoare la procese pot fi vizualizate in sistemul de fisiere virtual procfs
localizat in /proc.
Pentru vizualizarea coninutului folosii comanda:
ls /proc
Observati structura acestui director. Exista o multitudine de directoare cu nume formate doar
din cifre. Fiecare dintre acestea stocheaza informatiile legate de procesul cu PID-ul numarul
respectiv.
In fiecare director al unui proces /proc/$PID exista o structura tipica. Intrati intr-unul dintre
acestea si faceti o listare lunga a continutului:
ls l /proc/$PID
1. Comanda ps
Comanda ps afieaz, n mod implicit, doar comenzile utilizatorului curent
Cutai n pagina de manual a comenzii ps opiunile pentru:
-
2. Comanda pstree
Rulai comanda pstree. Identificai procesele corespunztoarele terminalului curent n
arborele afiat. Afiai n dreptul fiecrui proces PID-ul acesteia. Afiai cu highlight
procesul curent. Sortai ieirea dup PID.
3. Comanda psgrep
Afiai pagina de manual a acestei comenzi. Aflai PID al procesului gedit.
Sisteme de operare
3. Utilitarul TOP
ntr-un terminal rulai comanda top.
1. Apsai tasta h pentru a vizualiza opiunile utilitarului. Citii-le pe acestea i apoi apsai
orice tast pentru a putea vizualiza procesele.
2. Aflai ce rol au tastele l, t i m.
3. Afiai doar 5 procese. Afiai din nou toate procesele
4. Vizualizai doar procesele utilizatorului root folosind opiunea u. Tastai u root.
5. Sortai procesele dup memoria utilizat. Tastai f i apoi navigai cu ajutorul sgeilor pe
cmpul %mem i apsai tasta s, apoi q.
Sisteme de operare
6. Afiai primele 10 procese care consum cea mai mult memorie. Pentru acestea artai
cmpurile n ordinea urmtoare: PID, numele comenzii, memoria utilizat, CPU, timp,
utilizator, grupul utilizatorului.
4. Utilitarul HTOP
1. Instalai utilitarul htop:
sudo apt-get install htop
2. Rulai aplicaia.
3. Navigai prin meniurile aplicaiei (F1 F10).
Blocked
Running
Waiting
Terminated
Utilizai comenzile bg, fg i jobs, astfel:
1. n terminalul curent rulai comanda xeyes.
2. Observai c activ este doar procesul xeyes i terminalul este inactiv.
3. Apsai combinaia de taste Ctrl+Z. Observai faptul c aplicaia xeyes nu mai este
activ nsa putei folosi din nou aplicaia de terminal.
4. Rulai comanda jobs. Observai ca xeyes se afl n background ns este oprit.
5. Pentru a porni o aplicaie n background folosii comanda bg sub forma bg
numeComand.
Sisteme de operare
Laborator 3
Editoare de text VI/VIM
Exista dou tipuri de editoare de text:
-
Editoare care ruleaz n consol (vi, vim, emacs, joe, pico, nano)
Editoul VI este editorul care exist pe orice sistem de operare Unix, deci i n Linux. VIM VI iMproved este versiunea mbuntit a acestuia nu este instalat by default.
Editorul Vi are 3 moduri de operare:
1.
Modul Command Mode modul default, n care te afli la deschiderea editorului. Se
poate ajunge n acest mod din oricare celelalte dou moduri de operare apsnd tasta Escape. Se
folosete pentru a edita textul scris: tergere caractere, linii, cuvinte, grupuri de cuvinte, nlocuire
de text si pentru a ajunge in celelalte doua moduri de operare.
2.
Modul Insert se intr n acest mod din modul command folosind una dintre
urmtoarele taste: i/I/a/A/o i se folosete pentru introducerea de text n fiierul editat.
3.
Modul Last Line se intr n acest mod din Command mode apsnd tasta :. Se
folosete pentru ieire din editor, salvare, numerotarea liniilor scrise.
Command Mode
(Default)
Esc
i
I
a
A
o
o
Insert Mode
o
:
Esc
Sisteme de operare
r - replace a char
cw - change word - terge cuvntul ncepnd cu litera de unde este poziionat cursorul
si ne introduce in Insert Mode.
dd - terge o linie
dw - terge cuvntul de sub cursor ncepnd cu caracterul care se gsete sub cursor.
u - undo
Sisteme de operare
Se folosete pentru a salva documentul curent, pentru revenire la varianta de la ultima salvare
a fiierului sau pentru a executa diferite comenzi (text substitution, afiarea nr. de linii etc).
Pentru a intra n acest mod se folosete : (doua puncte) din Command mode.
n Last Line mode utilizatorul are la dispoziie urmtoarele comenzi:
q! - quit fr salvare
w! - salvare fr quit
e! - undo
4. Exerciii:
1. Deschidei tutorialul vimtutor, tastnd n terminal comanda vimtutor.
Sisteme de operare
(Dac aceasta nu este recunoscut de sistem, rulai comanda sudo apt-get install vim i apoi
rencercai.)
Realizai comenzile din terminal i de fiecare dat notai ntr-o fi de lucru comenzile
folosite.
Model de fisa de lucru:
Command Mode (Normal)
Insert
Mode
x remove char
d delete char
h, j, k, l -
2. Folosii comanda:
vim file.txt
pentru a porni Vim pentru editarea fiierului file.txt.
n ce mod de lucru v aflai?
3. Afiai o numerotare a liniilor
4. Copiai din laborator textul introductiv (pn la seciunea de Exerciii) i scriei-o n
fiierul deschis folosind comanda:+p
5. Salvai fiierul folosind comanda :w. n ce mod (de operare al vi) ai folosit comanda?
6. Folosii comanda G pentru a v plasa la sfritul fiierului, apoi :20 i apoi gg pentru a v
plasa la nceputul fiierului.
7. Cutai n textul introdus apariiile cuvntului vim. Folosii comanda /vim i navigai ntre
apariii folosind n (apariia urmtoare) i N (apariia anterioar - la fel ca n man pages
).
8. nlocuii toate apariiile cuvntului vim cu vi folosind comanda:
:%s/vim/vi/g
Sisteme de operare
Creai un alias numit lsf pentru comanda ls care afieaz doar fiierele normale.
a.
Mai nti scriei comanda care afieaz doar fiierele normale (regular files). Cum se
identifica fiierele folosind comanda ls?
Folosind argumentul pentru listare lunga, tipurile de fiiere se identifica prin primul caracter
de pe fiecare rnd.
b.
Pentru a selecta doar fiierele normale folosii comanda grep n ieirea listrii lungi.
c.
Dup ce ai gsit comanda de listare a fiierelor normale creai un alias. Comanda alias
se folosete n felul urmtor:
alias nume_alias = comanda/comenzile pentru care se creeaz alias-ul
d.
e.
f.
2.
Gsii toate fiierele din /etc care conin in numele lor a doua litera b
a.
b.
3.
a.
Sisteme de operare
b.