01 Sistemi i skedareve

Redhat Linux File System

Ne kete leksion

  • Te kuptojme strukturen e sistemit te skedareve

Sistemi i skedareve

Ne nje sistem Linux cdo gje eshte nje skedar; nese nuk eshte nje skedar atehere eshte nje proces.

Ky pohim eshte i vertete pasi ne linux ka disa tipe qe vecanta skedaresh qe nuk jane skedare ne kuptimin e thjeshte ( si per shembull named pipes dhe sockets, jane skedare).

Ne Linux nuk behet dallim midis skedareve dhe direktorive, direktorite jane konceptuar si skedare qe permbajne skedare te tjere. Skedare jane programet , sherbimet, tekstet, imazhet etj. Nga kendveshtrimi i sistemit edhe pajisjet e hyrje-daljes konsiderohen si skedare.

Direktorite ne LINUX jane te organizuar ne formen e pemes duke nisur me dosjen / (rrenje) dhe gjithe tjerat si nendirektori te saj.

Pjesa me e madhe e skedareve jane skedare te zakonshem qe ruajne te dhena si per shembull skedare tekst, skedare te ekzekutueshem etj, ndersa ka gjithashtu edhe disa tipe te vecante skedaresh:

Struktura e direktorive

Direktorite ne LINUX jane te organizuar ne formen e pemes duke nisur me dosjen / (rrenje) dhe gjithe tjerat si nendirektori te saj.

ls

Direktoria rrenje permba direktorite:

Llojet e skedareve

Per te listuar skedaret ne formatin e gjate dhe me atribute mund te perdorim komandel ls me opsion -l (long)

student@localhost:~$ ls -l

total 36

drwxrwxr-x 2 student student 4096 Feb 26 00:04 chapter 1

drwxr-xr-x 2 student student 4096 Feb 22 19:18 Desktop

drwxr-xr-x 2 student student 4096 Feb 22 19:18 Documents

drwxr-xr-x 2 student student 4096 Feb 26 01:22 Downloads

drwxr-xr-x 2 student student 4096 Feb 22 19:18 Music

drwxr-xr-x 2 student student 4096 Mar 5 01:14 Pictures

drwxr-xr-x 2 student student 4096 Feb 22 19:18 Public

drwxr-xr-x 2 student student 4096 Feb 22 19:18 Templates

drwxr-xr-x 2 student student 4096 Feb 22 19:18 Videos

student@ubuntu:~$

Per te shfaqur edhe skedaret pervec direktorive

student@localhost:~$ ls -l -a

total 184

drwxr-xr-x 25 student student 4096 Mar 5 00:37 .

drwxr-xr-x 3 root root 4096 Feb 21 21:02 ..

-rw------- 1 student student 920 Mar 5 01:09 .bash_history

-rw-r--r-- 1 student student 220 Feb 21 21:02 .bash_logout

-rw-r--r-- 1 student student 3486 Feb 21 21:02 .bashrc

drwx------ 17 student student 4096 Feb 25 22:27 .cache

drwxrwxr-x 2 student student 4096 Feb 26 00:04 chapter 1

drwx------ 13 student student 4096 Mar 5 00:44 .config

drwx------ 3 student student 4096 Feb 22 19:18 .dbus

drwxr-xr-x 2 student student 4096 Feb 22 19:18 Desktop

-rw-r--r-- 1 student student 26 Mar 5 00:36 .dmrc

drwxr-xr-x 2 student student 4096 Feb 22 19:18 Documents

drwxr-xr-x 2 student student 4096 Feb 26 01:22 Downloads

drwx------ 5 student student 4096 Mar 5 01:16 .gconf

drwx------ 4 student student 4096 Feb 22 19:18 .gnome2

........

Cdo rresht i rezultatit perbehet nga shtate kollona:

    1. Unix file type

    2. Permissions

    3. Number of hard links

    4. User and Group ownership

    5. Size

    6. Time and date

    7. Name

Shkronja e pare e rezultatit te mesiperm na tregon se cfare lloj skedari eshte skedari i listuar.

Simboli - (minus) tregon qe kemi te bejme me nje skedar normal, qe mund te jete nje skedar tekst, nje skedar binar ose nje skedar i ekzekutueshem.

Shkronja d tregon qe kemi te bejme me nje direktori.

