Sunteți pe pagina 1din 14

LINUX

CHAPER 2
Un sistem de operare este un software care rulează pe un dispozitiv de calcul și gestionează
componentele hardware și software care alcătuiesc un sistem de calcul funcțional.
Puncte de decizie
Prima decizie atunci când se specifică orice sistem informatic este rolul mașinii (vei sta la consola
care rulează aplicații de productivitate sau navigare pe web?)
Apoi, determinați funcțiile mașinii (există software specific pe care trebuie să îl ruleze sau funcții
specifice pe care trebuie să le îndeplinească?)
Durata de viață și toleranța la risc ale serverului trebuie, de asemenea, să fie determinate.
Sistemele de operare și actualizările de software vin periodic, numit ciclu de lansare .
Versiunile software individuale pot fi caracterizate ca beta sau stabile în funcție de locul în care
se află în ciclul de lansare. Când o versiune de software are multe funcții noi care nu au fost testate, este
denumită de obicei beta . După ce a fost testat pe teren, desemnarea sa se transformă în stabilă .
Un alt concept vag-relevant este compatibilitatea versiunile anterioare care se referă la
capacitatea sistemelor operare mai târziu să fie compatibile cu software ul făcut pentru versiunile
anterioare.
Costul este întotdeauna un factor atunci când se specifică noi sisteme.
Astăzi, sistemele de operare oferă atât interfețe GUI, cât și interfețe CLI, cu toate acestea,
majoritatea sistemelor de operare pentru consumatori (Windows, macOS) sunt concepute pentru a
proteja utilizatorul de intrările și ieșirile CLI.
Distribuții Linux
Red Hat a început ca o distribuție simplă care a introdus Managerul de pachete Red Hat (RPM).
Red Hat a început să se concentreze mai mult pe aplicațiile de server, cum ar fi servirea web și fișiere și a
lansat Red Hat Enterprise Linux (RHEL).
În timp ce SUSE Linux Enterprise conține cod proprietar și este vândut ca produs server,
openSUSE este o versiune complet deschisă, gratuită, cu mai multe pachete desktop similare cu CentOS
și Linux Mint.
Debian este mai mult un efort comunitar și, ca atare, promovează și utilizarea software-ului
open source și respectarea standardelor. Debian a venit cu propriul său sistem de gestionare a
pachetelor bazat pe .deb tipul fisierului. Ubuntu este odistributie a Debian ce are mai multe variante
diferite pentru desktop, server și diverse aplicații specializate.
Android folosește mașina Dalvik virtuală cu Linux, oferind o platformă robustă pentru dispozitive
mobile precum telefoane și tablete.
Raspbian este o distribuție specializată Linux optimizată pentru a rula pe Raspberry Pi
hardware . Această combinație a văzut o utilizare semnificativă în instruire pentru programatori și
designeri hardware la toate nivelurile.
Linux From Scratch (LFS) este mai mult un instrument de învățare decât o distribuție funcțională.
Acest proiect constă dintr-o carte online și un cod sursă, cu „instrucțiuni pas cu pas” pentru construirea
unei distribuții Linux personalizate din codul sursă.
CHAPTER 3
Majoritatea distribuțiilor Linux permit utilizatorilor să descarce un pachet de instalare „desktop”
care poate fi încărcat pe o cheie USB. Acesta este unul dintre primele lucruri pe care ar trebui să le facă
administratorii de sistem; descărcați o distribuție majoră și încărcați-o pe un computer vechi.
Pe sistemele care pornesc pe un GUI, există două moduri comune de accesare a liniei de
comandă:
- un terminal GUI este un program din mediul GUI care emulează o fereastră de terminal. Terminalele
GUI pot fi accesate prin intermediul sistemului de meniu: Aplicatii-Instr.de system-Terminal
- un terminal virtual poate fi rulat în același timp cu un GUI, dar necesită utilizatorului să se conecteze
prin terminalul virtual înainte de a putea executa comenzi (așa cum ar face înainte de a accesa interfața
GUI).
Nucleul decide ce program primește blocurile de memorie, pornește și inchide aplicațiile și se
ocupă de afișarea textului sau a graficelor pe un monitor. Nucleul se ocupă și de comutarea aplicațiilor,
un proces cunoscut sub numele de multitasking.
Aplicațiile fac solicitări către kernel și în schimb primesc resurse, precum memorie, CPU și spațiu
pe disc. Dacă două aplicații solicită aceeași resursă, nucleul decide care o primește.
Un proces este doar o sarcină care este încărcată și urmărită de nucleu.
Un computer poate acționa ca un server , ceea ce înseamnă că gestionează în primul rând datele
în numele altora sau ca un desktop , ceea ce înseamnă că un utilizator interacționează direct cu acesta.
Software-ul Linux se încadrează în general în una din cele trei categorii:
- Aplicații server: software care nu are nicio interacțiune directă cu monitorul și tastatura aparatului pe
care rulează. Scopul său este de a furniza informații altor computere, numite clienți .
- Aplicații desktop: in multe cazuri, cum ar fi un browser web, aplicația vorbește cu un server la celălalt
capăt și interpretează datele. Aceasta este partea „client” a unei aplicații client / server.
- Instrumente: pot ajuta la configurarea afișajelor, pot furniza un shell Linux în care utilizatorii tastează
comenzi sau chiar instrumente mai sofisticate, numite compilatoare, care convertesc codul sursă în
programe de aplicații pe care computerul le poate executa.
Pagina web în sine poate fi statică sau dinamică. Când browserul web solicită o pagină statică,
serverul web trimite fișierul așa cum apare pe disc. În cazul unui site dinamic, cererea este trimisă de
serverul web către o aplicație, care generează conținutul.
Servere web:
- WordPress: utilizatorii pot dezvolta conținut prin browserul lor în aplicația WordPress, iar software-ul îl
transformă într-un site dinamic complet functional
- Apache: Apache HTTPD este daemonul sau programul de aplicații server care „servește” solicitările de
pagini web
- NGINX: se concentrează pe performanță utilizând nuclee UNIX mai modern.
Servere private de cloud:
- proiectul ownCloud: ofera software pentru stocarea, sincronizarea și partajarea datelor de pe serverele
cloud private
- proiectul Nextcloud: are ca scop „un proces de dezvoltare deschis, transparent”.
Servere de baze de date - o bază de date stochează informații și permite, de asemenea,
regăsirea și interogarea ușoară):
Exp: MySQL (pentru dezvoltarea web), PostgreSQL, Firebird.
Servere de e-mail:
- Mail Transfer Agent (MTA): Cel mai cunoscut MTA (software folosit pentru a transfera mesaje
electronice către alte sisteme) este Sendmail.
- Mail Delivery Agent (MDA): se ocupă de stocarea e-mailului în căsuța poștală a utilizatorului
- Post Office Protocol (POP) / Internet Message Access Protocol (IMAP) Server: IMAP vă permite să
accesați e-mailul oriunde v-aveți, de pe orice dispozitiv. Atunci când citiți un mesaj de e-mail utilizând
IMAP, de fapt nu descărcați și nici nu stocați e-mailul pe computer; în schimb, o citiți din serviciul de e-
mail. POP funcționează contactând serviciul de e-mail și descărcând toate mesajele noi din acesta. După
ce sunt descărcate pe PC sau Mac, acestea sunt șterse din serviciul de e-mail. Dovecot este un popular
server POP / IMAP datorită ușurinței sale de utilizare și a întreținerii reduse.
Partajarea fișierelor:
- Samba: permite partajarea fișierelor pe diferite sisteme de operare într-o rețea
- Netatalk: permite unei mașini Linux să funcționeze ca un server de fișiere Apple Macintosh. Protocolul
nativ de partajare a fișierelor pentru UNIX / Linux se numește Network File System (NFS) - un sistem de
fișiere la distanță poate fi accesibil la fel ca un disc obișnuit, făcând accesul la fișiere transparent la alte
aplicații.
- Domain Name System (DNS): este folosit pentru a converti un nume precum https://www.icann.org/ la
o adresă IP precum 192.0.43.7, care este un identificator unic al unui computer de pe Internet.
- Lightweight Directory Access Protocol (LDAP): este un sistem comun director care stocheaza informații
precum conturi de utilizator și roluri de securitate.
- Dynamic Host Configuration Protocol (DHCP): atribuie gazdelor IP-uri automat
Shell (Bourne shell si shell C)
La nivel de bază, utilizatorii interacționează cu un sistem Linux printr-un shell, indiferent dacă se
conectează la sistem de la distanță sau de la o tastatură atașată. Sarcina shell-ului este de a accepta
comenzi, cum ar fi manipularea fișierelor și pornirea aplicațiilor și de a le transmite nucleului Linux
pentru executare.
Editori de text
Cele două aplicații principale sunt VIM și Emacs.
- Pico și Nano sunt disponibile pe majoritatea sistemelor și oferă editare de text foarte de bază.
Managementul pachetelor
Un manager de pachete are grijă să țină evidența fișierelor care aparțin acelui pachet și chiar să
descarce actualizări din depozite, de obicei un server de la distanță care distribuie actualizările
corespunzătoare pentru o distribuție.
Gestionarea pachetelor Debian
Distribuția Debian și derivatele sale, cum ar fi Ubuntu și Mint, utilizează sistemul de gestionare a
pachetelor Debian. În centrul gestionării pachetelor Debian se află pachetele software distribuite ca
fișiere care se termină în extensia .deb.
Instrumentul de nivel inferior pentru gestionarea acestor fișiere este comanda dpkg. Această
comandă poate fi dificilă pentru utilizatorii novici de Linux, deci Advanced Package Tool , apt-get (un
program front-end pentru dpkg instrument), facilitează gestionarea pachetelor. Instrumente
suplimentare pentru linia de comandă care servesc drept front-end pentru dpkg include aptitude și
front-end-uri GUI precum Synaptic și Software Center .
Gestionarea pachetelor RPM
Standards Base Linux este proiectat pentru a specifica un set de standarde care măresc
compatibilitatea dintre sistemele Linux conforme.
RPM (Red Hat Package Manager) folosește un fisier .rpm pentru fiecare pachet software.
Instrumentul back-end cel mai frecvent utilizat pentru gestionarea pachetelor RPM este
comanda rpm. In timp ce comanda rpm poate instala, actualiza, interoga și elimina pachete,
instrumentele front-end din linia de comandă, cum ar fi yum și up2date automatizează procesul de
rezolvare a problemelor de dependență.
Instrumente front-end bazate pe GUI: Yumex si Gnome PackageKit
- comanda zypper este baza metodei ZYpp și are comenzi scurte și lungi în limba engleză pentru a
efectua funcții, cum ar fi zypper in packagename care instalează un pachet, inclusiv orice dependențe
necesare.
Limbaje de programare
Limbajele de programare se încadrează în una din cele două tabere: interpretate sau compilate.
O limbă interpretată traduce codul scris în cod de computer pe măsură ce rulează programul, iar o limbă
compilată este tradusă simultan.
Limbajul C este unul compilat, adică programatorul scrie instrucțiuni specifice într-un fișier text,
numit fișier sursă, cu extensia .c; Apoi un alt program, numit compilator ”traduce” textul respectiv
(numit ”cod sursă”, sau pur și simplu ”sursă”).
Limbajul C++ (extensie .exe) este un limbaj compilat si scalabil, cu ajutorul căruia poți crea
aplicații ce consumă multe resurse, precum aplicații pentru desktop sau jocuri complexe la nivel grafic.
- Limbajul Java
- Limbajul Java Script
- Limbajul Perl
- Limbajul PHP
- Limbajul Python
- OpenSSL
Securitate
Cookie-urile sunt fișiere care stochează informații despre tine, browser-ul tău web și
comportamentul tău pe internet.
Browserele oferă, de asemenea, un mod privat sau incognito în care cookie-urile și pixelii de
urmărire sunt șterse la ieșirea din fereastră. Acest mod poate fi util dacă doriți să căutați ceva fără a
permite celorlalte site-uri web să știe ce căutați.
Parole
Cel mai privilegiat utilizator de pe orice sistem Linux este root ; acest cont este principal
administratorul și este creat atunci când sistemul de operare este instalat.
- password manager (gestionarea parolelor): stocheaza acreditările de conectare în formă criptată (ex.
KeePassX)
- two-factor authentication (2FA) (autentificarea cu 2 factori): o tehnică în care o parolă este completată
cu un al doilea „factor”, adesea o parolă trimisă la telefonul utilizatorului sau la alte dispozitive.
Protectie
Un firewall este un dispozitiv care filtrează traficul de rețea, iar Linux are unul încorporat. Dacă
utilizați Ubuntu, atunci Gufw este o interfață grafică cu Ubuntu’s Uncomplicated Firewall (UFW).
- utilizați iptables , care este sistemul firewall încorporat.
Instrumente de confidențialitate
Criptarea este probabil cel mai cunoscut și cel mai utilizat instrument de confidențialitate utilizat
în prezent.
Virtual Private Networks (VPN) au fost utilizate de companii pentru a-și conecta serverele la
distanță si funcționează prin crearea unui canal criptat de comunicare între două sisteme, astfel încât
datele transmise între ele sunt amestecate de un algoritm pe care doar sistemele îl cunosc.
Proiectul Tor a fost implicat mult timp în crearea de instrumente de confidențialitate, cum ar fi
Tor Browser, care funcționează prin transmiterea cererilor de internet printr-o rețea de servere care
împiedică site-urile web și alte persoane să învețe identitatea persoanei care face cererea.
Cloud
Fizic, un cloud poate fi descris ca resurse de calcul de la unul sau mai multe centre de date din
afara site-ului, care pot fi accesate prin internet.
Există patru modele principale de implementare în cloud: public (este o infrastructură cloud
desfășurată de un furnizor pentru a oferi servicii cloud publicului larg și organizațiilor prin Internet),
privat (este o infrastructură cloud care este configurată pentru utilizarea exclusivă a unei anumite
organizații), comunitar (este o infrastructură cloud care este configurată pentru a fi utilizată exclusiv de
un grup de organizații cu obiective sau cerințe comune), hybrid (este compus din doua sau mai mulțe
cloud-uri individuale, fiecare dintre acestea putând fi un cloud privat, comunitar sau public).
Linux în cloud
Virtualizarea se refera la „rularea” mai multor sisteme de operare (Linux, Windows, Unix etc.) pe
un singur PC (sau Server) fizic. Virtualizarea este procesul în care un computer fizic, numit gazdă , rulează
mai multe copii ale unui sistem de operare, fiecare copie numită invitat. Sistemul gazdă rulează un
software numit hipervizor care comută resursele între diferiți invitați la fel cum face kernel-ul Linux
pentru procesele individuale.
Linux este un sistem de operare multi-utilizator , ceea ce înseamnă că mulți utilizatori pot lucra
simultan pe același system.
Partajarea sistemului în modul multi-utilizator necesită, de asemenea, ca toată lumea să ruleze
ca utilizatori neprivilegiați, astfel încât să permiteți fiecărui utilizator să ruleze propriul server web

