1.3. Жүйенің пайдаланушылары мен файл иелері
Жүйенің пайдаланушылары – бұл нысана, белгілі-бір құқықтары бар, орындауға арналған бағдарламаның жүктеу мүмкіндігін анықтау, сондай-ақ файлдармен иеленуді де. Шексіз мүмкіндіктері бар, жүйенің жалғыз пайдаланушысы – бұл суперпайдаланушы немесе әкімшілік жүйесі.
Пайдаланушының т.н. идентификаторы бойынша жүйе пайдаланушыларды идентификациялайды (UID - User Identifier). Ұқсас проблемалар бар пайдаланушылардың тізім - әр пайдаланушы бір немесе бірнеше топтардың мүшесі болып табылады. Әрбір топ өзінің тек соған тиесілі идентификациялық тобы бар. (GID - Group Identifier)Берілген топтың мүшелері бар, топтың құрал-жабдықтарын құқықтар жиыны анықтайды. UNIX пайдаланушыларының құқықтары – ол ең алдымен файлдармен жұмыс жасауға құқық беру. Файлдардың екі иесі болады – пайдаланушы (user owner) және топ ) (group owner).
Файлдың пайдалаушы-иесінің құқықтары файлдардың атрибуттарын қорғаумен анықталады (u), топ-иесі мүшесінің құқықтары (g) және қалған басқаларынң да құқықтары (o).
1.4. Ағындар мен бағдарламалық арналардың қайтабағытталуы
ОС UNIX-те үш стандартты ағындар бар: енгізу ағыны, шығару және хаттаманың стандартты ағындары болып бөлінеді. (қателік ағындары).
Енгізу (шығару) стандартының қайтабағытын өзгертуге рұқсат береді.
< – енгізу стандартының өзгерту көзі
>, >> – Қабылдағыштың стандартты шығысын өзгерту.
Мысалдар:
cat > filename - filename файлына cat шығару бағдарламасының қайтабағытталуы (егер бұл файл барболса, онда бұрынғы құрамы жоғалады);
cat >> filename - cat бағдарламаының шығарудың құрамын filename файлының құрамына қосу
cat < filename - қалыптастырылған cat бағдарламасының енгізу стандартын filename файлының құрамынан алынады.
Стандартты аындар – енгізу ағыны, шығару ағыны және қате ағыннан (ағын хаттамасы) бекітілген ретті сандарды - тиісінше 0, 1 және 2. Бұл нөмірлері (ағын искрипторының нөмірі) анық түрінде қолдануға болады. Мысалға, жазбада
prog 1>file
жазба эквивалентті
prog >file
Бұл үшін, файл атынан ағынның атын ажырата білу үшін, ағын нөмірінің алдына ‘&’ символды қоямыз:
prog >file 2>&1
Файлда file (>file) шығару ағынының мұнда стандартты қайтабағытталу болады. Ал одан басқа, хобарламалар жайлы қателіктер file файлға қайтабағытталып тұрады: 2>&1 жазбасы қайтабағытталу ағынының қателерін, өз кезегінде файлға қайтажіберілген стандартты ағынның шығысында екенін білдіреді.
Замечание: команда анализы оңынан солына қарай интерпритатор арқылы жүзеге асырылады: алдымен ағындардың бірігуі (2>&1), кейін (1) файлға file стандартты ағын шығысы қайтабағытталады. Бұнымен қатар /dev/null псевдоқұрылғыларын қолдану өте тиімді болады және оған енгізілген барлық символдарды жою керек.
Ол толық шығыс ағындары (Басу) ескермеуге болатын жағдайда пайдаланылады.
Арна - UNIX I / O буфер бойынша процестерді қосатын бағдарламалық қамтамасыз ету құралы болып табылады. Мынандай түрде іске қосылған процестер
$ процесс_1 | процесс_2 | ... | процесс_n
Стандартты шығару процесса_1-ке стандартты енгізу процесса_2-мен тұйықталады, стандартты шығару процесса_2 -ке стандартты енгізу процесса_3 -мен тұйықталады және т.с.с. Бұл жағдайда, сіз бірінші арнаны жасау, содан кейін бір мезгілде іске барлық процестерді орындау үшін орындалады, сондай-ақ жалпы орындау уақыты баяу процесінің жолымен анықталады.
Мысал: ls | wc -l
ls командасы экранға шығарады (шығару ағынының стандарты) список файлов текущего каталога, а команда wc -l считает количество строк во входном потоке (стандартты енгізу ағынының - файл көрсетілмеген файлында болса). Осылайша, осы екі команда арна бағдарламаның комбинациясы ағымдағы каталогта файлдар санын есептеуге мүмкіндік береді. Сол iс-әрекеттер ұйымдастырылуы мүмкін:
ls > buffer
wc -l < buffer
rm -f buffer
Нәтижелік кесте:
> file |
файлға file шығару стандартты ағынының қайтабағытталуы |
>> file |
Шығару стандартты ағынынан деректерді файлға file қосу |
< file |
Енгізу стандартының ағынын файлдан file алу |
p1 | p2 |
Шығару стандартты ағынын p1 бағдарламасын p2 бағдарламасының енгізу ағынына жіберу. |
n > file |
Шығару ағынының n дескрипторы бар файлдан файлға file ауыстыру. |
n >> file |
Шығару ағынының n дескрипторы бар файлдан файлға file қосу. |
n > &m |
n және m дескрипторы бар ағындарды біріктіру. |
