Bogdan's Docs

Table of Contents

Table of Contents

  • Scurta Introducere în Linux
    • Kernel și GNU
      • init
    • Fișiere și Directoare
      • Directoare Ierarhice
    • Comenzi utile în Bash
      • export
      • echo
      • ls
      • cd
      • mkdir
      • cp
      • mv
      • rm
      • chown
      • chmod
      • touch
      • cat
      • >, < (redirectare)
      • less
      • grep
      • sed
      • | (pipe)

Ideas

  • Artificial Intelligence
    • Bond Pricing
    • Kubernetes Inference
    • Knowledge Bot
    • Ready to Use Models
    • Satellite Damage Detection

Curs IoT si AI (ro) Resources

  • Links
    • Artificial Intelligence
  • Recipes
    • MacOS
Bogdan's Docs
Docs » iot-si-ai:scurta-introducere-in-linux

Scurta Introducere în Linux

Kernel și GNU

init

Procesul init este primul proces care rulează în sistemul de operare Linux și are rolul de a porni și gestiona toate celelalte procese ale sistemului. Inițializarea procesului init are loc în timpul procesului de boot al sistemului și poate fi configurată să pornească alte servicii și daemoni la pornirea sistemului, precum și să oprească și să repornească servicii și daemoni în timpul funcționării sistemului.

În mod tradițional, în versiunile mai vechi de Linux, init era responsabil pentru inițializarea tuturor serviciilor și daemonilor, inclusiv sistemul X Window, care gestionează interfața grafică a utilizatorului. Cu toate acestea, în versiunile mai noi de Linux, un alt sistem numit systemd este folosit în mod obișnuit pentru a înlocui init, însă acesta își păstrează încă importanța în funcționarea sistemului de operare.

Fișiere și Directoare

Directoare Ierarhice

Structura standard de directoare în Linux urmează convenția stabilită de standardul de directoare ierarhice (Filesystem Hierachy Standard - FHS). În această structură, toate fișierele și directoarele sunt organizate într-un arbore cu rădăcina în directorul principal, cunoscut ca directorul rădăcină (root) sau /. Iată o listă cu principalele directoare din structura standard de directoare din Linux și cu ce sunt utilizate:

  • /bin - Acest director conține fișiere binare, adică programe executabile care sunt necesare în timpul boot-ului și în timpul funcționării normale a sistemului. Exemple de fișiere din acest director includ comenzi precum ls, cp, mv etc.
  • /boot - Acest director conține fișierele necesare în timpul boot-ului, cum ar fi imaginea kernel-ului și fișierele de configurare ale bootloader-ului.
  • /dev - Acest director conține fișiere speciale de dispozitiv care reprezintă diferite componente hardware sau alte dispozitive virtuale. Aceste fișiere pot fi utilizate pentru a accesa și a controla hardware-ul din sistem.
  • /etc - Acest director conține fișierele de configurare pentru sistem și programele instalate.
  • /home - Acest director conține directoare personale pentru utilizatorii sistemului. Fiecare utilizator are un director personal în acest director, cu numele utilizatorului ca nume de director.
  • /lib - Acest director conține fișierele de bibliotecă care sunt necesare în timpul execuției programelor.
  • /media - Acest director conține punctele de montare temporare pentru dispozitivele media, cum ar fi CD-uri, DVD-uri și unități flash USB.
  • /mnt - Acest director conține puncte de montare pentru sistemele de fișiere montate manual.
  • /opt - Acest director conține programe opționale instalate de utilizatorul sau administratorul sistemului.
  • /proc - Acest director conține informații despre procesele în execuție și alte informații din kernel.
  • /root - Acest director este directorul home al utilizatorului root.
  • /run - Acest director conține fișierele temporare pentru procesele care rulează în timpul execuției sistemului.
  • /sbin - Acest director conține fișiere binare care sunt utilizate de către sistem și de către administratorul sistemului pentru administrarea sistemului.
  • /srv - Acest director conține date pentru servicii furnizate de sistem.
  • /sys - Acest director conține informații despre sistemul de fișiere virtual al kernel-ului.
  • /tmp - Acest director conține fișiere temporare create de programele care rulează în sistem.
  • /usr - Acest director conține fișiere și programe utilizate de utilizatorii sistemului.
  • /var - Acest director conține fișiere care se schimbă frecvent, cum ar fi fișierele de log, fișiere temporare, fișiere de stocare cache pentru diverse aplicații și baze de date.

Comenzi utile în Bash

Bash (Bourne-Again SHell) este un interpretor de comenzi de shell pentru sistemele de operare bazate pe Unix. Este cel mai utilizat shell în Linux și macOS. Bash oferă o interfață text simplă pentru a comunica cu sistemul de operare și rulează comenzi pentru a efectua sarcini specifice, cum ar fi gestionarea fișierelor și directoarelor, configurarea mediului de lucru, rularea programelor și multe altele. Bash permite și programarea de scripturi shell, ceea ce înseamnă că utilizatorii pot să scrie un set de comenzi care să fie executate automat, fără a fi nevoie să introducă manual fiecare comandă în parte.

export

În bash, variabilele sunt utilizate pentru a stoca date sau valori care pot fi accesate și folosite în cadrul scripturilor sau a comenzilor. Pentru a defini o variabilă, trebuie să atribui o valoare numelui variabilei folosind operatorul =.

De exemplu, pentru a defini o variabilă numită nume cu valoarea John, trebuie să introduci următoarea comandă:

nume="John"

Pentru a accesa valoarea stocată într-o variabilă, se folosește simbolul $ urmat de numele variabilei. De exemplu, pentru a afișa valoarea stocată în variabila nume, se poate folosi următoarea comandă:

echo $nume

Variabilele de mediu (environment variables) sunt variabile care sunt disponibile pentru toate procesele care rulează într-un shell. Acestea sunt folosite pentru a seta configurări globale sau valori care trebuie să fie accesibile din mai multe scripturi. Unele dintre variabilele de mediu comune includ:

  • PATH: lista de directoare în care shell-ul va căuta executabilele atunci când se introduce o comandă
  • HOME: directorul home al utilizatorului curent
  • USER: numele de utilizator al utilizatorului curent

Pentru a exporta o variabilă ca variabilă de mediu, se folosește comanda export. De exemplu, pentru a exporta variabila nume ca variabilă de mediu, se poate folosi următoarea comandă:

export nume

Variabila nume va fi acum disponibilă ca variabilă de mediu în toate procesele care rulează în acel shell.

echo

Comanda echo în Linux este folosită pentru a afișa text sau variabile pe ecran. De obicei, este folosită în scripturile shell pentru a afișa informații sau pentru a afișa valori ale variabilelor. Sintaxa de bază a comenzii este:

echo [OPTIONS] [TEXT/STRING/variable]

Opțiunile disponibile includ '-n' (pentru a elimina afișarea unui caracter de linie nouă la sfârșitul textului) și '-e' (pentru a permite interpretarea unor caractere speciale, cum ar fi secvențele de escape). De asemenea, poți utiliza variabile, citate simple sau duble în cadrul comenzii pentru a afișa diferite texte. De exemplu, pentru a afișa valoarea unei variabile:

my_var="Hello world!"
echo $my_var

Aceasta va afișa textul Hello world! pe ecran.

ls

Comanda ls este utilizată în Linux pentru a lista fișierele și directoarele dintr-un director specificat ca argument. Dacă nu se specifică un director, comanda va lista fișierele și directoarele din directorul curent. Comanda ls afișează numele fișierelor și directoarelor, împreună cu unele informații despre ele, cum ar fi drepturile de acces, dimensiunea și data ultimei modificări. Comanda poate fi utilizată cu diferite opțiuni pentru a afișa informații suplimentare, cum ar fi permisiunile de acces sau dimensiunea într-un format specificat.

cd