CHAPTER 4
Codul sursă reprezinta un set de instrucțiuni computerizate care pot fi citite de om. Deoarece
codul sursă nu este înțeles direct de computer, acesta trebuie să fie compilat în instrucțiunile mașinii de
către un compilator. Compilatorul este un program special care adună toate fișierele codului sursă și
generează instrucțiuni care pot fi rulate pe computer.
Grupuri precum IEEE (Institute of Electrical and Electronics Engineers) și POSIX (Portable
Operating System Interface), permit profesioniștilor din diferite companii și instituții să colaboreze la
specificații care fac posibilă funcționarea împreună a diferitelor sisteme de operare și programe.
Licențiere open source
Când vorbim despre cumpărarea de software, există trei componente distincte: Proprietate,
Transfer de bani, Licentiere.
Linux este deținut de Linus Torvalds. El a plasat codul sub o licență numită GNU General Public
License version 2 (GPLv2) .

CHAPTER 5
Odată ce un utilizator a introdus o comandă, terminalul acceptă ceea ce a tastat utilizatorul și îl
transmite unui shell . Shell-ul este interpretul din linia de comandă care traduce comenzile introduse de
un utilizator în acțiuni care trebuie efectuate de sistemul de operare. Cel mai utilizat shell pentru
distribuțiile Linux se numește Bash shell.
Shell-ul Bash oferă multe funcții avansate, cum ar fi istoricul comenzilor și editarea în linie, care
permite unui utilizator să reexecute cu ușurință comenzile executate anterior sau o variantă a acestora
printr-o editare simplă. Shell-ul Bash are și alte caracteristici populare: Scripting (Abilitatea de a plasa
comenzi într-un fișier), Aliasuri (posibilitatea de a crea porecle scurte pentru comenzi mai lungi),
Variabile (Folosit pentru a stoca informații pentru shell-ul Bash și pentru utilizator.)
Structura promptului: nume utilizator (sysadmin@) + nume sistem (@localhost) + directorul curent (:~)
- Simbolul ~ este folosit ca prescurtare pentru directorul de start al utilizatorului. De obicei, directorul
principal pentru utilizator se află sub dosarul /home și este denumit după numele contului de utilizator;
de exemplu, /home/sysadmin.
Ce este o comandă? Cel mai simplu răspuns este că o comandă este un program software care,
atunci când este executat pe CLI, efectuează o acțiune pe computer.
Formatul tipic pentru o comandă este după cum urmează: comandă [opțiuni] [argumente]
Un argument poate fi folosit pentru a specifica ceva pentru care comanda să acționeze.
Opțiunile pot fi folosite cu comenzi pentru a extinde sau modifica modul în care se comportă o
comandă.
ls (list files) : listează fișierele și directoarele conținute în directorul de lucru curent
ls -l : comanda are ca rezultat o listă lungă , oferind informații suplimentare despre fișierele listate,
cum ar fi permisiunile, dimensiunea fișierului și alte informații
- comanda ls tipărește rezultatele în ordine alfabetică și, prin urmare, adăugând optiunea -r,
imprimă rezultatele în ordine alfabetică inversă.
ls -h : opțiunea este adăugată, dimensiunile fișierului vor fi afișate în format lizibil de către om
O liniuta (-) : optiunile cu – sunt precedate de o singura litera (-h)
2 liniute (--) : optiunile cu -- sunt precedate de cuvinte complete (--human-readable)
Săgeată sus ↑ : afișează comanda anterioară pe linia de prompt.
Săgeată stânga ← și Săgeată dreapta → : tastele pot poziționa cursorul pentru editare
History : pentru a vizualiza lista istoricului unui terminal
History nr : pentru a afișa ultimele “x” comenzi
cal (calendar) luna an : calendar
!! : Pentru a executa cel mai recent tip de comandă
Whoami : afișează numele de utilizator
Uname : Pentru a putea vedea numele nucleului pe care îl utilizați (linux etc)
PIPE
Un pipe(|) este o formă de redirecționare pentru a trimite ieșirea unei comenzi către o altă
comandă pentru procesare ulterioară .
Variabile
O variabilă este un șir de caractere căruia îi atribuim o valoare. Valoarea alocată ar putea fi un
număr, text, numele fișierului, dispozitiv sau orice alt tip de date. Există două tipuri de variabile utilizate
în shell-ul Bash: locale și de mediu.
- Variabilele locale sau Variabilele shell există numai în shell-ul curent și nu pot afecta alte comenzi sau
aplicații. Când utilizatorul închide o fereastră terminal sau un shell, toate variabilele se pierd.
Pentru a seta valoarea unei variabile, utilizați următoarea expresie de atribuire. Dacă variabila există
deja, valoarea variabilei este modificată. Dacă numele variabilei nu există deja, shell-ul creează o nouă
variabilă locală și setează valoarea: variabilă = valoare (sysadmin@localhost:~$ variable1='Ceva')
- Variabilele de mediu , numite și variabile globale , sunt disponibile la nivel de sistem, în toate shell-
urile utilizate de Bash atunci când interpretează comenzi și efectuează sarcini. Sistemul recreează
automat variabilele de mediu atunci când se deschide un shell nou.
echo : comanda este utilizată pentru a afișa ieșirea în terminal. ( $ echo $variable1 => Ceva)
HISTSIZE : variabila definește numărul de linii sau comenzi care sunt stocate în memorie într-o listă
istorică în timp ce sesiunea de Bash este în desfășurare.
env : comanda folosita fie pentru a imprima o listă de variabile de mediu, fie pentru a rula un alt utilitar
într-un mediu modificat, fără a fi nevoie să modificați mediul existent în prezent. (putem filtra iesirea:
env | grep variable1)
grep (global/regular expression/print) : Filtrul grep caută într-un fișier un anumit model de caractere și
afișează toate liniile care conțin acel model.
export : comanda ce transforma o variabila locala intr-o variabila de mediu (export variable1 ;
env | grep variable1 => variable1=Ceva)
- utilizată pentru a face o variabilă o variabilă de mediu la crearea sa ( export variable2 = 'Altfel' ;
env | grep variable2 => variable2= Altfel)
- pentru a modifica valoarea unei variabile de mediu (variable1 = $variable1 ' ' $variable2 ;
env | grep variabilă2 => variable2=Altfel)
unset : pentru a șterge variabilele (unset variable2)
pwd (Present Working Directory) : arata în ce director vă aflați în prezent
cd (change directory) : este utilizată pentru a schimba directorul de lucru current
cd .. : ‘..’ sunt folosite pentru a revenii la folderul anterior
cat (concatenare) : Citește date din fișier și oferă conținutul lor ca ieșire. (fisiere .txt)
nano : este un editor de text de linie de comandă (modifica continutul fisierului)
Variabila PATH
echo $PATH : afiseaza unde se afla fisierele executabile
- Fiecare director din listă este separat de două puncte : . Fiecare dintre aceste directoare este
reprezentat de o cale . O cale este o listă de directoare separate prin caracterul /.
- adaugare director principal /usr/bin: PATH=usr/bin:$PATH
Tipuri de comenzi
O modalitate de a afla mai multe despre o comandă este să vă uitați de unde provine.
Tipuri de comenzi: interne, externe, aliasuri, functii
- comenzi interne – afișați informații despre tipul de comandă
- type command : afișează locația comenzii
- type -a command : afișează toate locațiile care conțin comanda numită
- comenzi externe - sunt stocate în fișiere care sunt căutate de shell.
- which command: determina calea directoarelor (caută locația unei comenzi)
- aliasuri - mapeaza comenzi mai lungi la secvențe de taste mai scurte
- Aliasuri noi pot fi create folosind următorul format, unde name este numele care trebuie dat
aliasului și command este comanda care trebuie executată atunci când aliasul este rulat (alias
name=”command”)
- type poate identifica aliasuri la alte comenzi (exp: type ll => ll este alias la “ls -alF”)
- functii - Funcțiile pot fi construite folosind comenzile existente, fie pentru a crea comenzi noi, fie
pentru a suprascrie comenzile încorporate în shell sau comenzile stocate în fișiere. Aliasurile și funcțiile
sunt încărcate în mod normal din fișierele de inițializare la pornirea shell-ului pentru prima dată.
Ghilimelele
- ghilimele duble " , ghilimele unice ' , citate înapoi \ , ghilimele din spate `
Ghilimele duble („ghilimele”) (Double Quotes) protejează tot ce este cuprins între două
ghilimele duble, cu excepția $, ', „și \. Folosiți ghilimele duble când doriți doar variabile și substituirea
comenzilor . Caracterele Glob, numite și wild cards , sunt interpretate de shell înainte de a încerca să
execute orice comandă. Caracterele Glob includ asteriscul *, întrebarea ? și parantezele [ ]. În ghilimele
duble, un asterisc este doar un asterisc, un semn de întrebare este doar un semn de întrebare și așa mai
departe.
Ghilimele unice (‘citatul’) (Single Quotes)protejează tot ce este cuprins între două ghilimele
unice. Este folosit pentru a dezactiva semnificația specială a tuturor personajelor.
Citate înapoi ( \ ) (Backslash Character) reprezinta o tehnică alternativă pentru a cita în esență
un singur caracter. Dacă propoziția este plasată între ghilimele duble, $1 și $PATH sunt considerate
variabile, dacă este plasat în ghilimele unice, $1 și $PATH nu sunt considerate variabile. (Dar dacă vrei să
ai $PATH tratată ca o variabilă și $1 nu? În acest caz, utilizați o bară inversă \ personaj în fața semnului
de dolar $ pentru a împiedica interpretarea.)
Ghilimele din spate (Backquotes) : sunt folosite pentru a specifica o comandă în cadrul unei
comenzi, un proces numit substituire de comandă . (exp: Azi este `date` = Azi este Luni
10octombrie2021)
Instructiunile de control
Instrucțiunile de control vă permit să utilizați mai multe comenzi simultan sau să executați
comenzi suplimentare, în funcție de succesul unei comenzi anterioare.
- Punct și virgulă (;): poate fi folosit pentru a rula mai multe comenzi, una după alta.
- Dublu Ampersand (&&) command1 && comanda2 : acționează ca un „și” logic; dacă prima comandă
are succes, atunci va rula și a doua comandă. Dacă prima comandă eșuează, atunci a doua comandă nu
va rula.
- Dublu Pipe (||) : este un „sau” logic. În funcție de rezultatul primei comenzi, a doua comandă va fi
executată sau omisă. (dacă prima comandă rulează cu succes, a doua comandă este omisă; dacă prima
comandă eșuează, atunci se execută a doua comandă)