Shkronja l tregon nje link(short cut). Tabela me poshte liston llojet e skedareve

Te drejtat mbi skedaret

Nente simbolet e tjera pas simbolit te pare qe tregonte tipin e skedarit kane te bejne me te drejtat e aksesit mbi skedarin.

Ka tre simbole te mundshme per te drejtat e aksesit mbi skedarin

    • r- read , percakton te drejten per te lexuar skedarin

    • w- write, percakton te drejten per te shkruajtur skedarin

    • x- execute, percakton te derjten per ekzekutuar skedarin

Te drejtat per skedarin percaktohen per pronarin e skedarit, per grupin ne te cilin ben pjese ky anetar dhe se fundi per gjithe te tjeret. si ne tabelen me poshte

R

W

X

R

W

X

R

W

X

Perdorusi qe zoteron skedarin

Grupi qe zoteron skedarin

Te gjithe perdoruesit

Nese eshte shfaqur simboli perkates, tregon qe perdoruesi e ka ate te drejte mbi skedarin. Nese eshte shfaqur - (minus) atehere tregon qe perdoruesi nuk e ka ate te drejte mbi skedarin.

per shembull

drwxr-xr-x 2 student student 4096 Feb 22 19:18 Desktop

tregon qe :

Desktop eshte nje direktori

perdoruesi student ka te drejta:

    • r = leximi

    • w = shkrimi

    • x = ekzekutimi

grupi student ka te drejta:

    • r = leximi

    • x = ekzekutimi

te gjithe perdoruesit e tjere kanete drejta:

    • r = leximi

    • x = ekzekutimi

Ushtrim 1

Cfare tip skedari jane skedaret e meposhtem dhe cfare te drejtash ekzistojne mbi to?

-rw------- 1 student student 920 Mar 5 01:09 .bash_history

drwx------ 13 student student 4096 Mar 5 00:44 .config

-rw-r--r-- 1 student student 220 Feb 21 21:02 .bash_logout

drwxr-xr-x 2 student student 4096 Feb 22 19:18 Documents

Pergjigje

Si ti modifikojme te drejtat?

Per efekt ilustrimi do te krijojme nje skedar ne linux. Per te krijuar nje skedar ne linux do te perdorim komanden cat.

student@localhost:~$ cat > ict.txt

Ky eshte nje skedar prove,

i cili do te perdoret per te ilustruar modifikimin e te drejtave

se fundi do te shtypim Ctrl+D per te ruajtur skedarin.

Te verifikojme qe skedari u krijua

student@localhost:~$ ls i*

ict.txt

student@localhost:~$

Te afishojme informacionet mbi kete skedar

student@localhost:~$ ls -l ict.txt

-rw-rw-r-- 1 student student 148 Mar 5 01:55 ict.txt

student@localhost:~$

Mundet gjithashtu te lexojme permbajtjen e skedarit

student@localhost:~$ cat ict.txt

Ky eshte nje skedar prove,

i cili do te perdoret per te ilustruar modifikimin e te drejtave

se fundi do te shtypim Ctrl+D per te ruajtur skedarin.

student@localhost:~$

Ushtrim 2

Krijoni nje skedar me emrin myict.txt duke perdorur komanden cat.

Listoni kete skedar dhe shpjegoni te drejtat e aksesit qe ai ka.

Afishoni permbajten e ketij skedari nepermjet komandes cat

Zgjidhje

Te krijojme skedarin myict.txt

student@localhost:~$ cat > Documents/myict.txt

Ky eshte nje skedar qe po krijohet ne dosjen Documents.

Vini re qe Linux ne dallim nga windows ne vend te \ perdor /.

Se fundi e ruajme skedarin me Ctrl+D

student@localhosr:~$

Te verifikojme krijimin e tij duke e listuar se bashku me atributet

student@localhost:~$ ls -l Documents/my*

-rw-rw-r-- 1 student student 155 Mar 5 02:05 Documents/myict.txt

student@localhost:~$

Te afishojme permbajtjen e skedarit

student@localhost:~$ cat Documents/myict.txt

Ky eshte nje skedar qe po krijohet ne dosjen Documents.

Vini re qe Linux ne dallim nga windows ne vend te \ perdor /.

Se fundi e ruajme skedarin me Ctrl+D

student@localhost:~$

Komanda chmod