Comanda cd (change directory) din sistemul de operare Linux este utilizată pentru a schimba directorul curent de lucru în altul. Aceasta vă permite să navigați prin sistemul de fișiere și să accesați directoare diferite. După ce rulați comanda “cd” și specificați numele unui director, terminalul va schimba directorul curent la noul director specificat. De exemplu, dacă doriți să schimbați directorul curent la directorul Documents, rulați comanda cd Documents.

mkdir

Comanda “mkdir” este folosită în Linux pentru a crea un nou director sau mai multe directoare. Sintaxa comenzii este:

mkdir [opțiuni] nume_director

Opțiunile includ:

  • -m: setează permisiunile de acces pentru directorul nou creat
  • -p: crează toate directoarele în ierarhia specificată, inclusiv directoarele părinte care nu există încă
  • -v: afișează un mesaj pentru fiecare director creat

De exemplu, comanda mkdir proiect va crea un director cu numele proiect în directorul curent. Pentru a crea mai multe directoare, se poate furniza o listă cu numele acestora separate prin spații, precum mkdir dir1 dir2 dir3.

cp

Comanda cp în Linux este folosită pentru a copia unul sau mai multe fișiere sau directoare dintr-un loc în altul. Sintaxa de bază a comenzii este:

cp [opțiuni] sursă destinație

unde:

  • sursă: numele sau calea către fișierul sau directoarele care urmează să fie copiate
  • destinație: numele sau calea către directorul în care se va face copierea

Unele dintre opțiunile de bază ale comenzii cp sunt:

  • -r sau –recursive: copiază recursiv toate fișierele și directoarele din directorul sursă în directorul destinație
  • -f sau –force: suprascrie fișierele existente în directorul destinație fără a cere confirmarea utilizatorului
  • -i sau –interactive: cere confirmarea utilizatorului înainte de a suprascrie fișierele existente în directorul destinație
  • -v sau –verbose: afișează detaliile copierii fișierelor și directoarelor

De exemplu, pentru a copia fișierul file.txt din directorul curent în directorul /home/user, se poate folosi comanda:

cp file.txt /home/user

Pentru a copia un director întreg, inclusiv fișierele și subdirectoarele sale, în alt director, se poate folosi comanda:

cp -r director_sursă /home/user/destinație

Aceasta va copia recursiv toate fișierele și directoarele din director_sursă în directorul destinație.

mv

Comanda mv (move) din Linux este utilizată pentru a muta sau redenumi fișiere sau directoare. Comanda poate fi folosită pentru a muta fișiere sau directoare de la o locație la alta sau pentru a redenumi un fișier sau director. Sintaxa de bază a comenzii este:

mv [options] source destination

Unde:

  • source este numele fișierului sau directorului de mutat sau redenumit
  • destination este numele sau calea directorului de destinație sau noul nume de fișier

De exemplu, pentru a muta fișierul file1.txt din directorul curent în directorul Documents, utilizăm următoarea comandă:

mv file1.txt Documents/

Dacă dorim să redenumim fișierul file1.txt în file2.txt, putem utiliza comanda astfel:

mv file1.txt file2.txt

Este important să fie atenți atunci când folosim această comandă, deoarece, dacă există deja un fișier sau director cu același nume în locația de destinație, comanda mv va suprascrie fișierul sau directorul existent.

rm

Comanda rm în Linux este folosită pentru a șterge fișiere sau directoare. Este unul dintre cele mai comune comenzi în Linux și poate fi folosit pentru a șterge un singur fișier, mai multe fișiere sau un întreg director.

Sintaxa de bază este:

rm [opțiuni] nume_fișier

Pentru a șterge un director, este nevoie de opțiunea -r (recursive), care va șterge recursiv conținutul directorului și apoi directorul în sine:

rm -r nume_director

Este important să fie atenți atunci când folosești această comandă, deoarece fișierele și directoarele șterse prin aceasta nu vor fi recuperabile.

chown