CHAPTER 6
Vizualizarea paginilor Man
- man command : pentru a vizualiza o pagină manuală pentru o comandă
Secțiuni din paginile Man
Paginile manual sunt împărțite în secțiuni. Fiecare secțiune este concepută pentru a oferi
informații specifice despre o comandă. Cele mai frecvente sectiuni sunt:
- nume : Oferă numele comenzii și o descriere foarte scurtă.
- rezumat (SYNOPSIS) : Oferă exemple despre modul în care este executată comanda.
- descriere : Oferă o descriere mai detaliată a comenzii.
- optiuni : Listează opțiunile pentru comandă, precum și o descriere a modului în care sunt utilizate.
- dosare : Listează fișierele asociate cu comanda, precum și o descriere a modului în care sunt utilizate.
- autor : Oferă numele persoanei care a creat pagina manuală și (uneori) cum să o contactați
- raportarea erorilor : Oferă detalii despre modul de raportare a problemelor cu comanda.
- drepturi de autor : Oferă informații de bază privind drepturile de autor.
- see also (vezi si) : Vă oferă o idee despre unde puteți găsi informații suplimentare
Pentru a căuta un termen pe o pagină manual, tastați / urmat de un termen de căutare, apoi
apăsați Enter
Pentru a căuta pagini de man după nume, utilizați optiunea -f la comanda man.
Găsirea comenzilor și a documentației
- whatis (sau man -f) : returnează în ce secțiune este stocată o pagină manuală.
Unde sunt situate aceste comenzi?
- whereis : Pentru a căuta locația unei comenzi sau paginile de manual pentru o comandă
- locate : Pentru a găsi orice fișier sau director; Această comandă caută o bază de date cu toate fișierele
și directoarele care se aflau în sistem atunci când baza de date a fost creată.
- info : oferă documentație privind comenzile și caracteristicile sistemului de operare

