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:
Ne kete leksion
Te kuptojme strukturen e sistemit te skedareve
Te perdorim komanda te sistemit te skedareve
Redhat Linux File System
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:
Unix file type
Permissions
Number of hard links
User and Group ownership
Size
Time and date
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
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
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
Date and Time
Eshte e mundur qe ne listimin e skedareve te afishojme edhe kohen kur skedari eshte krijuar, kohen kur eshte modifikuar per here te fundit dhe kohen kur eshte aksesuar per here te fundit.
Per te shfaqur kohen kur skedari eshte aksesuar per here te fundit perdorim opsionin -lu
student@localhost:~$ ls -lu
per te shfaqur kohen kur eshte krijuar skedari perdorim opsionin -lc
per te shfaqur kohen e serverit
student@localhost:~$ date
Wed Mar 6 22:04:37 CET 2013
student@localhost:~$
Puna 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).