Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Laboratoarele la aceasta disciplina se desfasoara pe calculatoare ruland sistemul de operare Linux, aceasta cu mai multe obiective:
Linux este o versiune a sistemului de operare UNIX dezvoltat initial in anii '70 la Bell Labs, fiind creat in mare parte in limbajul C. Sistemul de operare Linux e un efort comun al multor programatori, dezvoltat sub licenta GNU, conform careia codul sau sursa este distribuit si disponibil public in mod gratuit.
Lansarea unui terminal
Click pe imaginea cu aspect de ecran de calculator.
Fisierul standard de intrare = tastatura
Fisierul standard de iesire = monitorul
sort
Apelata fara nici un parametru, ea va astepta introducerea liniilor de text de la tastatura (intrarea standard), pana la introducerea caracterului ^D dupa care va sorta liniile si le va afisa in ordine pe ecran (iesirea standard).
Intrarea si iesirea standard pot fi schimbate folosind operatorii de Redirectare:
sort < date.txt
Preia liniile care trebuie sortate din fisierul date.txt, iar rezultatele vor fi afisate pe ecran. Se redirecteaza, deci, numai intrarea standard.
sort > ordonat.txt
Liniile de text sunt citite de la tastatura, dar rezultatul este scris intr-un fisier
sort < date.txt > ordonat.txt
Redirectarile se pot combina, astfel incat liniile sa fie citite dintr-un fisier, iar rezultatul sa fie scris in altul.
Comenzile se pot si inlantui, 2 sau mai multe: iesirea generata de una devine intrarea alteia, cu operatorul pipe '|'.
ls | more
Face ca iesirea lui ls
sa fie legata la intrarea lui more, a.i. se
afiseaza pagina cu pagina fisierele din directorul curent.
<comanda cu optiuni> & este lansarea in background, adica interpretorul de comenzi (terminalul) afiseaza prompterul imediat ce s-a lansat comanda, si se pot executa mai departe si alte comenzi in terminal. emacs &
UNIX are un sistem de fisiere arborescent.
Spre deosebire de DOS/Windows, separatorul intre componentele numelui de fisier este slash si nu backslash.
Numele de fisiere contin intreaga ierarhie de fisiere porneste de la o radacina unica, notata .
Comenzile Unix = programe executabile care pot fi gasite in directoarele /bin, /usr/bin.
In continuare, argumentele comenzilor sunt scrise cursiv, textul intre [ ] denota un argument optional (la folosire NU se scriu si parantezele!), iar <ceva> inseamna ca in loc de "ceva" se scrie numele adevarat al comenzii/fisierului etc.
Cu TAB se completeaza automat numele comenzilor si argumentelor.
man [optiuni] [sectiune] comanda
Este una dintre cele mai importante comenzi. Ea are ca efect afisarea paginii de manual care descrie comportarea comenzii date ca argument.
man cd
E posibila citirea unei pagini de manual referitoare chiar la man: man man
pwd
Printeaza directorul curent
mkdir nume_catalog
Creeaza un catalog (folder, director) cu numele dat.
cd [nume_catalog]
Schimba catalogul curent, trecand in cel specificat. La fel ca si sub DOS/Windows . denota catalogul curent iar catalogul parinte. Notatia ~ se refera la catalogul personal - home directory al utilizatorului curent. Fara nici un argument, muta in catalogul personal - home directory al utilizatorului.
ls [nume_catalog]
Listeaza (afiseaza numele pentru) fisierele si subdirectoarele din directorul dat (implicit: catalogul curent).
cat [<lista de fisiere>]
Afiseaza la fisierul standard de iesire continutul fisierelor date in lista (se pot astfel concatena mai multe fisiere). Fara nici un argument, afiseaza intrarea standard la iesirea standard.
cp [optiuni] sursa destinatie
Face o copie a lui sursa, cu numele nou destinatie.
cp [optiuni] fisier_1 fisier_2 fisier_n dir
Copiaza fisierele indicate in catalogul dir. Optiuni: -i (interactiv): intreaba inainte de a suprascrie; -r (recursiv): copiaza toate fisierele si subcataloagele din catalogul sursa indicat.
mv [optiuni] fisier1 fisier2
Redenumeste fisier1, cu numele fisier2
mv [optiuni] fisier_1 fisier_2 fisier_n dir
Muta fisierele indicate in catalogul dir. Optiuni: -i (interactiv): intreaba inainte de a suprascrie. (Un catalog e mutat implicit impreuna cu intreg continutul, deci optiunea -r nu mai apare, spre deosebire de copiere).
rm [optiuni] fisier
Sterge fisierele date. Optiunea -i (interactiv) solicita confirmare, -f forteaza (fara confirmare) iar -r sterge recursiv tot continutul catalogului indicat.
rmdir nume_catalog
Sterge catalogul indicat (acesta trebuie sa fie golit intai).
less nume_fisier sau more nume_fisier
Afiseaza pagina cu pagina continutul (backspace pentru "new page", enter pentru "new line"
dir
Afiseaza subdirectoarele directorului current
pico nume_fisier
Editare simpla de texte
touch nume_fisier
Creeaza fisierul nume_fisier
Clear
Sterge ecranul
Emacs este un editor complex de texte, care foloseste in acelasi timp si ca mediu integrat de dezvoltare de programe (de exemplu in limbajul C) si ofera multe alte facilitati (e-mail, browser web, etc). Emacs poate fi usor adaptat preferintelor fiecarui utilizator si interfatat cu alte programe scriind functii (extensii) in LISP. Frecvent folosita este versiunea xemacs, realizata special pentru mediul X Windows.
emacs nume_fisier.c &
Pentru editarea programelor C, e util sa activam optiunea Options -> Syntax Highlighting care va colora diferit diversele elemente de limbaj, usurand intelegerea si detectarea erorilor.
C- =
Ctrl+f
M-f= Alt+f
C- Undo
C-x 2 Clonare fereastra
C-x C-n Zona de lucru (buffer) noua
C-x o Schimbare fereastra activa ('o' este litera 'o' si nu zero!)
C-x k Inchidere (kill) zone de lucru (buffer)
C-x b Selectarea zonei curente de lucru
C-x C-s Salvarea zonei de curente de lucru
C-x C-w Salvarea zonei de lucru cu alt nume
C-x C-f Deschidere unui fisier intr-o zona de lucru
C-x C-c Inhidere emacs (cu salvare)
M-w Copy
C-w Cut
C-y Paste
C-s Cautare(search) in zona de lucru
C-g Renuntare o comanda neterminata (care astapta alti parametri)
C-x i cauta un fisier in directorul mentionat de utilizator (implicit cel curent).
Fisierele sursa din limbajul C au extensia .c. Pentru a compila programul nume.c, se executa
gcc
-o progr -Wall nume.c
Argumentul optiunii -o indica numele dat
executabilului. Daca nu se foloseste optiunea -o progr, executabilul e denumit implicit a.out.
(In UNIX, fisierele executabile nu sunt identificate prin extensie .exe),
ci prin faptul ca au drept de executie)
La compilare e util sa nu blocam generarea avertismentelor. Aceasta se specifica cu optiunea -Wall (warnings: all).
Optiunile la compilare pot fi introduse in orice ordine. E important de inteles
ca -o nume e o
singura optiune, chiar
daca e formata din doua cuvinte separate prin spatii. E
incorecta intercalarea altor optiuni intre -o si nume.
Compilatorul gcc creeaza executabilul. Daca sunt erori, acesta nu este creat, iar erorile sunt tiparite pe ecran cu numele fisierului si numarul liniei sursa: /home/student/pi.c:8:error:
error: studio.h: No such file
or directory
Compilatorul nu a gasit fisierul indicat, deoarece a fost scris cu nume eronat:
nu este studio.h, ci stdio.h,
de la Standard Input/Output.
error: syntax error before
'return'
Daca uitam sa terminam linia anterioara cu punct-virgula. Adesea cauza reala a
erorii poate sa se afle de fapt putin inainte de locul
in care o detecteaza compilatorul.
error: syntax error at end of
input
Daca se uita acoloada inchisa } si deci
fisierul se termina in mod neasteptat.
Rularea programelor compilate
Ne pozitionam cu cd in directorul unde se afla executabilul <output> si executam comanda
output eventual cu redirectari
Comenzi suplimentare
ln fisier1 [fisier2]
creeaza o noua intrare in director pentru fisierul precizat
chmod drepturi fisier
schimba drepturile de acces ale unui fisier
du [optiune] [director]
afiseaza informatii privind spatiul ocupat de fisierele dintr-un director (inclusiv subdirectoarele sale). du . afiseaza aceste informatii pentru directorul curent.
ps [optiuni] [proces]
afiseaza starea proceselor care ruleaza pe sistem la momentul curent.
kill proces
oprirea unui proces in curs de executie
date
afiseaza data si ora curente
who [am I]
afiseaza numele utilizatorilor conectati la sistem
echo [-n] argumente
afiseaza argumentele date
login [utilizator]
intrare in sistem
logout
iesire din sistem
lpr [optiuni] fisier
tipareste la imprimanta fisierele date
wc [optiuni] [fisiere]
numara caractere, cuvinte si linii in fisiere
grep [optiuni] [sir de caractere] fisier
filtreaza liniile unui fisier, cautand sabloane
find director conditie
se cauta in directoarele date si in subdirectoarele lor fisierele care satisfac conditie. De exemplu, comanda find . -print afiseaza toate fisierele din subarborele curent.
od [optiuni] fisier
afiseaza continutul unui fisier in diferite formate: octal, zecimal, hexa, ASCII etc.
Bibliografie
Copyright © 2024 - Toate drepturile rezervate