CHAPTER 7
Fișierele sunt utilizate pentru a stoca date precum text, grafică și programe.
Directoarele (foldere) sunt un tip de fișier folosit pentru a stoca alte fișiere.
Structura directorului (folderului)
Pe un sistem Windows, nivelul superior al structurii de directoare se numește Computerul meu .
In Linux folderul principal se numeste root și este simbolizat prin bară / .
Folderul Home
Sub folderul /home există un director pentru fiecare utilizator din sistem. Numele directorului
este același cu numele utilizatorului, deci un utilizator numit sysadmin ar avea un director de acasă
numit /home/sysadmin.
La majoritatea distribuțiilor Linux, singurii utilizatori care pot accesa fișierele dintr-un director
principal sunt proprietarul și administratorul sistemului.
Directorul Home are un simbol special folosit pentru a-l reprezenta: tilde ~ . Deci, dacă
utilizatorul sysadmin este conectat, tilde ~ poate fi folosit în locul /home/sysadmindirector.
Folderul Curent
- pwd : pentru a determina unde este localizat utilizatorul în prezent în sistemul de fișiere
Schimbarea directoarelor/folderelor
Atunci când un utilizator deschide un shell, de obicei începe în directorul său de acasă.
- cd foldername: pentru a naviga în sistemul de fișiere
Paths/Cai
O cale este o listă de directoare separate prin caracterul /. Dacă vă gândiți la sistemul de fișiere
ca la o hartă, căile sunt adresele directorului, care includ direcții de navigare pas cu pas; ele pot fi
utilizate pentru a indica locația oricărui fișier din sistemul de fișiere.
Există două tipuri de căi: absolută și relativă.
- Căile absolute permit utilizatorului să specifice locația exactă a unui director. Începe întotdeauna de la
directorul rădăcină (root) și, prin urmare, începe întotdeauna cu caracterul /. Calea /home/sysadmin
este o cale absolută; îi spune sistemului să înceapă de la directorul root /, mutați în home, apoi în
directorul sysadmin.
- Căile relative încep din directorul curent. O cale relativă oferă direcții către un fișier în raport cu locația
curentă din sistemul de fișiere. Nu încep cu caracterul /. În schimb, încep cu numele unui director. Mai
precis, căile relative încep cu numele unui director conținut în directorul curent.
Shortcuts (Comenzi rapide)
- cd .. : deplasarea inapoi in cadrul folderelor.
Listarea fișierelor într-un director
- ls optiune fisier : este utilizată pentru a afișa conținutul unui director și poate oferi informații detaliate
despre fișiere. Comanda ls folosește culoarea pentru a distinge după tipul de fișier. De exemplu,
directoarele pot fi afișate în albastru, fișierele executabile pot fi afișate în verde
- ls /var : utilizată pentru a lista conținutul oricărui director din sistemul de fișiere.
Listarea fișierelor ascunse
Un fișier ascuns este orice fișier (sau director) începe cu un punct . inainte. De ce sunt ascunse
fișierele în primul rând? Majoritatea fișierelor ascunse sunt fișiere de personalizare, concepute pentru a
personaliza modul în care funcționează Linux, shell-ul sau programele. De exemplu, fisierul .bashrc din
directorul de start personalizează caracteristicile shell-ului, cum ar fi crearea sau modificarea variabilelor
și aliasurilor.
- ls -a : pentru a afișa toate fișierele, inclusiv fișierele ascunse
Listare cu afișaj lung
Fiecare fișier are detalii asociate cu acesta numite metadate.
- ls -l numefolder
Tip fisier
- primul caracter al fiecărei linii indică tipul de fișier. Tipurile de fișiere sunt:
d director Un fișier folosit pentru a stoca alte fișiere.
- fișier obișnuit Include fișiere lizibile, imagini, fișiere binare și fișiere comprimate.
l legătură simbolică Arată către un alt fișier.
s priză Permite comunicarea între procese.
p conductă Permite comunicarea între procese.
b fișier bloc Folosit pentru a comunica cu hardware.
c fișier de caractere Folosit pentru a comunica cu hardware.
Exp: - rw-r - r-- 1 rădăcină rădăcină 15322 10 dec 21:33 alternative.log
Permisiuni
- Următoarele nouă caractere demonstrează permisiunile fișierului. Permisiunile indică modul în care
anumiți utilizatori pot accesa un fișier.
Exp: d rwxr-xr-x 2 rădăcină rădăcină 4096 19 iulie 06:51 jurnal
Hard Link Count
- Acest număr indică câte legături dure indică acest fișier.
Exp: -rw-r ----- 1 syslog adm 371 Dec 15 16:38 auth.log
User Owner
- Fiecare fișier este deținut de un cont de utilizator. Acest lucru este important, deoarece proprietarul
are drepturile de a seta permisiunile pentru un fișier.
Exp: -rw-r ----- 1 syslog adm 197 Dec 15 16:38 cron.log
Group Owner
- Indică ce grup deține acest fișier. Acest lucru este important, deoarece orice membru al acestui grup
are un set de permisiuni pentru fișier.
Exp: -rw-rw-r-- 1 root utmp 292584 Dec 15 16:38 lastlog
Mărime fișier
- Afișează dimensiunea fișierului în octeți.
Exp: -rw-r ----- 1 syslog adm 14185 15 Dec 16:38 syslog
Data si ora
- indică data/ora la care s-a modificat ultima dată conținutul fișierului.
Exp: -rw-rw ---- 1 root utmp 0 26 mai 2018 btmp
Numele fisierului
- Câmpul final conține numele fișierului sau directorului.
Exp: -rw-r - r-- 1 rădăcină rădăcină 35330 26 mai 2018 bootstrap.log
Dimensiunile fisierelor
- ls -lh numefolder : dimensiunea fișierului este greu de determinat în octeți. Uneori este de preferat să
prezentați dimensiunea fișierului într-o dimensiune mai ușor de citit de oameni, cum ar fi megabytes sau
gigabytes.
Directoare de listare
- ls -ld : cand optiunea -d este utilizată, aceasta se referă la directorul current. Amintiți-vă că directorul
curent este întotdeauna menționat cu un singur character punct (.).
Listare recursiva
Există momente când doriți să afișați toate fișierele dintr-un director, precum și toate fișierele
din toate subdirectoarele din acel director. Aceasta se numește o listă recursivă .
- ls -R folder : Pentru a efectua o listă recursive
Sortează o listă
În mod implicit, comanda ls sortează fișierele în ordine alfabetică după numele fișierului. Uneori,
poate fi util să sortați fișierele folosind criterii diferite.
- ls -S folder : pentru a sorta fișierele după dimensiune
- ls -lS folder : listează fișierele de la cel mai mare la cel mai mic și afișează dimensiunea reală a fișierului
- ls -hS folder : pentru a afișa dimensiuni de fișier citibile de către om (K,Mb)
- ls -tl folder : sortează fișierele în funcție de momentul în care au fost modificate. Va afișa mai întâi cele
mai recente fișiere modificate.
- ls -t –full-time folder : Pentru informații mai detaliate despre timpul de modificare/afișarea marcajului
de timp complet (inclusiv ore, minute, secunde)
- ls -lrS folder : va sorta fișierele după dimensiune, de la cel mai mic la cel mai mare
- ls -lrt folder : va lista fișierele după data modificării, de la cele mai vechi la cele mai noi

