İnformasiyanın filtrlənməsi. Requlyar ifadələr
Hərdən adının tərkibindəki məlumatdan xəbərdar
olduğumuz, lakin, tam adını və yerləşdiyi yeri bilmədiyimiz fayldan
informasiyanı ekrana çıxarmaq lazım gəlir. Məhz bu hallar üçün requlyar ifadələr mövcuddur. Onlardan ən çox istifadə
olunanları aşağıda qeyd etmişik.
Requlyar ifadələr – şablonun müəyyən edilməsi vasitəsidir.
^ – sətrin
başlanğıcı;
$ – sətrin sonu;
[
] – mötərizədəkilərə daxil olan ixtiyari simvol.
Diapozonları dəstəkləyir, məsələn, [0-9] – rəqəmləri, [a-z A-Z] – latın əlifbasının
bütün hərflərini və s.
[^] – mötərizədə qeyd olunanlardan başqa ixtiyari simvol;
\ – ixtiyari metasimvolun işini ləğv edir.
. – ixtiyari bir simvol.
Requlyar ifadələr Linuxun bütün mətn redaktorları tərəfindən
dəstəklənir.
grep
əmri
Mətnin filtrlənməsi üçün grep proqramı mövcuddur. O, həmçinin
requlyar ifadələrdən istifadə edir.
grep
<word> <file> – mətnin filtrlənməsi
utilitidir. file
adlı faylda word
şablonuna uyğun olan ifadələrin iştirak etdiyi sətrləri axtarır və
onları standart şəkildə ekrana çıxarır.
Bir qayda olaraq, grep utilitini yalnız faylların
filtrasiyası üçün deyil, həmçinin, hər hansı bir əmrin ekrana çıxarılması üçün
istifadə edirlər.
Aşağıdakı misalda /bin kataloqunda “f” hərfi ilə başlayan bütün faylları axtarmağa çalışırıq
ls /bin | grep ^f.*
Sabit və simvolik linklər.
Linuxda siz fayl və kataloqlara link yarada bilərsiniz.
Əslində eyni fayl, sistemdə bir neçə adla saxlana bilər və fayla istənilən
sayda link yaratmaq mümkündür. Linklər sabit və simvolik olurlar.
Sabit linklər fayla sabit şəkildə bağlanırlar. Belə
ki, fayla ən azı bir sabit link varsa, onda onu silmək olmaz. Əgər fayla yalnız
simvolik linklər varsa, onda faylı silə bilərsiniz. Bu zaman linklər ləğv
olunacaq və heç yana müraciət etməyəcək.
Sabit linklər fiziki olaraq fayl sistemindən kənarda
yerləşən fayla istinad oluna bilməz. Məsələn, fayl başqa bölmədə yerləşirsə.
Link yaratmaq üçün ln əmrindən istifadə olunur. Bu əmr haqqında aşağıda ətraflı
məlumat vermişəm.
ln – faylları əlaqələndirmək üçün istifadə olunur. Əmrin sintaksisi
aşağıdakı kimidir:
ln
<source_file> - cari kataloqda source_file faylına
link yaradır;
ln <source_file> <dest_file> - dest_file faylı, fayl sistemində mövcud deyilsə, source_file
faylından ona link yaradır. Bu əmri sadə
şəkildə belə izah etmək olar ki, source_file və dest_file eyni fayllardır,
lakin, adları fərqlidir. Qeyd edim ki, Əgər dest_file-ın başqa kataloqda
yaradılmasını istəyirsinizsə, onda həmin kataloqa gedən yolu da yazmalısınız.
Məsələn, ln
leyla1 /home/leyla/Documents/leyla2
leyla1
faylı sizin hal-hazırda olduğunuz yox, başqa kataloqdadırsa, onda leyla1
faylının da yerləşdiyi kataloqua gedən yolu qeyd etməlisiniz. Məsələn, ln /etc/bin/leyla1
/home/leyla/Documents/leyla2
ln <source_1> <source_2> … <source_n>
<directory >
directory artıq fayl sistemində mövcud olan kataloqdur. Cari kataloqdakı source_1,
source_2, ..., source_n fayllarından, directory kataloqundakı uyğun
olaraq eyni adlı fayllara link yaradır.
Parametrlərin iştirakı olmadan, yəni, yuxarıda qeyd etdiyimiz şəkildə
ln
əmri hard
link (sərt link) yaratmağa xidmət edir. Lakin, -s parametri ilə bu əmr soft
və ya symbolic
link (simvolik link) yaratmaq
üçün istifadə olunur.
Qeyd:
UNIX-in bütün versiyalarında qovluqlara hard link yaratmaq qadağan olunub.
Linux, həmçinin, məlum olmayan səbəblərdən, qurğuların xüsusi fayllarına hard
link yaratmağa qadağa qoyub.
No comments:
Post a Comment