Per te modifikuar te drejtat e nje skedari perdoret komanda chmod

Per shembull

tek skedari ict.txt do te heqim te drejten e pronarit (student) per te lexuar skedarin

student@localhost:~$ chmod u-r ict.txt

u , tregon perdoruesin

- , tregon qe e drejta do te hiqet

r, tregon qe do te preket e drejta e leximit

Nese pas ketij veprimi do te listonim skedarin ict.txt do te vinim re qe perdoruesi nuk ka te drejte leximi ne skedarin ict.txt

student@localhost:~$ ls ict.txt -l

--w-rw-r-- 1 student student 148 Mar 5 01:55 ict.txt

Nese do te tentojme te afishojme permbajtjen e skedarit ict.txt tani do te veme re qe do te shfaqet nje mesazh gabimi Permission denied

student@localhost:~$ cat ict.txt

cat: ict.txt: Permission denied

student@localhost:~$

Nese do ti modifikonim serish te drejtat e skedarit ict.txt

student@localhost:~$ chmod u+r ict.txt

do te veme re qe perdorusit (student) i eshte rikthyer e drejta e aksesit mbi skedarin

student@localhost:~$ ls -l ict.txt

-rw-rw-r-- 1 student student 148 Mar 5 01:55 ict.txt

student@ubuntu:~$

Nese do te ritentojme qe te afishojme permbajten e skedarit nepermjet komandes cat nuk do te kemi serish mesazh gabimi:

student@localhost:~$ cat ict.txt

Ky eshte nje skedar prove,

i cili do te perdoret per te ilustruar modifikimin e te drejtave

se fundi do te shtypim Ctrl+D per te ruajtur skedarin.

student@localhost:~$

Ushtrim 3

Hiqni te drejten per lexim nga skedari Documents/myict.txt.

Afishoni te drejtat pas ketij veprimi.

Tentoni te afishoni permbajtjen e skedarit Document/myict.txt nepermjet komandes cat. Cfare ndodh? Pse?

Riktheni te drejten e leximit te skedari Documents/myict.txt. Afishoni permbajtjen e tij nepermjet komades cat.

Zgjidhje

Ndryshimi i nivelit te accessit per grupin

Eshte e mundur qe te modifikohen te drejtat edhe per grupin duke e simbilizuar grupin me g(group) dhe o(other) per perdoruesit e tjere dhe gjithe perdoruesit duke i simbolizuar te gijthe perdoruesit te tjere me a(all).

    • u - user

    • g- group

    • o- other

    • a- all

Per shembull nese duam ti heqim aksesin te gjithe perdoruesve te tjere pervec userit dhe grupit student:

student@localhost:~$ chmod o-rw ict.txt

nese do te verifikonim te drejtat pas ketij veprimi:

student@localhost:~$ ls -l ict.txt

-rw-rw---- 1 student student 148 Mar 5 01:55 ict.txt

student@localhost:~$

veme re qe useri dhe grupi kane akses lexim shkrim ndersa te tjeret asnje te drejte mbi skedarin.

nese do ti hiqnim te gjitheve aksesin do te perdornim -a, si ne shembullin me poshte

student@localhost:~$ chmod a-rw ict.txt

Verifikojme te drejtat

student@localhost:~$ ls -l ict.txt

---------- 1 student student 148 Mar 5 01:55 ict.txt

student@localhost:~$

dhe verejme qe asnje nuk ka akses mbi skedarin ict.txt.

Te shtojme njekohesisht te drejtat tek skedari ict.txt si me poshte:

    • lexim,shkrim per perdoruesin

    • lexim,shkrim per grupin

    • lexim per te tjeret

student@localhost:~$ chmod u+rw,g+rw,o+r ict.txt

po te listojme te drejtat do te veme re qe te drejtat jane shtuar njekohesishte

student@localhost:~$ ls -l ict.txt

-rw-rw-r-- 1 student student 148 Mar 5 01:55 ict.txt

student@localhost:~$

Ushtrim 4

Aplikoni listen e komandave te mesiperme tek skedari Documents/myict.tct

zgjidhje

Paraqitja ne sistemin me 8 shifra i te drejtave

rwx ne sistemin me tete shifra ka vlerat e meposhtme

Eshte e mundur gjithashtu qe ne komanden chmod te perdoren vlerat oktale per percaktimin e te drejtave.