Comanda chown (change owner) este folosită în Linux pentru a schimba proprietarul unui fișier sau al unui director. Proprietarul unui fișier poate fi un utilizator al sistemului sau o grupă de utilizatori, iar prin utilizarea comenzii chown poți schimba proprietarul unui fișier sau director într-unul nou. Această comandă poate fi utilă, de exemplu, când se schimbă drepturile de acces pentru un fișier sau director și este necesar ca proprietarul să fie schimbat într-un utilizator diferit. Comanda chown poate fi folosită numai de către utilizatorii cu permisiuni de administrare pe sistemul respectiv.

Iată câteva exemple de utilizare pentru comanda chown:

Schimbarea proprietarului unui fișier. Pentru a schimba proprietarul unui fișier numit file.txt la utilizatorul user1, rulăm următoarea comandă:

chown user1 file.txt

Schimbarea proprietarului și grupului unui fișier. Pentru a schimba proprietarul și grupul unui fișier numit file.txt la utilizatorul user1 și grupul group1, rulăm următoarea comandă:

chown user1:group1 file.txt

Schimbarea proprietarului și grupului recursiv pentru un director. Pentru a schimba proprietarul și grupul recursiv pentru un director numit mydir la utilizatorul user1 și grupul group1, rulăm următoarea comandă:

chown -R user1:group1 mydir

Opțiunea -R înseamnă că comanda se va aplica recursiv pe toate fișierele și subdirectoarele din directorul mydir.

chmod

Comanda chmod din Linux este utilizată pentru a schimba permisiunile de acces la fișiere sau directoare. Aceste permisiuni de acces pot fi read ®, write (w) și execute (x), iar acestea pot fi acordate pentru proprietar, grup și alți utilizatori.

Structura generală a comenzii chmod este următoarea:

chmod [permisiuni] [nume_fișier/director]

Unde [permisiuni] reprezintă permisiunile pe care doriți să le setați și [nume_fișier/director] reprezintă fișierul sau directorul asupra căruia se vor aplica permisiunile.

Permisiunile pot fi specificate într-o varietate de moduri:

  • Ca un număr întreg, cunoscut sub numele de mod octal. Acest mod constă din trei cifre, fiecare cifră reprezentând permisiunile pentru proprietar, grup și alți utilizatori, în această ordine. Fiecare permisiune este reprezentată de o cifră, 4 pentru read, 2 pentru write și 1 pentru execute. De exemplu, permisiunile 755 rwxr-xr-x acordă proprietarului permisiunile complete rwx, iar grupul și alți utilizatori au permisiuni de citire și execuție r-x.
  • Ca un șir de caractere, folosind sintaxa ugo +/- rwx. u reprezintă proprietarul, g reprezintă grupul din care acesta face parte, iar o reprezintă alți utilizatori. + și - adaugă sau elimină permisiunile, iar r, w și x reprezintă permisiunile de citire, scriere și execuție.

Iată câteva exemple de utilizare a comenzii chmod:

# Schimbă permisiunile pentru proprietar, grup și alți utilizatori folosind modul octal
chmod 755 file.txt
 
# Adaugă permisiunea de scriere pentru grup
chmod g+w file.txt
 
# Elimină permisiunea de execuție pentru alți utilizatori
chmod o-x file.txt

Este important să acordați atenție permisiunilor acordate pentru fișiere și directoare pentru a asigura securitatea sistemului dumneavoastră.

touch

Comanda touch în Linux este folosită pentru a crea un fișier gol sau pentru a actualiza data și ora de modificare a unui fișier existent. Dacă fișierul specificat nu există, atunci comanda touch va crea un fișier nou cu numele respectiv și data curentă și ora de modificare. Dacă fișierul există deja, comanda touch va actualiza data și ora de modificare la momentul actual, dar nu va modifica conținutul fișierului. Comanda touch poate fi utilă pentru a crea rapid fișiere necesare pentru diverse aplicații sau pentru a actualiza data și ora de modificare a unui fișier pentru a reflecta momentul ultimei modificări.

cat

Comanda cat (concatenate) în Linux este folosită pentru a afișa conținutul unuia sau mai multor fișiere text pe ecran. Sintaxa de bază este următoarea:

cat [OPTIONS] [FILE(s)]

Opțiunile includ -n (numără liniile), -b (numără doar liniile nevide), -s (afisează doar linii unice) și altele.

De asemenea, comanda cat poate fi folosită pentru a combina mai multe fișiere într-unul singur, utilizând operatorul de redirectare >:

cat file1.txt file2.txt > combined.txt

Această comandă va combina conținutul fișierelor file1.txt și file2.txt și le va salva în fișierul combined.txt.

>, < (redirectare)

Operatorii de redirectare > și < sunt utilizați pentru a redirecționa fluxurile de intrare și ieșire în și din fișiere sau alte comenzi.

  • Operatorul > este folosit pentru a redirecționa fluxul de ieșire al unei comenzi către un fișier. De exemplu, comanda ls > list.txt va afișa rezultatele comenzii ls în fișierul list.txt. Dacă fișierul nu există, acesta va fi creat.
  • Operatorul < este folosit pentru a redirecționa fluxul de intrare al unei comenzi dintr-un fișier. De exemplu, comanda sort < list.txt va ordona liniile din fișierul list.txt și va afișa rezultatele la ieșirea standard.

Este important de menționat că operatorul > suprascrie conținutul fișierului existent sau creează un fișier nou dacă acesta nu există, în timp ce operatorul » adaugă la sfârșitul fișierului existent. De exemplu, comanda echo “Hello World” » file.txt va adăuga textul Hello World la sfârșitul fișierului file.txt fără a șterge conținutul anterior.

De asemenea, operatorii de redirectare pot fi combinați pentru a redirecționa atât intrarea, cât și ieșirea unei comenzi către sau din fișiere diferite. De exemplu, comanda sort < input.txt > output.txt va ordona liniile din fișierul input.txt și va scrie rezultatul în fișierul output.txt.

less

Comanda less în Linux afișează conținutul unui fișier într-un mod interactiv și permite utilizatorului să navigheze într-o manieră mai convenabilă decât cu comanda cat. Această comandă este utilizată în special pentru vizualizarea fișierelor mari sau lungi, deoarece le afișează pe ecran în porțiuni mici, permițând utilizatorului să navigheze mai ușor prin ele cu ajutorul săgeților sau a altor taste. De asemenea, less permite căutarea textului în fișier.

grep

Comanda grep este utilizată în Linux pentru căutarea unui șir de caractere într-un fișier sau pentru filtrarea ieșirii altor comenzi prin selectarea liniilor care conțin un anumit șir de caractere. Numele său provine de la cuvântul “globally search a regular expression and print” (căutare globală a unei expresii regulate și afișare).

Comanda grep primește ca argumente un șir de caractere căutat, precum și unul sau mai multe fișiere în care se va efectua căutarea. Comanda afișează apoi toate liniile din fișierele respective care conțin șirul de caractere căutat. De asemenea, grep poate fi folosit cu alte comenzi prin intermediul caracterului pipe | pentru a filtra ieșirea acestora.

sed

Comanda sed este folosită pentru a efectua manipulări de text în Linux. Numele “sed” vine de la “stream editor” și este utilizat pentru a filtra și transforma textul. Comanda sed poate efectua o varietate de operațiuni de manipulare a textului, inclusiv înlocuirea unui șir de caractere cu altul, ștergerea unor linii dintr-un fișier și extragerea anumitor porțiuni de text din fișiere. Comanda sed utilizează expresii regulate și comenzi de editare pentru a efectua manipulări complexe de text într-un mod automatizat.

| (pipe)

Simbolul | (pipe) în Linux este folosit pentru a redirecta ieșirea unei comenzi către intrarea altei comenzi. Acesta conectează ieșirea standard a primei comenzi (comanda din stânga simbolului |) la intrarea standard a celei de-a doua comenzi (comanda din dreapta simbolului |). În acest fel, se pot crea “pipe-uri” pentru a executa mai multe comenzi într-un singur flux. Această abilitate este utilă în multe situații, inclusiv atunci când se dorește filtrarea sau procesarea datelor.

Previous Next