CHAPTER 8
Asterisc *
- este folosit pentru a reprezenta zero sau mai multe fisiere dintr-un nume de fișier. De exemplu, pentru
a afișa toate fișierele din folderul /etc care începe cu litera t: echo /etc/t*
- Puteți utiliza caracterul asterisc în orice loc al modelului de nume de fișier. De exemplu, următoarele se
potrivesc cu orice nume de fișier din folderul /etc care se termină cu .d: echo /etc/*.d
- În exemplul următor, toate fișierele din folderul /etc care începe cu litera r și se termină cu .conf sunt
afișate: echo /etc/r*.conf
Semnul de întrebare ?
Reprezintă orice caracter unic. Fiecare caracter ? se potrivește exact cu un caracter de la
denumire
Exp: Să presupunem că doriți să afișați toate fișierele din folderul /etc care începe cu litera t și au exact 7
caractere după caracterul t: echo /etc/t ???????
- Asteriscul și semnul întrebării ar putea fi, de asemenea, utilizate împreună pentru a căuta fișiere cu
extensii de trei litere, utilizând /etc/*.??? model: echo /etc/*.???
Parantezele patrate [ ]
Sunt folosite pentru a se potrivi cu un singur caracter prin reprezentarea unei game de caractere
care sunt posibile. De exemplu, modelul /etc/[gu]* se potrivește cu orice fișier care începe fie cu g sau u
și conține zero sau mai multe caractere suplimentare.
- Suporturile pot fi, de asemenea, utilizate pentru a reprezenta o gamă de caractere. De exemplu,
modelul /etc/[a-d]* se potrivește cu toate fișierele care încep cu orice literă între și inclusiv a și d
- modelul /etc/*[0-9]* afișează orice fișier care conține cel puțin un număr
Punct de exclamare !
Este utilizat împreună cu parantezele pătrate pentru a anula un interval. De exemplu, modelul
/etc/[!DP]* se potrivește cu orice fișier care nu începe cu un D sau P
Copierea fișierelor
- cp source destination : este utilizată pentru a copia fișiere. Necesită o sursă și o destinație.
- Sursa este fișierul care urmează să fie copiat. Destinația este cazul în care copia este localizata. Când
are succes, comanda cp nu are nicio ieșire
Modul Verbose
- -v : provoacă comanda cp pentru a produce ieșire dacă are success (cp -v / etc / hosts ~ )
Când destinația este un folder, noul fișier rezultat păstrează același nume ca fișierul original.
Pentru a da noului fișier un alt nume, furnizați numele nou ca parte a destinației: cp / etc / hosts ~ /
hosts.copy
Evitați suprascrierea datelor
Comanda cp poate fi distructivă pentru datele existente dacă fișierul destinație există deja. În
cazul în care există fișierul de destinație, fișierul suprascrie conținutul fișierului existent cu conținutul
fișierului sursă.
- cp -i : îi solicită utilizatorului înainte de a suprascrie un fișier
Copierea directoarelor
- cp -r : copiați atât fișiere, cât și directoare
Mutarea fișierelor
- mv sursa destination : este utilizata pentru a muta fisiere. Când un fișier este mutat, fișierul este
eliminat din locația inițială și plasat într-o locație nouă.
Opțiuni suplimentare de mutare
- comanda mv are urmatoarele optiuni: -i (Interactiv : Întreaba dacă un fișier urmează să fie suprascris),
--n (Fără Clobber : nu suprascrieți conținutul unui fișier de destinație.), -v (Verbose : Arată mișcarea
rezultată)
Redenumirea fișierelor
Numele fișierului se modifică numai dacă este specificat și un nume de fișier destinație.
Exp: mv example.txt Videos/newexample.txt
- daca esti in folderul unde redenumesti: mv newexample.txt myfile.txt (numevechi numenou)

Crearea fișierelor
- touch : pentru a crea un fișier gol (touch numefisier)
- rm : pentru a șterge un fișier (rm numefisier). Rețineți că fișierele sunt șterse fără nicio întrebare.
- Ca măsură de precauție, utilizatorii ar trebui să folosească optiunea -i la ștergerea mai multor fișiere:
$ rm -i * .txt (toate fisierele ce contin .txt la final)
Eliminarea directoarelor
- rm -r namefolder : pentru a șterge un director/folder
- rm -ir namefolder : ne intreaba daca permitem/refuzam stergerea folderului
- rmdir namefolder : sterge folderul doar daca este gol
Crearea de directoare
- mkdir namefolder : creare de folder

CHAPTER 9
Arhivarea fișierelor este utilizată atunci când unul sau mai multe fișiere trebuie transmise sau
stocate cât mai eficient posibil.
Arhivare : combină mai multe fișiere într-unul singur.
Comprimare: dimensiunea unui fișier este redusă prin recodarea datelor fișierului pentru a
utiliza mai puțini biți de stocare decât fișierul original.
Comprimarea fișierelor
Comprimarea reduce cantitatea de date necesare pentru stocarea sau transmiterea unui fișier în
timp ce acesta este stocat în așa fel încât fișierul să poată fi restaurat. Când vorbim despre comprimare,
există două tipuri: Lossless (nicio informație nu este eliminată din fișier. Comprimarea unui fișier și
decomprimarea acestuia lasă ceva identic cu originalul) ; Lossy (informațiile ar putea fi eliminate din
fișier. Este comprimat în așa fel încât decomprimarea unui fișier va duce la un fișier ușor diferit de
original).
- gzip fisier : instrument pentru comprimarea fisierelor
- gunzip fisier sau gzip –d fisier : restaureaza fișierele comprimate la forma lor original
Arhivarea fișierelor
Arhivarea fisierelor reprezinta doar gruparea lor intr-un singur pachet. Arhivarea nu reduce
dimensiunea unui fisier sau folder de pe disk.
- tar fisier : preia mai multe fișiere și creează un singur fișier de ieșire care poate fi împărțit din nou în
fișierele originale de la celălalt capăt al transmisiei.
Comanda tar are trei moduri: creare (creați o nouă arhivă dintr-o serie de fișiere) ; extragere
(trageți unul sau mai multe fișiere dintr-o arhivă) ; listă (afișați conținutul arhivei fără extragere).
- modul de creare : tar -c [-f ARHIVA] [OPȚIUNI] [FIȘIER ...] (-c: creaza o arhivă ; -f ARCHIVA: fisierul ;
argumentul ARCHIVA va fi numele fișierului arhivă rezultat) => extensiile: .tar pentru tarballs și
.tar.gz sau .tgz pentru tarballuri comprimate.
-z : comprimă (sau decomprimă) o arhivă folosind comanda gzip.
- modul lista : tar -t [-f ARHIVA] [OPȚIUNI] (-t: enumerați fișierele dintr-o arhivă ; -f ARCHIVA: operați pe
arhiva date ; -j : decomprimați cu comanda bzip2) => extensiile: .tbz
- modul de extragere : Înainte de a extrage fișierele, mutați-le în folderul Downloads
tar -x [-f ARHIVĂ] [OPȚIUNI] (-x: extrageți fișiere dintr-o arhivă ; -j: decomprimați cu comanda
bzip2 ; -f ARCHIVE: operați pe arhiva date ; -v: listează în mod verbal fișierele procesate) =>
extensiile: .tbz
Fișiere ZIP
- zip [OPȚIUNI] [zipfile [fișier ...]] : Primul argument zipfile este numele arhivei care trebuie creată, după
aceea, o listă de fișiere care trebuie adăugate.

CHAPTER 10
Un număr mare de fișiere dintr-un sistem tipic de fișiere sunt fișiere text . Fișierele text conțin
doar text.
Vizualizarea fișierelor în terminal
- cat numefisier : crearea și afișarea fișierelor text, precum și combinarea copiilor fișierelor text (folosita
pentru fisierele mici)
Vizualizarea fișierelor utilizând un paginator
Pentru fișiere mai mari, utilizați o comanda pager pentru a vizualiza conținutul.
Există două comenzi pager utilizate:
- more : este intotdeauna disponibila
- less : este de obicei pagerul implicit ; nu este inclusa in toate distributiile Linux
Când vizualizați un fișier cu comanda less, utilizați Shift + H pentru a afișa un ecran de ajutor.
(Bara de spațiu - fereastra înainte ; B - fereastra înapoi ; Q - exit).
Pentru a începe o căutare utilizați tasta /nume . Utilizati tasta N pentru a cauta cuvintele
selectate.
- head sau tail numefisier : sunt folosite pentru a afișa doar primele sau ultimele câteva linii ale unui
fișier
-> adaugare optiuni: -nr : pentru a afișa numărul specificat de linii
-n : utilizată pentru a indica câte linii de iesire
Pipe(|) in linie de comanda
Pipe-ul (|) poate fi folosit pentru a trimite ieșirea unei comenzi către alta comanda.
- ls folder/fisier | nl : adaugă numere de linie la ieșire
Redirecționare intrare / ieșire (input/output)
Redirecționarea intrare / ieșire (I / O) permite transmiterea informațiilor din linia de comandă
către diferite fluxuri.
STDIN (Standard Input) : este o informație introdusă în mod normal de utilizator prin
intermediul tastaturii.
STDOUT (Standard output) : este ieșirea normală a comenzilor. (canal#1)
STDERR (Standard error) : sunt mesajele de eroare generate de comenzi. (canal#2)

- sort : poate fi folosită pentru a rearanja liniile de fișiere sau de introducere fie în ordine numerică, fie în
dicționar.

- head : creează un fișier mic


- wc : furnizează numărul de linii, cuvinte și octeți (1 octet = 1 caracter într-un fișier text) pentru un fișier
și un număr total de linii dacă este specificat mai mult de un fișier.
- cut : comanda poate extrage coloane de text dintr-un fișier sau dintr-o intrare standard.
- grep : poate fi folosită pentru a filtra liniile dintr-un fișier sau rezultatul unei alte comenzi care se
potrivește cu un model specificat.
Caracterul “.”
Una dintre cele mai utile expresii este perioada “.”. Se potrivește cu orice caracter, cu excepția
caracterului de linie nouă.
- grep 'r..f' red.txt : modelul r..f ar găsi orice linie care conține litera r urmată de exact două caractere și
apoi litera f.
Caracterul punct poate fi folosit de orice număr de ori. Pentru a găsi toate cuvintele care au cel
puțin patru caractere, se poate folosi următorul model: grep ‘….’ red.txt
Caracterul [ ]
Când utilizați caracterul “.” , orice personaj posibil i-ar putea potrivi. În unele cazuri, doriți să
specificați exact ce caractere doriți să corespundă, cum ar fi un caracter alfabetic cu minuscule sau un
caracter numeric. Cu Parantezele pătrate [ ] potriviți un singur caracter din lista sau gama de caractere
posibile cuprinse între paranteze. (grep ‘[0-9]’ numefisier)
Caracterul Asterix ‘*’
Asteriscul *caracterul este folosit pentru a potrivi zero sau mai multe apariții ale unui caracter
sau model care îl precede.
Caracterul backslash \
În unele cazuri, este posibil să doriți să potriviți un caracter care se întâmplă să fie un caracter
special de expresie regulată.

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