Per shembull komanda

student@localhost:~$ chmod 777 ict.txt

do ti jepte te gjitheve te drejta te plota mbi skedarin ict.txt

student@localhost:~$ ls -l ict.txt

-rwxrwxrwx 1 student student 148 Mar 5 01:55 ict.txt

Ndersa komanda

student@localhost:~$ chmod 664 ict.txt

Do ti jepte perdoruesit dhe grupit te drejte lexim shkrimi dhe te tjereve vetem te drejte leximi

student@localhost:~$ ls -l ict.txt

-rw-rw-r-- 1 student student 148 Mar 5 01:55 ict.txt

student@localhost:~$

Ushtrim 5

Aplikoni masken 777 tek skedari Documents/myict.txt dhe verifikoni te drejtat mbi skedarin.

Aplikoni masken 664 tek skedari Documents/myict.txt dhe verifikoni te drejtat mbi skedarin.

Aplikoni masken 000 tek skedari Documents/myict.txt dhe verifikoni te drejtat mbi skedarin.

Zgjidhje

Perdoruesit duhet te bejne pjese te pakten ne nje grup, i cili quhet grupi primar. Gjithashtu perdoruesit mund te bejne pjese edhe ne grupe te tjera te cilat quhen grupe suplementare.

Eshte e mundur te nderrohet pronari i nje skedari duke perdorur komanden chown, por ky veprim duhet kryer me kredencialet e root.

Per shembull, komanda me poshte i kalon pronesine e skedarit ict.txt perdoruesit root. Si shpjegohet gabimi i shfaqur?

student@localhost:~$ chown root ict.txt

