Sunteți pe pagina 1din 4

HPC in SIM (2020-2021) Laborator 2

Sistemul de operare Linux (folosire)


Cand ne logam pe cluster ajungem intr-o fereastra numita terminal care ne ofera
posibilitatea de a introduce comenzi. Sistemul de operare din spatele programului care
executa comenzile introduse este Linux. Programul care executa comenzile pe care le
introducem poate fi aflat cu comanda

echo $SHELL

(SHELL este variabila in care este stocat programul care este executat in terminalul in care
este introdusa comanda, iar comanda ne listeaza valoarea acestei variabile (este /bin/bash in
cazul nostru))

Scopul acestul laborator este familiarizarea cu comenzi pentru folosierea sistemului de


operare linux prin folosirea lor.

Folosirea sistemului de fisiere


Sistemul de fisiere este compus din directoare (fisiere de tip folder/directory) si fisiere normale (de
tip text, de exemplu), si cateva alte tipuri de fisiere speciale.

Ca sa aflam in ce director ne aflam putem folosi comanda pwd:

pwd

listeaza path-ul (absolut) pana la directorul actual, exemplu

/home/student

Navigarea in arborele de directoare:

cd (change directory), exemple de folosire:

cd .. trecere in directorul imediat superior

cd nume_director -> trecerea intr-un director numit nume_director

(care este un subdirector al directorului actual)

cd path_absolut

un path ca cel obtinut prin comanda pwd poate fi folosit si ca argument pentru comanda cd

Crearea unui director nou:

mkdir nume_director_nou

crearea unui director nou numit nume_director_nou in directorul actual

ls

listarea fisierelor (si/inclusiv directoarelor) din directorul actual

ls -l
HPC in SIM (2020-2021) Laborator 2

chmod (schimbarea drepturilor asupra unui fisier, si anume de citire, scriere, executie)

Listarea tuturor proceselor in curs de executare (vii)

ps

Procesele startate din terminalul actual

ps -aux (date despre toate procesele care tocmai ruleaza pe un calculator)

Omorarea/Terminarea unui proces

kill -9 numar_proces

numarul procesului este ce apare la executarea comenzii ps in prima coloana intilutata PID de la
process ID (fiecare proces are un ID (un numar identificator) unic)

Startarea unui editor in terminal

emacs nume_fisier_in_care_vrem_sa_scriem

Salvarea a ce am scris in fisier daca folosim emacs se face cu Strg/Ctrl + x + s (toate 3 tastele apasate
deodata incepand cu prima tasta listata)

Iesirea din editorul emacs fara a termina procesul/intreruperea procesului emacs

Ctrl+z

Apare din nou terminalul in care putem introduce comenzi (de exemplu pentru compilarea si pentru
rularea programului introdus in fisier g++ nume_program pentru compilare si ./a.out pentru rulare;
sugestia mea este sa deschideti o a doua fereastra in care sa compilati si rulati programul)

Ca sa omoram procesul oprit putem vedea cu ps care este PID-ul lui si il putem termina cu comanda
kill.

Ca sa restartam procesul oprit in terminal folosim comanda fg (de la foreground)

(Ca sa restartam procesul oprit si sa il rulam in background adica fara ca sa se vada efectele rularii lui
in terminal folosim comanda bg (de la background))

Listarea numarului cuvintelor, caracterelor, si liniilor intr-un fisier (comanda wc)

wc -l nume_fisier

wc nume_fisier

scrierea rezultatului unei comenzi spre un fisier

ls > fisier

Adaugarea rezultatului unei comenzi la un fisier

ls >> fisier

Pipes (folosirea rezultatului unei comenzi ca date de intrare pentru alta comanda):
HPC in SIM (2020-2021) Laborator 2

(si comenzile sort, head, tail)

ls -l | sort

rezultatul comenzii ls -l este transmis ca input comenzii sort

ls -l | sort | head -4

rezultatul comenzii ls-l este transmis comenzii sort ca input (executia comenzii sort sorteaza liniile
primite), rezultatul comenzii sort este transmis comenzii head cu optiunea -4 care duce la listarea
primelor 4 linii ale rezultatului obtinut de comanda sort

ls -l | sort | tail -4

(tail -4 listeaza ultimele 4 linii ale input-ului care i-a dost transmis)

comanda grep (gasirea liniilor care contin un anumit sir de caractere):

ls -l grep

> ls -l | grep *amp*

-rw-r--r-- 1 liliana liliana 8980 Nov 26 2016 examples.desktop (contine “amp” in cuvantul

examples)

Stream-ul STDOUT este in ce este scris rezultatul unei comenzi executate in terminal (de catre
programul /bin/bash)

Stream-ul STDERR este in ce sunt scrise erorile rezultate la executarea comenzilor din terminal

Fiecare program executat are streamuri STDIN (de unde citeste input daca nu este specificat altceva),
STDOUT si STDERR

redirectarea stream-urilor STDOUT (care are numarul 1) si STDERR (care are numarul 2)

ls -l 1> aaa

scrie output-ul comenzii ls -l in fisierul nou aaa, pe care il creaza inainte de a scrie in el

ls -l 1>aaa 2>bbb

scrie output-ul comenzii ls -l in fisierul nou aaa, pe care il creaza inainte de a scrie in el

si scrie mesajele de eroare rezultate prin executarea comenzii in fisierul nou creat bbb

liliana@Lenovo:~$ ls -l xxx 1> aaa 2>bbb

liliana@Lenovo:~$ more bbb

ls: cannot access 'xxx': No such file or directory // mesajul de eroare a fost scris in bbb

liliana@Lenovo:~$ more aaa // fisierul aaa a fost nou creat, si nici un output nu

// a fost scris in el, comanda neproducand nici un output


HPC in SIM (2020-2021) Laborator 2

S-ar putea să vă placă și