Orice calculator are nevoie să stocheze date de diferite tipuri undeva, de exemplu pe un hard drive (HDD), un stick de memorie USB, etc. Aceste date sunt organizate sub formă de fișiere, directoare și legături (link-uri).
Un director este de fapt tot un fișier ce conține adresele altor fișiere. În Linux, totul este reprezentat ca un fișier sau un director: hard-drive-ul, display-ul, keyboard-ul, etc.
Link-urile sunt legături între două puncte ale sistemului de fișiere. În general le folosim când vrem să ne ușurăm accesul la un fișier sau director, sau pentru a uniformiza accesul.
Sistemul de fișiere este folosit pentru a organiza ierarhic toate datele stocate pe un sistem.
În Linux, acesta are următoarea structură arborescentă, ce poate fi vizualizată folosind comanda tree
:
Un director poate conține mai multe fișiere și directoare, iar directoarele la rândul lor pot conține alte fișiere și directoare.
În Linux, întreaga structură de directoare pornește din directorul root reprezentat de un singur slash /
.
Directorul root conține numeroase alte directoare ce stochează diferite tipuri de informații:
/bin
conține fișiere executabile, utilitare fundamentale cum ar fi cp
, ls
/boot
conține toate fișierele necesare pentru bootarea cu succes a sistemului/etc
conține fișiere de configurare/root
este directorul home al utilizatorului privilegiat root
/home
conține directoarele home
pentru toți utilizatorii din sistem
În directorul home
al unui utilizator se găsesc fișiere personale, ce nu pot fi accesate de alți utilizatori.
root
.
După cum am spus la începutul laboratorului, datele sunt stocate pe un disk (hard-disk, SSD, CD-ROM).
În Linux, există numeroase formate de stocare a datelor, numite și tipuri de sisteme de fișiere: ext4
, ext3
, ext2
, ZFS
, XFS
. Acestea specifică modul în care datele sunt stocate și ulterior accesate de pe disk. Forma cea mai comună de stocare a datelor este ext4
.
Ca o comparație între Windows și Linux, după cum știm Windows are disk-uri A
, B
, C
, D
, etc., în Linux trebuie ca disk-ul să fie legat la sistemul de fișiere într-un director ales.
Această operație se numește montare și se realizează folosind comanda mount
. Folosită fără niciun argument, ne va spune ce sisteme de fișiere sunt montate și în ce directoare sunt montate.
Pentru accesarea unui fișier sau director sunt posibile două moduri, în funcție de directorul curent:
Directorul curent este directorul în care utilizatorul se află la momentul actual. Directorul curent se afișează la apelul comanzii pwd
(print working directory).
Pentru schimbarea directorului curent se folosește comanda cd
(change director), urmată de numele directorului în care dorim să ajungem.
Să luăm ca exemplu următoarea structură de fișiere și directoare din laboratorul introductiv:
$ cd ~/uso-lab $ tree . ├── 00-intro │ ├── support │ └── wiki │ ├── basics.wiki │ ├── concepts.wiki │ ├── demo.wiki │ ├── get-a-life.wiki │ ├── need-to-know.wiki │ ├── nice-to-know.wiki │ └── recap.wiki ├── 01-fs │ ├── support ...
Dacă dorim să afișăm fișierul concepts.wiki
folosind o cale absolută vom folosi comanda ls
, astfel:
$ ls /home/student/uso-lab/00-intro/wiki/concepts.wiki
Dacă ne aflăm curent în directorul uso-lab
, putem să folosim o cale relativă:
$ ls ./00-intro/wiki/concepts.wiki
Sau și mai simplu:
$ ls 00-intro/wiki/concepts.wiki
.
specifică directorul curent. Acesta poate fi omis, după cum se vede în exemplul anterior.
Dacă ne aflăm în directorul 01-fs
, putem să folosim de asemena o cale relativă, astfel:
$ ls ../00-intro/wiki/concepts.wiki
..
specifică directorul părinte directorului curent.
În Linux există două tipuri de utlizatori:
root
Utilizatorul root
este prezent, în general, pe orice sistem Linux, rolul său fiind de administrare și gestionare a celorlalți utilizatori.
sudo
, care permite unui alt utilizator să execute comenzi ca un superuser (utilizator privilegiat).
Diferența dintre utilizatorii neprivilegiați și utilizatorii privilegiați este dată de drepturile pe care aceștia le au. Linux folosește permisiuni pentru a dicta ce operații poate să efectueze un utilizator asupra unui fișier sau director.
Permisiunile pot fi aplicate pe trei categorii:
Pentru fiecare dintre cele trei categorii există trei permisiuni:
Ordinea în care se aplică aceste permisiuni este: