Utilizarea sistemelor Linux / Unix in linie de comanda
Structura generală a unei comenzi în Bash
Numele Comenzii: Acesta este programul sau comanda pe care doriți să o executați. Este primul element pe care îl introduceți și spune shell-ului ce acțiune să efectueze.
Opțiuni: Opțiunile, adesea precedate de o singura liniuta sau doua liniute
--, modifică comportamentul comenzii standard. Unele comenzi pot funcționa fără opțiuni, în timp ce altele accepta una sau mai multe opțiuni.Argumente: Argumentele sunt țintele comenzii, cum ar fi numele fișierelor, directoarelor, utilizatorilor sau alte date asupra cărora comanda va acționa. Argumentele urmează după numele comenzii și orice opțiuni aplicabile.
Redirecționare: Bash permite redirecționarea intrării și ieșirii unei comenzi către și dinspre fișiere sau comenzi. Simbolurile comune includ
>(redirecționează ieșirea standard),<(redirecționează intrarea standard), și|(pipe, care transmite ieșirea unei comenzi ca intrare pentru alta).Controlul Execuției: Bash permite controlul asupra modului în care comenzi sunt executate, cum ar fi executarea în background (
&), gruparea comenzilor (;,&&,||).
# exemplu comanda simpla: pwd - print working directory
stud1016@sop:~$ pwd
# output:
/home/stud1016
# exemplu comanda cu argument: echo - afiseaza un sir de caractere pe ecran
stud1016@sop:~$ echo "Hello world!"
# output:
Hello world!
# exemplu comanda cu optiuni si redirectionare catre comanda 2
# numele comenzii: ls - comanda pentru listarea conținutului directorului.
# două opțiuni combinate: -l pt listare detaliată, -a pt a include fișierele ascunse
# redirecționare / Pipe: | - transmite ieșirea comenzii ls ca intrare pt comanda less
# numele comenzii (2): less - un program de paginare care permite navigarea prin conținutul prea lung pentru a fi afișat pe o singură pagină
stud1016@sop:~$ ls -la | less
# output:
total 28
drwxr-x--- 5 stud1016 students 4096 Feb 21 14:00 .
drwxr-xr-x 56 root root 4096 Feb 4 12:25 ..
-rw------- 1 stud1016 students 1863 Feb 20 17:58 .bash_history
drwx------ 2 stud1016 students 4096 Feb 20 14:42 .cache
-rw------- 1 stud1016 students 20 Feb 21 14:00 .lesshst
drwxr-xr-x 2 stud1016 students 4096 Feb 21 12:51 seminar1
drwxr-xr-x 2 stud1016 students 4096 Feb 21 10:26 seminar2
-rw-r--r-- 1 stud1016 students 0 Feb 21 10:26 temp.txt
stud1016@sop:~$
# se va reveni cu interpretarea outputului in sectiunea despre sistemul de permisiuniSistemul de fisiere si directoare
Sistemul de fișiere și directoare în Linux/Unix este structurat ierarhic, asemănător unui arbore, cu rădăcina acestui arbore reprezentată de directorul root, notat cu /. Acest sistem permite organizarea logică și eficientă a fișierelor și directoarelor pe un sistem de operare.
Iată câteva concepte cheie și caracteristici ale sistemului de fișiere în Linux/Unix:
Rădăcina /
/Este nivelul cel mai înalt în ierarhia sistemului de fișiere. Toate fișierele și directoarele sunt subordonate acestui director root.
Directoare importante
/binși/usr/bin: Conțin fișiere executabile necesare pentru pornirea și rularea sistemului de operare, precum și programele utilizate frecvent de utilizatori./boot: Conține fișierele necesare pentru procesul de boot al sistemului./dev: Conține fișiere speciale sau noduri de dispozitiv care reprezintă sau controlează hardware-ul./etc: Conține fișierele de configurare ale sistemului./home: Conține directoarele personale ale utilizatorilor (cu excepția utilizatorului root)./libși/usr/lib: Conțin bibliotecile de sistem necesare pentru executarea fișierelor binare aflate în/binși/usr/bin./root: Directorul personal al utilizatorului root (administratorul sistemului)./tmp: Folosit pentru stocarea fișierelor temporare./usr: Conține majoritatea programelor și bibliotecilor utilizator. Subdirectoarele includbin,lib,share, etc./var: Conține fișiere care se modifică frecvent, cum ar fi loguri și baze de date.
Caracteristici
Ierarhic: Organizarea în formă de arbore facilitează navigarea și gestionarea sistemului de fișiere.
Permisiuni: Fiecare fișier și director are seturi de permisiuni asociate pentru proprietar, utilizatori din acelasi grup cu proprietarul și alții (utilizatori care fac parte din alt grup decat proprietarul), controlând cine poate citi, scrie sau executa un fișier sau director.
Case-sensitive: Numele de fișiere și directoare sunt sensibile la majuscule și litere mici, astfel
document.txtșiDocument.txtar fi considerate distincte.
Fișiere - notiuni generale
Un fișier este o colecție de date stocate pe un dispozitiv de stocare, cum ar fi un hard disk, SSD, USB drive, sau server de rețea, care sunt tratate ca o unitate singură de către sistemul de operare. Fișierele pot conține orice tip de date: text, imagini, programe, setări de configurare, cod executabil, sau orice alt tip de informație care poate fi salvată digital.
Sistemele de operare folosesc fișiere pentru a organiza și a gestiona datele, permițând utilizatorilor și aplicațiilor să creeze, să modifice, să stocheze și să acceseze informații într-o manieră structurată și eficientă.
Caracteristici principale ale fișierelor
Nume și Extensie: Fiecare fișier are un nume unic în contextul directorului său. Majoritatea fișierelor au și o extensie (de exemplu,
.txt,.jpg,.exe), care indică tipul fișierului și determină ce program poate deschide fișierul respectiv.Permisiuni: Sistemele de operare moderne atribuie permisiuni fișierelor, controlând cine poate citi, scrie sau executa fișierul.
Metadata: Pe lângă datele propriu-zise, fișierele pot include și metadata, adică informații despre fișier, cum ar fi data creării, data ultimei modificări, dimensiunea fișierului, și permisiunile acestuia.
Tipuri de Fișiere: Există diferite tipuri de fișiere, incluzând fișiere de text, binare, executabile, și speciale (cum ar fi linkurile simbolice și directoarele în sistemele Unix/Linux).
Fișierele sunt fundamentale pentru funcționarea sistemelor de calcul și a aplicațiilor software. Ele permit:
Stocarea Persistentă: Datele salvate în fișiere rămân disponibile și după repornirea computerului, oferind o formă de stocare persistentă.
Organizarea Datelor: Sistemele de fișiere permit organizarea logică a datelor în directoare și subdirectoare, facilitând gestionarea eficientă a unei cantități mari de informații.
Partajarea și Transferul de Date: Fișierele pot fi ușor partajate între utilizatori sau transferate între sisteme diferite, facilitând colaborarea și comunicarea.
Crearea fișierelor din shell-ul Linux/Unix poate fi realizată prin mai multe metode și comenzi. Iată câteva dintre cele mai uzuale comenzi, împreună cu exemple de utilizare:
Crearea fișierelor
touch
touchComanda touch este cel mai simplu mod de a crea fișiere noi. Dacă fișierul specificat nu există, el va fi creat gol.
Aceasta comandă creează un fișier gol numit fisier_nou.txt.
echo
echoComanda echo este folosită pentru a afișa o linie de text, dar poate fi redirecționată pentru a crea un fișier cu conținut.
Aceasta comandă creează un fișier numit fisier_cu_text.txt și adaugă textul "Acesta este un text" în el. Dacă fișierul există deja, acesta va fi suprascris.
printf
printfSimilar cu echo, dar oferă mai mult control asupra formatării output-ului.
Această comandă creează un fișier numit fisier_printf.txt și adaugă două linii de text în el.
cat
catComanda cat poate fi folosită pentru a combina mai multe comenzi și pentru a crea fișiere cu conținut specific.
Această secvență creează fisier_cat.txt și așteaptă ca utilizatorul să introducă textul de la tastatură. Pentru a încheia și a salva fișierul, apăsați CTRL+D.
Redirecționarea Output-ului unei comenzi
Orice comandă care generează output poate fi redirecționată pentru a crea un nou fișier.
Aceasta comandă creează un fișier numit lista_directoare.txt care conține lista detaliată a fișierelor și directoarelor din directorul curent.
> vs >>: Folosind > va suprascrie fișierul dacă acesta există, în timp ce >> va adăuga la sfârșitul fișierului fără a-l suprascrie.
Aceasta comandă adaugă un nou rând la fișierul existent fisier_cu_text.txt fără a șterge conținutul existent
Vizualizarea conținutului fișierelor
cat
catAfișează întregul conținut al fișierului pe ecran.
less
lessPermite navigarea prin conținutul fișierului o pagină odată, oferind posibilitatea de a merge înainte și înapoi.
head
headAfișează primele linii din fișier (implicit primele 10 linii).
tail
tailAfișează ultimele linii din fișier (implicit ultimele 10 linii). Foarte util pentru a vizualiza cele mai recente intrări în fișiere de log.
grep
grepCaută într-un fișier text pentru un anumit șir de caractere și afișează toate liniile care conțin acel șir.
Editarea conținutului fișierelor
Pentru editarea fișierelor, sunt disponibile mai mulți editoare de text în linia de comandă, fiecare cu propriile sale caracteristici și comenzi.
nano: Un editor de text simplu și intuitiv, potrivit pentru începători.
În nano, folosiți tastatura pentru a edita textul. Pentru a salva și ieși, apăsați Ctrl + O pentru a salva modificările, apoi Ctrl + X pentru a ieși din editor.
vi sau vim: Editoarele de text mai avansate, oferind funcționalități extinse pentru editarea eficientă a textului. vim este o versiune îmbunătățită a vi.
sau
În vi/vim, veți începe în modul "normal". Pentru a începe editarea, apăsați i. După editare, apăsați Esc pentru a reveni la modul normal, apoi tastați :wq pentru a salva și ieși, sau :q! pentru a ieși fără a salva.
Crearea directoarelor si navigarea
mkdir
mkdirComanda mkdir (make directory) este folosită pentru a crea unul sau mai multe directoare noi.
Pentru a crea un singur director:
Pentru a crea mai multe directoare în același timp:
Pentru a crea un director și toate directoarele părinte necesare (opțiunea -p):
. și ..
. și ... reprezintă directorul curent. Poate fi folosit în diverse comenzi pentru a indica directorul actual. De exemplu, pentru a lista conținutul directorului curent folosind ls:
.. reprezintă directorul părinte al directorului curent. Este folosit pentru a naviga înapoi în ierarhia de directoare sau pentru a referi fișiere/directoare relativ la directorul părinte.
cd
cdComanda cd (change directory) este utilizată pentru a schimba directorul curent.
Pentru a naviga la un director specific:
Pentru a reveni la directorul home al utilizatorului:
Pentru a merge la directorul părinte al directorului curent:
ls
lsComanda ls listează conținutul unui director.
Pentru a lista fișierele și directoarele din directorul curent:
Pentru a lista conținutul inclusiv fișierele ascunse (încep cu .):
Pentru a lista conținutul cu detalii (cum ar fi permisiunile, proprietarul, dimensiunea):
dir
dirSimilar cu ls în multe distribuții, dir listează conținutul directoarelor:
tree
treeComanda tree afișează o structură de arbore a directorului curent și a subdirectoarelor sale. Aceasta poate fi foarte utilă pentru a obține o vedere de ansamblu asupra ierarhiei de fișiere/directoare.
Pentru a afișa structura în formă de arbore a directorului curent și a subdirectoarelor:
Pentru a limita afișarea la un anumit nivel de adâncime (de exemplu, 2 nivele):
Pentru a utiliza comanda tree, s-ar putea să fie necesar să o instalezi prima dată folosind managerul de pachete al distribuției tale, deoarece nu este întotdeauna instalată implicit.
Stergerea fisierelor si directoarelor
Stergerea fișierelor și directoarelor din linia de comandă Linux/Unix se poate realiza prin mai multe metode, folosind comenzi precum rm, rmdir, și opțiuni ca -r. Fiecare dintre aceste comenzi și opțiuni are un scop specific și trebuie utilizată cu prudență, deoarece ștergerea fișierelor în modul terminal este de obicei ireversibilă.
rm
rmComanda rm (remove) este folosită pentru a șterge fișiere și directoare.
Pentru a șterge un singur fișier:
Pentru a șterge mai multe fișiere simultan:
Utilizarea caracterului * (wildcard)
* (wildcard)Caracterul * poate fi folosit pentru a se potrivi cu orice număr de caractere în numele fișierului sau directorului, facilitând ștergerea mai multor fișiere care îndeplinesc un anumit șablon.
Pentru a șterge toate fișierele .txt din directorul curent:
rmdir
rmdirComanda rmdir este specializată în ștergerea directoarelor goale. Nu va șterge un director dacă acesta conține fișiere sau alte directoare.
Pentru a șterge un director gol:
rm -r
rm -rOpțiunea -r (recursivă) cu comanda rm permite ștergerea directoarelor și a conținutului acestora, inclusiv alte subdirectoare și fișiere.
Pentru a șterge un director și toate fișierele și subdirectoarele sale:
Alte opțiuni și comenzi comune
rm -rf: Combinația -rf este folosită pentru a șterge recursiv și forțat directoare și fișiere.
Opțiunea -f (force) înlătură interogările de confirmare, ceea ce face comanda periculoasă dacă nu este folosită cu atenție.
rm -i: Opțiunea -i solicită confirmare înainte de a șterge fiecare fișier, ceea ce poate preveni ștergerile accidentale.
Copierea, mutarea si redenumirea fisierelor si directoarelor
Comanda cp este folosită pentru a copia fișiere și directoare.
Copierea unui fișier într-un alt fișier:
Acesta va copia conținutul sursa.txt în destinatie.txt. Dacă destinatie.txt nu există, va fi creat.
Copierea unui fișier într-un director:
Copiază fisier.txt în directorul specificat.
Copierea recursivă a unui director:
Opțiunea -r (recursiv) permite copierea întregului director director_sursa, inclusiv subdirectoarele și fișierele acestuia, în director_destinatie.
Mutarea și redenumirea fișierelor și directoarelor: mv
mvComanda mv este folosită atât pentru a muta cât și pentru a redenumi fișiere și directoare.
Mutarea unui fișier:
Mută sursa.txt în directorul specificat.
Redenumirea unui fișier:
Schimbă numele fișierului nume_vechi.txt în nume_nou.txt. Comanda funcționează similar și pentru directoare.
Alte comenzi și opțiuni comune
Opțiunea -i (interactiv): Atât pentru cp, cât și pentru mv, adăugarea opțiunii -i va solicita confirmare înainte de a suprascrie fișierele existente, prevenind astfel pierderea accidentală a datelor.
Opțiunea -v (verbose): Această opțiune oferă detalii despre procesul de copiere sau mutare, afișând fișierele pe măsură ce sunt copiate sau mutate.
Opțiunea -u (update): Cu cp, această opțiune copiază doar atunci când fișierul sursă este mai nou decât fișierul de destinație sau când fișierul de destinație nu există.
Cautarea in structura de fisiere si directoare si in continutul lor
Căutarea în structura de fișiere și directoare: find
findComanda find este extrem de versatilă și permite căutarea fișierelor și directoarelor bazată pe o varietate de criterii, cum ar fi numele, dimensiunea, tipul și data modificării.
Căutarea fișierelor după nume:
Acest exemplu caută un fișier numit nume_fisier.txt începând cu directorul /calea/de/start și în toate subdirectoarele sale.
Căutarea fișierelor modificate în ultimele 7 zile:
-mtime -7 limitează căutarea la fișierele modificate în ultimele 7 zile.
Căutarea fișierelor cu dimensiunea mai mare de 500MB:
Căutarea și execuția unei comenzi pe fișierele găsite:
Aceasta comandă caută toate fișierele .txt și execută grep pentru a căuta un șir de caractere specific în fiecare fișier găsit.
Căutarea în conținutul fișierelor: grep
grepgrep este o comandă folosită pentru a căuta șiruri de caractere sau expresii regulate în conținutul fișierelor.
Căutarea unui text în fișiere:
Acest exemplu caută șirul "text_cautat" în fisier.txt.
Căutarea recursivă în multiple fișiere:
Opțiunea -r permite căutarea recursivă în toate fișierele din directorul /calea/de/start și subdirectoarele sale.
Căutarea cu afișarea numărului liniei:
-n afișează numărul liniei unde a fost găsit textul.
Utilizarea locate pentru căutarea rapidă a fișierelor
locate pentru căutarea rapidă a fișierelorComanda locate caută într-o bază de date indexată numele de fișiere și directoare, oferind rezultate rapide pentru căutările pe scară largă.
Căutarea unui fișier în baza de date indexată:
Aceasta comandă va returna toate căile care conțin nume_fisier.
Exemple suplimentare
Căutarea cu find folosind expresii booleene:
Caută fișiere care au extensia .txt sau .log.
Folosirea grep cu expresii regulate:
Caută liniile care încep cu o cifră în fisier.txt.
Expresiile regulate (sau regex, de la Regular Expressions) sunt șiruri de caractere care formează un pattern de căutare, folosite pentru a identifica, căuta, și manipula textul bazat pe anumite modele. Acestea sunt extrem de puternice și flexibile, fiind utilizate în programare, procesarea textelor, analiza datelor, și în diverse utilitare de sistem pentru a efectua operații complexe pe texte, cum ar fi căutări, înlocuiri, și validări de format.
Utilizatorii
În Linux, fiecare persoană care accesează sistemul este identificată printr-un utilizator. Fiecare utilizator are un ID unic (User ID sau UID) și poate avea asociate diverse informații, cum ar fi un director home (spațiul său personal de lucru), un shell (interpretorul de comenzi implicit) și alte setări. Există două tipuri principale de utilizatori:
Utilizatori obișnuiți: Au acces limitat, în principal în propriile directoare home și în zonele sistemului unde au fost acordate explicit drepturi. Acești utilizatori nu pot modifica setările sistemului care afectează alți utilizatori.
Utilizatorul root: Este utilizatorul administrator cu acces complet la sistem. Root poate modifica orice fișier, rula orice comandă și schimba orice setare. Datorită puterii sale, utilizarea contului root trebuie făcută cu prudență.
Grupuri
Grupurile sunt colecții de utilizatori, care permit administrarea mai ușoară a permisiunilor. Fiecare grup are un ID unic (Group ID sau GID) și poate include mai mulți utilizatori. Linux folosește grupuri pentru a asigna permisiuni care se aplică mai multor utilizatori simultan, făcând mai ușor controlul accesului la fișiere și directoare.
Utilizatorii pot aparține mai multor grupuri, dar au un grup principal (primary group) și pot avea mai multe grupuri secundare (supplementary groups). Când un utilizator creează un fișier nou, grupul principal al utilizatorului este, în mod implicit, asociat cu acel fișier ca grup proprietar.
Comenzi de baza
whoami: Afișează numele utilizatorului curent. Este utilă pentru verificarea rapidă a identității utilizatorului sub care rulați comenzi în terminal.
users: Afișează lista utilizatorilor curent autentificați pe sistem. Această comandă este utilă pentru a vedea cine este logat pe sistem în acel moment.
passwd: Permite schimbarea parolei utilizatorului curent sau a altui utilizator, dacă este executată de root. Este una dintre cele mai importante comenzi de securitate, permițând utilizatorilor să își mențină parolele securizate.
Schimbarea parolei utilizatorului curent:
Schimbarea parolei unui alt utilizator (necesită drepturi de root):
sudo: Oferă drepturi de administrator (root) pentru rularea comenzi. Este esențială pentru executarea sarcinilor care necesită permisiuni de nivel superior.
Alte comenzi relevante
id: Afișează ID-ul utilizatorului (UID), grupurile (GID) și alte informații legate de cont. Este utilă pentru a obține detalii despre drepturile unui utilizator.
sau:
useradd: Comandă pentru crearea unui nou utilizator pe sistem.
userdel: Șterge un utilizator din sistem, inclusiv directorul său home și poșta, dacă se specifică opțiunile corespunzătoare.
groups: Afișează grupurile cărora un utilizator este membru.
Sistemul de permisiuni
Sistemul de fișiere Linux utilizează permisiuni pentru a controla accesul la fișiere și directoare. Aceste permisiuni sunt definite pentru trei categorii de utilizatori:
Proprietarul (Owner): Utilizatorul care deține fișierul sau directorul.
Grupul (Group): Grupul asociat cu fișierul sau directorul.
Alții (Others): Toți ceilalți utilizatori de pe sistem.
Permisiunile pot fi setate pentru a permite sau restricționa citirea (read), scrierea (write) și executarea (execute) fișierelor sau directoarelor.
În listarea detaliată a fișierelor și directoarelor se pot observa permisiunile elementelor din directorul curent (sau sursă). În exemplul de mai jos, prima coloană reprezintă codificarea (cu ajutorul a 10 caractere) permisiunilor pentru fiecare fișier sau director.
Primul caracter indică dacă avem de a face cu un director (va fi d) sau un fișier (va fi -)
Următoarele 9 caractere reprezintă privilegiile grupate (read, write, execute) pentru proprietar, grup sau alții. În cazul în care, în raport cu un tip de utilizator o permisiune nu este activă, va fi marcata cu -.
Ex: -rw------- 1 stud1016 students 3106 Feb 24 18:12 .bash_history
Indică faptul ca avem de a face cu un fișier ascuns .bash_history (numele incepe cu .), al cărui owner este utilizatorul stud1016 și are grupul students. În raport cu ownerul există urmatoarele privilegii: citire, scriere dar nu și execuție conform codificării rw-. Utilizatorii din grupul students sau utilizatorii din alte grupuri, alții decât proprietarul nu au niciun privilegiu în raport cu acest fișier.
Considerând că fiecare triadă de privilegii reprezintă un număr codificat binar, pe 3 biți unde un bit are valoarea 1 dacă există permisiune, respectiv 0 dacă nu există permisiune, putem reprezenta concis permisiunile pentru fișierul dat exemplu drept 600.
Prin comparație, directorul cosmin din exemplul de mai sus, are privilegiile 750.
Comanda chmod
Comanda chmod modifică permisiunile fișierelor și directoarelor. Poate fi utilizată atât cu notație simbolică, cât și numerică.
Notatie simbolică: chmod [who][+|-|=][permissions] file
who: u (user), g (group), o (others), a (all)+(adaugă permisiuni),-(elimină permisiuni),=(setează permisiunile exact)permissions: r, w, x
Notatie numerică: chmod [mode] file
mode: Suma valorilor pentru permisiuni (r=4, w=2, x=1) pentru fiecare categorie.
Acordă permisiunea de executie pentru proprietar:
Setează permisiunile pentru proprietar (citire și scriere), grup (citire) și alții (nicio permisiune):
Aici, 6 (4+2) înseamnă citire și scriere pentru utilizator, 4 înseamnă citire pentru grup, iar 0 înseamnă nicio permisiune pentru alții.
Acordă tuturor permisiunea de a citi un fișier:
Elimină permisiunea de scriere pentru grup și alții:
Alte comenzi
La momentul interogării, pe sop.ase.ro erau disponibile 1540 de comenzi distincte. Deși numărul poate fi intimidand, maturitatea și popularitatea sistemelor Unix / Linux face ca găsirea unei comenzi specifice sau exemple de utilizare să fie foarte facile printr-o simplă căutare pe Internet sau utilizarea de servicii populare de Generative AI precum ChatGPT sau Gemini.
*pentru identificarea numarului de comenzi executabile:
find /bin /usr/bin /sbin /usr/sbin -type f -executable | wc -l
man
manComanda man afișează manualul pentru alte comenzi, oferind detalii despre utilizarea și opțiunile lor.
Afișează manualul pentru comanda ls.
history
historyAfișează istoricul comenzilor introduse în terminal.
Afișează ultimele comenzi utilizate.
alias
aliasCreează un pseudonim pentru o comandă, scurtând comenzi lungi sau frecvente.
După acest alias, tastați ll pentru a executa ls -la.
pushd
pushdSalvează directorul curent într-un stivă și te mută într-un nou director.
Salvează directorul curent și schimbă directorul la /var/www.
popd
popdTe întoarce la ultimul director salvat cu pushd.
Te mută înapoi la directorul anterior salvat.
exit
exitÎnchide terminalul curent sau sesiunea shell.
Închide sesiunea curentă.
date
dateAfișează data și ora curentă.
Afișează data și ora sistemului.
top
topAfișează informații în timp real despre procesele rulând în sistem.
Afișează procesele active și utilizarea resurselor.
1. Zona de sumar
Partea superioară a ecranului afișează un sumar al stării sistemului, incluzând:
Timpul de funcționare: Cât timp a fost sistemul în funcțiune de la ultima repornire.
Numărul de utilizatori conectați: Câți utilizatori sunt logați în sistem.
Load average: Media încărcării sistemului pe ultimele 1, 5 și 15 minute. Reflectă numărul de procese care așteaptă activ să fie rulate de CPU sau așteaptă intrarea/scrierea pe disc.
2. Utilizarea CPU
Această secțiune arată procentajul timpului CPU utilizat pentru diferite tipuri de procese:
us (user space): Timpul petrecut rulând cod în spațiul utilizator.
sy (system): Timpul petrecut rulând cod în kernel (spațiul de sistem).
ni (nice): Timpul petrecut rulând procese cu prioritate modificată.
id (idle): Timpul CPU inactiv.
wa (I/O wait): Timpul petrecut așteptând intrări/ieșiri.
hi (hardware IRQ): Timpul petrecut de către CPU în tratarea întreruperilor hardware.
si (software interrupts): Timpul petrecut de către CPU în tratarea întreruperilor software.
st (steal time): Timpul "furat" de alte sisteme de operare într-un mediu virtualizat.
3. Utilizarea memoriei
Informații despre memoria sistemului, inclusiv:
Mem: Memoria fizică totală, utilizată, liberă, în cache.
Swap: Spațiul de swap total, utilizat și liber.
4. Procesele
Lista proceselor care rulează, cu detalii pentru fiecare, precum:
PID: Numărul de identificare al procesului.
USER: Utilizatorul care a pornit procesul.
PR: Prioritatea procesului.
NI: Valoarea nice, care influențează prioritatea procesului.
VIRT: Memoria virtuală totală utilizată de proces.
RES: Memoria rezidentă, cât de multă memorie fizică folosește procesul.
SHR: Memoria partajată cu alte procese.
S: Starea procesului (de exemplu, S pentru sleeping, R pentru running).
%CPU: Procentajul de utilizare a CPU de către proces.
%MEM: Procentajul de memorie utilizat de proces din totalul memoriei fizice.
TIME+: Timpul total de CPU utilizat de proces de când a fost pornit.
COMMAND: Comanda care a lansat procesul.
kill
killTermină procesele specificate prin PID (Process ID).
Termină procesul cu PID-ul 1234.
sed
sedsed (Stream Editor) este utilizat pentru a procesa text bazat pe anumite reguli.
Înlocuiește toate instanțele cuvântului "vechi" cu "nou" în fisier.txt.
sort
sortOrdonează liniile dintr-un fișier text.
Ordonează alfabetic liniile din fisier.txt. Opțiunea n presupune ordonarea matematică.
du
duAfișează utilizarea spațiului pe disc de către fișierele și directoarele specificate.
Afișează dimensiunea totală a directorului /var/www.
df
dfRaportează utilizarea spațiului pe disc al sistemelor de fișiere.
Afișează utilizarea spațiului pe disc într-un format ușor de citit (opțiunea h indică afișarea într-un format human-readable).
chown
chownSchimbarea proprietarului unui fișier: Pentru a schimba proprietarul fișierului
document.txtîn utilizatorulmarius, comanda este:Această comandă va face pe
mariusnoul proprietar al fișieruluidocument.txt.Schimbarea proprietarului și grupului unui fișier: Dacă doriți să schimbați atât proprietarul, cât și grupul pentru fișierul
raport.pdfînmariusși grupuleditors, respectiv, utilizați:Acest lucru va atribui utilizatorul
mariusca proprietar șieditorsca grup al fișieruluiraport.pdf.Schimbarea proprietarului unui director și a conținutului său: Pentru a schimba proprietarul directorului
Proiecteși a tuturor fișierelor și subdirectoarelor din interiorul său în utilizatorulana, folosiți opțiunea-R(recursive):Aceasta va face pe
anaproprietarul directoruluiProiecte, precum și al tuturor elementelor conținute.Schimbarea grupului unui fișier fără a modifica proprietarul: Dacă doriți doar să schimbați grupul unui fișier, lăsând proprietarul neschimbat, folosiți
:înainte de numele grupului, fără a specifica un nume de utilizator:
Comenzi funny
cowsay
cowsaycowsay este o comandă care generează un ASCII art al unei vaci care "spune" textul furnizat ca argument.
Output-ul va fi ceva de genul:
cowthink
cowthinkSimilar cu cowsay, dar generează o vacă care "gândește" textul, nu îl spune.
Output-ul ar arăta similar, dar cu "bule" de gândire în loc de dialog.
sl
slComanda sl (Steam Locomotive) afișează o locomotivă în mișcare prin terminal.
Nu există parametri pentru personalizare; pur și simplu rulează comanda și bucură-te de trenul care trece prin terminalul tău.
fortune
fortunefortune afișează citate aleatoare, zicale, glume sau proverbe.
Output-ul este un text scurt, adesea amuzant sau înțelept.
figlet
figletfiglet generează text mare în ASCII art, folosind caractere standard.
Acesta va afișa cuvântul "Salut" într-un font mare, ASCII.
toilet
toiletSimilar cu figlet, dar oferă mai multe opțiuni de personalizare, cum ar fi fonturi și culori.
Aceasta comandă va afișa "Salut" într-un font mare și cu culori curcubeu.
cmatrix
cmatrixcmatrix afișează o simulare a efectului Matrix în terminal, cu caractere care cad în mod aleatoriu.
Pentru a opri, pur și simplu apasă CTRL+C.
echo "tulaS" | rev
echo "tulaS" | revAceastă comandă utilizează echo pentru a afișa un text, iar rev inversează textul.
Output-ul va fi "Salut", deoarece rev inversează ordinea caracterelor.
Controlul executiei comenzilor
În terminalul Linux, semnele ;, &&, și || sunt utilizate pentru a controla execuția secvențială a mai multor comenzi. Fiecare dintre aceste semne are un scop și o utilizare specifică:
; (Punct și virgulă)
; (Punct și virgulă)Punctul și virgula ; este folosit pentru a separa comenzi, permițându-le să fie executate succesiv, indiferent de rezultatul executării anterioare. Adică, a doua comandă va fi executată după finalizarea primei comenzi, chiar dacă prima comandă eșuează.
Acest exemplu va afișa mesajul "Prima comanda", apoi va încerca să listeze conținutul unui director care nu există, generând un mesaj de eroare.
&& (ȘI logic)
&& (ȘI logic)Operatorul && este folosit pentru a executa a doua comandă doar dacă prima comandă se execută cu succes (adică se termină cu statusul de ieșire 0, care indică succesul).
Aici, comanda cd nou_director va fi executată numai dacă mkdir nou_director reușește să creeze directorul.
|| (SAU logic)
|| (SAU logic)Operatorul || este folosit pentru a executa a doua comandă doar dacă prima comandă eșuează (adică se termină cu un status de ieșire diferit de 0).
În acest caz, mesajul "Directorul nu există." va fi afișat doar dacă încercarea de a schimba directorul în /un_director_inexistent eșuează.
Utilizare combinată
Aceste semne pot fi, de asemenea, combinate pentru a crea lanțuri logice complexe de comenzi.
Exemplu combinat:
Acest exemplu încearcă să schimbe directorul. Dacă operația reușește, va afișa "Director schimbat cu succes!". Dacă schimbarea directorului eșuează, va afișa "Eroare la schimbarea directorului."
Last updated