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 (;
,&&
,||
).
Sistemul de fisiere si directoare
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.txt
ar fi considerate distincte.
Fișiere - notiuni generale
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
touch
Comanda 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
echo
Comanda 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
printf
Similar 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
cat
Comanda 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
cat
Afișează întregul conținut al fișierului pe ecran.
less
less
Permite navigarea prin conținutul fișierului o pagină odată, oferind posibilitatea de a merge înainte și înapoi.
head
head
Afișează primele linii din fișier (implicit primele 10 linii).
tail
tail
Afiș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
grep
Caută î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
mkdir
Comanda 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
cd
Comanda 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
ls
Comanda 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
dir
Similar cu ls
în multe distribuții, dir
listează conținutul directoarelor:
tree
tree
Comanda 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
rm
Comanda 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
rmdir
Comanda 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 -r
Opț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
mv
Comanda 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
find
Comanda 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
grep
grep
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
.
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
man
man
Comanda man
afișează manualul pentru alte comenzi, oferind detalii despre utilizarea și opțiunile lor.
Afișează manualul pentru comanda ls
.
history
history
Afișează istoricul comenzilor introduse în terminal.
Afișează ultimele comenzi utilizate.
alias
alias
Creează un pseudonim pentru o comandă, scurtând comenzi lungi sau frecvente.
După acest alias, tastați ll
pentru a executa ls -la
.
pushd
pushd
Salvează directorul curent într-un stivă și te mută într-un nou director.
Salvează directorul curent și schimbă directorul la /var/www
.
popd
popd
Te î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
date
Afișează data și ora curentă.
Afișează data și ora sistemului.
top
top
Afiș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
kill
Termină procesele specificate prin PID (Process ID).
Termină procesul cu PID-ul 1234.
sed
sed
sed
(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
sort
Ordonează liniile dintr-un fișier text.
Ordonează alfabetic liniile din fisier.txt
. Opțiunea n
presupune ordonarea matematică.
du
du
Afișează utilizarea spațiului pe disc de către fișierele și directoarele specificate.
Afișează dimensiunea totală a directorului /var/www
.
df
df
Raportează 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
chown
Schimbarea proprietarului unui fișier: Pentru a schimba proprietarul fișierului
document.txt
în utilizatorulmarius
, comanda este:Această comandă va face pe
marius
noul 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
marius
ca proprietar șieditors
ca 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
ana
proprietarul 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
cowsay
cowsay
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
cowthink
Similar 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
sl
Comanda 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
fortune
fortune
afișează citate aleatoare, zicale, glume sau proverbe.
Output-ul este un text scurt, adesea amuzant sau înțelept.
figlet
figlet
figlet
generează text mare în ASCII art, folosind caractere standard.
Acesta va afișa cuvântul "Salut" într-un font mare, ASCII.
toilet
toilet
Similar 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
cmatrix
cmatrix
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" | rev
Această 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