man əmri
Linuxda hansısa əmr haqqında kömək lazımdırsa, onda man əmrindən
istifadə olunur. Bu əmr özünü less əmri kimi aparır.
man <command_name> - bu
əmrin ən çox istifadə olunan parametrini göstərək.
man
-k <keyword>
- keyword sözünün
olduğu bütün səhifələri göstərir. Məsələn, əgər man –k head əmrini versəm, onda head
sözü olan bütün səhifələri göstərəcək.
man
<number>
- number
saylı bölmədən kömək seçməyi göstərir.
man əmrinin aşağıdakı bölmələri var:
1. İstifadə səviyyəsinin əmr və proqramları;
2. Nüvənin səhvlərinin sistem çağırışları və
kodları;
3. Kitabxana funksiyları;
4. Qurğuların drayverləri və şəbəkə protokolları;
5. Faylların standart formatları;
6. Oyunlar və demostrasiya proqrmları;
7. Müxtəlif fayllar və sənədlər;
8. Sistem administratorluğu;
9. Daxili interfeyslər və nüvənin xüsusiyyətləri.
man əmri haqqında daha ətraflı şəkildə məlumatı man man
əmrini verməklə ala bilərsiniz.
Standart giriş, çıxış və səhv haqqında mesaj qurğuları
Fayllarla iş zamanı bir çox hallarda əmrlərdən
istifadə etmək lazım gələcək. Bu problemlərin həllində Shell əsas rol oynayır.
Shell barədə gələn dərsimizdə ətraflı danışacağıq.
Linuxda terminalla işdə input (giriş), output
(çıxış) və errorun
(səhvin) standart qurğuları anlayışı var.
stdin – standart input qurğusu deməkdir. 0 (sıfır)
nömrəli fayl göstəricisinə malikdir. Bütün proseslərdə avtomatik açılır;
stdout
– standart output
qurğusu deməkdir. 1 (bir) nömrəli fayl göstəricisinə malikdir. Bütün
proseslərdə avtomatik açılır.
stderr – səhvlərin standart axını. Başqa sözlə, səhvlər
haqqında mesajlar üçün xüsusi output qurğusu. 2 (iki) nömrəli fayl göstəricisinə
malikdir.
Bütün proseslərlə birgə avtomatik açılır. Linuxun
bütün əmrləri susmaya görə informasiyanın inputu üçün stdin; outputu üçün stdout
və səhvlər üçün stderr
istifadə olunur.
İstiqamətləndirmə operatorları
Əmrlər əvvəlcədən təyin olunmuş üç giriş-çıxış
istiqamətinə malikdir - standart giriş,
standart çıxış və standart protokol. Bir qayda olaraq, əmr mənbə məlumatlarını
standart girişdən alır və nəticələri standart çıxışda çap edir. Standart
protokolda isə səhvlər və diaqnostika haqqında mesaj çap olunur.
İlkin olaraq, standart giriş, çıxış və protokollar
terminalda təyin olunublar. Onlar haqqında ətraflı məlumata və onların
konstruksiyasına baxaq:
> - standart axını fayla istiqamətləndirir. Bu zaman əgər
fayl varsa, onda içindəkilər silinir və yeni informasiya ora yazılır. Əgər
yoxdursa, yaranır. Sintaksis aşağıdakı kimidir:
command > file_name (standart
çıxış üçün)
P.S. Əslində qaydaya əsasən command və file_name sözlərini < > mötərizələrinin daxilində yazmalı idim. Lakin, qeyd
etdiyim iki sözün arasında yazdığım > işarəsilə səhv salma ehtimalı olduğu üçün yazmadım. Nəzərə alın ki,
command
və fayl_name sözlərini sadəcə sintaksisi izah
etmək üçün yazmışam və ümumi xarakter daşıyırlar.
Burada command bölməsində nəticəsini file_name-ə
yazmaq istədiyiniz əmr olmalıdır. Bunu daha aydın şəkildə aşağıdakı misaldan
başa düşəcəksiniz.
Məsələn, Tutaq ki,
cat leyla > aliyeva
əmrini vermişik. Burada sintaksisdəki command bölməsində cat leyla
dayanır. file_name
hissəsində isə aliyeva
faylı. Qeyd edim ki, mənim kompüterimdə aliyeva faylı mövcud olmadığından bu misaldakı
əmri verdiyim zaman o özü avtomatik yaranacaq. Bu əmr cat leyla əmrinin nəticəsini aliyeva
faylına yazacaq. cat leyla əmri aydındır ki, leyla faylını açmadan onun
içindəki informasiyaya baxmaq üçün istifadə olunur. Ekrana çıxan həmin məlumatı
misalmımızdakı əmr aliyeva faylına yazacaq. Siz cat leyla
əvəzinə başqa əmrlərdən də istifadə edə bilərsiniz. Bizim misaldakı əmrin
nəticəsini görmək üçün aliyeva faylını açıb içindəki məlumata baxa
bilərsiniz. Və ya açmadan sadəcə cat əmrindən istifadə etməklə. Bir daha bunu
da xüsusilə vurğulayım ki, əgər mənim aliyeva faylım əvvəlcədən mövcud olsaydı və
içində hər hansı məlumat olsaydı, misalda yazdığım ımri verdiyim zaman onun
içindəki bütün məlumatlar silinib, yeniləri yazılacaqdı.
>> - fayla standart axını yazır. Bu zaman əgər fayl
varsa, onda məlumat onun sonuna əlavə olunur. Fayl mövcud deyilsə, onda
yaranır. Sintaksis aşağıdakı kimidir:
command >> file_name
Məsələn, Tutaq ki,
cat leyla >> aliyeva
əmrini vermişik. Bu zaman aliyeva adlı faylım artıq mövcud olduğundan və
içərisində məlumat olduğundan cat leyla əmrinin nəticəsi aliyeva
faylının daxilindəki məlumatın davamına əlavə olunacaq. cat aliyeva əmrini verməklə və
ya faylı açmaqla hansı dəyişikliyin baş verdiyini görə bilərsiniz.
< - göstərilən faylın içindəki məlumatı proqramın
standart girişinə göndərir. Sintaksis aşağıdakı kimidir:
file_name < program_name (standart giriş üçün)
Məsələn,
tutaq ki, C dilində hər hansı bir proqram yazmısınız və bu proqrama daxil edəcəyiniz
giriş verilənləri sizdə mövcud olan variable adlı faylda yerləşir. Bu məlumatları proqramın girişinə bir-bir əlavə etmək əvəzinə variable
faylından proqramın girişinə ötürmək mümkündür. Və bunu yuxarıda qeyd etdiyim
operator vasitəsilə həyata keçirə bilərsiniz. İndi bu barədə misal yazmayacam.
Proqramlaşdırma dillərinin kompilyatorları ilə bağlı dərsimizdə bununla məşğul
olarıq.
> & - standart çıxış axını və səhvlərini bir-birinə
göndərir.
Çıxışın
istiqamətləndirilməsinin bu cür metodu fayllarla işləmək üçün yaxşıdır.
Belə bir sual
yaranır. Bəs necə edək ki, lazım gəldikdə bir proqramın çıxışını digərinin
girişinə yönəldə bilək. Bunun üçün Linuxda kanal anlayışı var.
Kanal anlayışı
Kanal – proqram interfeysidir. Proseslərə, məlumatları
dəyişməyə imkan verir. Kanalın təşkil olunmasını shell yerinə yetirir. Kanalı
idarə etmək üçün | operatoru var. Məsələn,
cat leyla.txt | tail -n 3 |
less
Burada:
cat əmri leyla.txt faylını oxudu və onun içindəki məlumatı
tail
əmrinin standart girişinə verdi;
tail əmri ona verilən parametrlərə əsasən mətn faylından
son 3 sətri götürdü və onları less əmrinin standart girişinə verdi;
less əmri standart girişdəki məlumatları ekrna çıxardı və
istifadəçinin faəliyyətini gözləməyə başladı.
Bu qayda ilə kanal vasitəsilə əmrlərdən biri
informasiyanl digərinə göndərdi.
Digər əmrlər
who – sistemdə kimin işlədiyini
göstərir;
whoami – sizin istifadəçi adınızı göstərəcək;
finger – istifadəçi haqqında informasiyanın axtarılmasını
həyata keçirir;
last | more – istifadəçilərin sistemə
son daxil olmaları haqqında ətraflı məlumat verir;
id <user_name> – user_name istifadəçisinin bütün ID-lərini ekrana
çıxarır.
man -k who – istifadəçilərin və proqramların
hal-hazırda sistemdə nə etdiyini bilmək üçün verilən bütün əmrlərin siyahısını
ekrana çıxarır;
echo <line> - line sətrini ekrana çıxarır;
Məsələn,
echo
12leyla34aliyeva65mehdi
əmrini
versəm, nəticədə 12leyla34aliyeva65mehdi sətri ekrana çıxacaq.
echo
leyla aliyeva > leyla.txt – bu əmr yeni leyla.txt faylını yaradır və ona “leyla aliyeva”
sətrini yazır. Əgər bu fayl mövcuddursa, içindəki mətn silinir və “leyla aliyeva”
sətri ora yazılır.
echo
leyla aliyeva >> leyla.txt – bu əmr yeni leyla.txt faylını yaradır və ona “leyla aliyeva”
sətrini yazır. Əgər bu fayl mövcuddursa, içindəki mətni silmədən ora “leyla aliyeva”
sətri yazır.
which <file_name>
- file_name
faylına gedən yolu göstərir;
Linuxda əmrlərin çoxu --help parametri ilə verilə bilər;
bu parametr sizə əmrlər haqqında məlumat verəcək.
Məsələn,
cp --help
əmrini versək,
bu zaman ekrana
cp əmri haqqında ətraflı məlumat çıxacaq. Qısa məlumat almaq üçün
aşağıdakı əmrdən istifadə olunur:
cp --help | less
Hər hansı bir əmr haqqında məlumat almaq üçün info
əmrindən də istifadə etmək olar. Onun sintaksisi aşağıdakı kimidir:
info <command_name>
Məsələn, info cp əmrini versək, cp haqqında ətraflı məlumat
ekrana çıxacaq. Bu əmrin man əmrindən fərqi ondadır ki, info daha yeni məlumatları
verir. Lakin, info
əmrinin verdiyi məlumatları başa düşmək çətindir.
Əgər siz əmrlərin adlarını dəqiq bilmirsinizsə, onda apropos
əmrindən istifadə edə bilərsiniz. Sintaksisi aşağıdakı kimidir:
apropos <açar_sözü>
Məsələn,
apropos copy
əmrindən istifadə
etməklə copy-yə aid olan əmrini adını tapmaq olar.
whatis əmri apropos əmrinə bənzəyir, lakin, o, yalnız əmrlərin
adlarına görə axtarış aparır. apropos isə bütün verilənlər bazasında əmrlərin
adları və onların təsvirinə əsasən axtarış aparır. Bundan əlavə, whatis
əmri qısa məlumat verir. Sintaksisi apropos əmri kimidir.
İdarəetmə menyusuna malik olan bəzi proqramlarda, məsələn,
ntsysv, setup, linuxconf və s. F1 düyməsini sıxmaqla, əmrin hansı işi yerinə
yetirdiyini öyrənmək olar.
No comments:
Post a Comment