chown: changing ownership of `ict.txt': Operation not permitted

student@localhost:~$

Gabimi shfaqet per shkak sepse veprimi i nderrimit te pronesise se skedarit duhet bere me kredencialet e perdoruesit root.

Nese do ta ritentojme ndryshimin e pronesise por duke perdorur kredencialet e root do te veme re se veprimi do te shkoje me sukses:

root@localhost:~$

[sudo] password :

root@localhost:~$ chown root ict.txt

Po te verifikojme te drejtat e skedarit pas ketij veprimi do te veme re se pronari i skedarit eshte root.

student@localhost:~$ ls -l ict.txt

-rw-rw-r-- 1 root student 148 Mar 5 01:55 ict.txt

student@localhost:~$

Per ta rikthyer skedarin ne pronesi te userit student ekzekutojme serish komanden chown.

root@localhost:~$ chown student ict.txt

root@localhost:~$

Po te veririkojme pronesine mbi skedarin ict.txt do te veme re qe pronari tani eshte student.

root@localhost:~$ ls -l ict.txt

-rw-rw-r-- 1 student student 148 Mar 5 01:55 ict.txt

root@localhost:~$

Ushtrim 6

Hapni nje terminal te ri. Kaloni skedarin Document/myict.txt ne pronesi te root.

Verifikoni pronesine e skedarit

Kalojeni serish skedarin ne pronesi te student.

Verifikoni pronesine e skedarit

Zgjidhje

Madhesia e skedareve ne disk

Madhesia e skedareve ne komandin ls eshte ne byte. Eshte e mundur qe ta shfaqim dimensionin e skedareve ne kybyte duke perdorur atributin -h.

Per shembull

student@ubuntu:~$ ls -l -h

total 48K

drwxrwxr-x 2 student student 4.0K Feb 26 00:04 chapter 1

drwxr-xr-x 2 student student 4.0K Feb 22 19:18 Desktop

drwxr-xr-x 2 student student 4.0K Mar 5 01:58 Documents

drwxr-xr-x 2 student student 4.0K Feb 26 01:22 Downloads

-rw-rw-r-- 1 student student 147 Mar 5 01:54 endri.txt

-rw-rw-r-- 1 student student 148 Mar 5 01:55 ict.txt

drwxr-xr-x 2 student student 4.0K Feb 22 19:18 Music

-rw-rw-r-- 1 student student 5 Mar 5 02:03 myict.txt

drwxr-xr-x 2 student student 4.0K Mar 5 01:14 Pictures

-rw-rw-r-- 1 student student 0 Mar 5 01:50 prove.txt

drwxr-xr-x 2 student student 4.0K Feb 22 19:18 Public

drwxr-xr-x 2 student student 4.0K Feb 22 19:18 Templates

drwxr-xr-x 2 student student 4.0K Feb 22 19:18 Videos

student@ubuntu:~$

Vini re madhesine e direktorive ne rezultatin e mesiperm. Per shembull Direktorite Documents, Downloads, Pictures .. jane te gjithe 4.0K. Ne fakt komanda ls shfaq dimensionin e direktorise ne metadata, jo sasine e diskut qe ajo okupon.

Per te afishuar sasine e diskut qe perdor nje direktori mund te perdorim komanden du = disk usage

Per shembull

student@localhost:~$ du -s -h Pictures

1.7M Pictures

student@localhost:~$

s= summary

h= readable format

Disa komanda per te punuar me skedaret

Komanda cat

Konkatenon dhe afishon skedaret.

Per shembull

root@localhost:/$ cat etc/hosts

127.0.0.1 localhost

127.0.1.1 ubuntu

# The following lines are desirable for IPv6 capable hosts

::1 ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

student@ubuntu:/$

Komanda grep

Komanda grep na mundeson te kerkojme per nje tekst te paracaktuar brenda nje skedari.

Per shembull mund te kerkojme per fjalen localhost ne skedarin hosts.

root@localhost:/$ grep localhost /etc/hosts

127.0.0.1 localhost

::1 ip6-localhost ip6-loopback

root@localhost:/$

Komanda grep eshte case sensitive, dallon midis shkronjave te medha dhe te vogla.

Si baze, komanda grep kthen te gjithe rreshtat qe permbajne tekstin per te cilin po kerkojme.

Gjithashtu eshte e mundur qe te perdoren karakteret speciale, si per shembull simboli * nenkupton nje numer shkronjash 0..n.

per shembull

student@localhots:/$ grep localhost /etc/hosts*

/etc/hosts:127.0.0.1 localhost

/etc/hosts:::1 ip6-localhost ip6-loopback

student@ubuntu:/$ grep localhost /etc/*

grep: /etc/at.deny: Permission denied

grep: /etc/blkid.tab: No such file or directory

grep: /etc/fuse.conf: Permission denied

grep: /etc/group-: Permission denied

grep: /etc/gshadow: Permission denied

grep: /etc/gshadow-: Permission denied

/etc/hosts:127.0.0.1 localhost

/etc/hosts:::1 ip6-localhost ip6-loopback

grep: /etc/mtab.fuselock: Permission denied

grep: /etc/passwd-: Permission denied

grep: /etc/shadow: Permission denied

grep: /etc/shadow-: Permission denied

grep: /etc/sudoers: Permission denied

student@ubuntu:/$

Kopjimi i skedareve

Komanda cp, kopjon nje skedar.

cp ict.txt ictcopy.txt

si default komanda cp mbivendos skedarin destinacion nese ai ekziston tashme, pa na pyetur nese duam taq mbivendosim.

Shembulli me poshte kopjon te gjithe skedaret qe ndodhen ne dosjen home ne dosjen Documents.

student@localhost:~$ cp * /Documents

Eshte e mundur te kombinojme komandat me operatotin | (pipe), per shembull komanda me poshte

student@localhost:~$ cat ict2.txt | grep sked

Ky eshte nje skedar prove,

se fundi do te shtypim Ctrl+D per te ruajtur skedarin.

student@localhost:~$

afishon rreshtat qe permbajne nje tekst.

Zhvendosja e skedareve

Komanda move, mv, na mundeson zhvendosjen e nje skedari nga nje vend ne nje vend tjeter.

Per shembull

student@localhost:~$ mv ict.txt Documents/movedict

Fshirja e skedareve

Komanda rm (remove) fshin skedaret. Duke qene se rikthimi i skedareve te fshire nuk eshte nje proces i thjeshte eshte mire qe te jemi te kujdesshem me perdorimin e komandes remove. Nje nder rekomandomet do te ishte qe te perdornim opsionin -i (interactive), i cili kerkon konfirmimin e perdoruesit perpara se te fshije nje skedar.

student@localhots:~$ rm -i ict2.txt

rm: remove regular file `ict2.txt'? n

student@localhots:~$

Gjithashtu eshte e mundur qe te fshihen direktorite(nese kemi akses sigurisht) nepermjet opsioni -r (recursive).