Урок за Unix за начинаещи
За да използвате интернет услуги, не е необходимо да познавате операционната система UNIX. Това обаче може да е полезно при достъп до Интернет през публична UNIX система. Трябва само да се запознаете с дузина или две прости команди. По-долу на вашите услуги е учебник-"пет минути" на OS UNIX.
Операционната система UNIX е многопотребителска система със споделяне на времето. Трябва да започнете сесия с нея със съобщение за това кой сте. Това не зависи от това дали работите на терминал в офиса си или на комутируема линия към голям обществен възел. Това е една от разликите между UNIX и DOS, Windows и Macintosh - операционни системи, в които концепцията за "мултипотребител" отсъства. UNIX трябва да знае кой сте, за да разграничи вас и вашето домакинство от десетки, стотици и дори хиляди други потребители.
Диалоговият прозорец за влизане в UNIX изглежда по следния начин:
Когато бъдете помолени да влезете, въведете вашето потребителско име, след което въведете паролата, дадена ви от системния администратор. След появата на%, можете да работите.
Потребителското име е името, с което е свързано вашето влизане; системният администратор го задава при регистриране на този потребител. Паролата ви позволява да потвърдите, че наистина сте това, за което се представяте, и по този начин да предотвратите незаконни влизания. Въведената парола не се показва на екрана, така че никой да не я види. Системният администратор вероятно ще ви зададе първоначална парола и след това ще ви каже как да я изберете и промените.
Знакът % е подкана, показваща, че UNIX е готов да приема команди. Подканата може да е различна на вашата система, много често подканата за UNIX включва името на компютъра.
Освен това може да бъде зададен въпрос относновида на терминала, който използвате. Преглед. UNIX съобщенията за типа терминал зависят от конкретната ситуация, но обикновено изглеждат така:
Низ (vt100)? означава "Мисля, че използвате терминал VT100. Ако е така, натиснете [Enter] и продължете. В противен случай ми кажете типа на терминала." VT100 е добро предположение, тъй като повечето от най-разпространените комуникационни софтуерни пакети - поддържат VT100 емулация, т.е. ще накара вашия компютър да работи като VT100. TTC сървърът също така поддържа терминала VT100WIN за Windows telnet потребители. Този тип терминал ще ви позволи да извеждате български текст на екрана. Следователно, когато влезете, можете да отговорите [vt100win]. Ако след това все още не можете да работите с български текст, свържете се с вашия системен администратор.
Ако UNIX получи неправилна информация за типа на терминала, може да възникне объркване: например системата няма да реагира правилно на натискане на клавиша [Enter], знаците ще се показват в обратен ред и т.н. В случай на подобни проблеми, моля, свържете се с вашия системен администратор.
За да прекратите UNIX сесия, подайте командатаlogoutилиexit.
Първо ще покажем как работят командите на операционната система UNIX и след това ще изброим най-важните команди.
Формат на командата
Повечето UNIX команди имат следния формат:
%параметри на командните ключове
Първо идва името на командата, след това клавишите и опциите. Параметрите обикновено са имена на файлове. Всички ключове започват с тире. Например следната команда означава: „Изпълнете командатаIsс ключ-lза файла.out“:
Това са 90 процента от това, което трябва да знаете. Имената на командите са почтивинаги се дават с малки букви; клавишите обикновено се състоят от една буква (малка или главна). За разлика от много други операционни системи, UNIX зачита разликата между главни и малки букви.
Ако използвате два или повече еднобуквени клавиша, повечето команди ви позволяват да ги комбинирате. Например следните две команди са идентични:
Някои ключове изискват параметър. В този случай параметърът се дава след ключа, като в този случай последният не може да се комбинира с друг ключ. Такива команди не са описани в нашия учебник.
Има няколко команди, които не следват тези правила и една от тях е много важна: командатаtar. (Никога няма да имате нужда от другите.) В списъка с команди давам три "рецепти" за използване наtar. Следвайте указанията и ще се оправите.
Основни команди
Стандартен вход и изход
Една от силните страни на операционната система UNIX е гъвкавостта на нейната I/O система. Много команди изпращат своя изход към терминала. Вместо това можете да запишете изхода на всяка команда във файл чрез пренасочване. По същия начин много команди приемат въвеждане от клавиатурата, но можете да ги преназначите така, че въвеждането да идва от файл. (Тайната е, че UNIX третира всички I/O по един и същи начин – всичко „изглежда“ като файл. Не е необходимо да разбирате какво означава това, за да работите с UNIX.) >файлСтандартен изход. Поставете изходната информация във файл, вместо да я изпращате на екрана. Това, което е било във файла преди, ще бъде унищожено. Например, ако искате списъкът с файлове във вашата директория да не се показва, а да се запише във файл, ще подадете следната команда: >>файлСтандартен изход с добавяне. Добавете изходната информация към файла след неговото съдържание. стандартен вход. Вземете изход от файл, а не от клавиатурата. Стандартният вход и изход се използват от командатаuuencode, спомената по-горе.друга командаТръбопровод. Вземете стандартния изход на една програма и го използвайте като стандартен вход на друга. Това е една от най-богатите характеристики на UNIX OS; можете да го използвате, за да създадете свои собствени команди. Да предположим, че искате списък с всички файлове, притежавани отedk. Тази операция не може да бъде изпълнена с помощта на опциите на командатаls, но с помощта на конвейер можете да комбинирате командитеls -lиgrep: Командата ls -l изброява всички файлове, включително информация за собствениците, а grep извлича всички елементи, съдържащи низаedk. Ако рядко работите с UNIX, можете да правите без конвейери. Но след като започнете да правите нещо смислено с тръбопроводите, бързо ще осъзнаете колко полезни са те.
Стандартните I/O пренасочвания обикновено се дават в края на команда, след всички превключватели и опции.
Структура на директория
Подобно на MS-DOS и Macintosh, операционната система UNIX има йерархична (или "дървовидна") файлова система. Това означава, че всеки файл се намира вдиректорияи директориите могат да включват други директории. В система Macintosh директориите се наричат "папки". DOS и Windows системите използват същия език за файлове/директории като UNIX.
UNIX използва наклонена черта (/) за разделяне на имена на директории. Например/home/john/letters/mom.brtозначава: "файлmom.txlв директорияlettersв директорияjohnв директорияhome". Можете също така да кажете, чеjohnе поддиректория наhomeи т.н.
INИма още няколко неща, които трябва да се отбележат относно този пример:
- Името се предхожда от наклонена черта (/). Наклонената черта в началото на името обозначава "главната директория", която всъщност е точката, в която всички дискове на системата са "залепени" заедно. UNIX никога не се отнася до самото устройство, а винаги към поддиректориите на основната директория.
- UNIX системите са многопотребителски. На всеки потребител се присвоява "домашна директория", в която той трябва да съхранява своите файлове, дори ако е единственият потребител в системата./home/johnвероятно е началната директория на потребителjohn.
- Потребителите могат да създават свои собствени директории точно както Джон създаде директориятаletters.
Нашето примерно име на файл (/home/john/letters/mom.txt) се нарича пълно име, защото показва целия „път“ към файла, започвайки от основната директория. Не е необходимо тези имена да се използват през цялото време. Използват се няколко съкращения:
- Работната директорияе винаги на ваше разположение. Можете да зададете пътища спрямо текущата директория, а не корена. Например, ако текущата директория е/home/john/letters, можете да посочите само името на файла -mom.txt. (Това е, което правите в повечето случаи: посочете файл в текущата директория.) Командатаpwdотпечатва името на текущата директория; командаcdдиректорияправи друга директория текуща. Така че, ако текущата директория е/home/john, тогава командатаcd lettersще ви отведе до директориятаlettersКомандата за директорияmkdirсъздава нова директория, а командата за директорияrmdirизтрива директорията, при условие че не съдържа файлове.
- Можете да маркирате началната си директория с
име – „инициалпотребителска директорияиме". Например,
john/letters/mom.txt е друг начин за указване на файла на John. Командатаcdбез параметри има за цел да се върне към началната директория и не взема предвид откъде сте започнали. Символите .. означават "родителска директория". Най-често се използват с командитеcd. Например, ако текущата директория е
john/letters, тогаваcd ..ще ви отведе до директорията
Трябва да знаете как UNIX организира файловете. За разлика от персоналните компютри, които използват сравнително малки дискове, UNIX системите обикновено работят с големи дискове и в значителни количества. Гигабайтовите устройства не са необичайни тук и много системи използват множество устройства. В голяма система може да има дузина или повече. Колкото по-голямо е дисковото пространство, толкова по-важни стават директориите, с помощта на които можете да го организирате правилно.
Валидни имена на файлове
В операционната система UNIX няма толкова много правила за използване на имена на файлове. В най-новите UNIX системи имената на файловете могат да бъдат с всякаква дължина и да включват почти всички знаци с изключение на наклонената черта, която се използва за разделяне на директории. По-добре е обаче да се ограничите до тънки и главни букви, цифри, точки и запетаи. Интервалите и другите специални знаци изискват специално боравене. Вместо да обяснявам как да направите това, ви съветвам да спрете да ги използвате.
Не поставяйте пред името на файла точка; командатаlsняма да намери такъв файл в списъка, освен ако не го посочите с опцията-a. Използването на точка като първи знак на име на файл ви позволява да „скриете“ определени файлове, така че да не замърсяват списъците с директории. Въпреки това, ако сте нов в UNIX, тогава тази функция можете подвеждат.
Заместващи знаци (модели) в имената на файловете
В операционната система UNIX *, ? И []. Звездичката е най-често използваната в наши дни. Тези заместващи знаци имат следното значение:
- * се използва за обозначаване на всеки обект. Например просто * обозначава всеки файл в директория;*.txt- всички имена на файлове с разширениеtxt;gorilla.*- всички имена на файлове, започващи с думатаgorilla.
- ? означава произволен (но само един) знак. Напримерsource.?означаваsource.h,source.c,source.yи т.н.
- [. ] означава всеки от знаците в скобите. Можете да посочите единични знаци (например[chyg]означава c, b, y или f); диапазон ([a-z]означава всяка малка буква и[a-z0-9A-Z]означава всяка буква или цифра). Имайте предвид, че не можете да комбинирате малки и главни букви или букви и цифри в един и същи диапазон.[a-z]или[a-9]ще доведе до невероятни резултати - може да постигнете целта си, но само ако имате голям късмет.
Можете да използвате всички заместващи символи, независимо коя версия на UNIX използвате.
За съжаление, заместващите символи не могат да се използват в частта "pattern" на командатаgrep. Вместо това командатаgrepизползва по-сложна функция, наречена "регулярни изрази", която няма да бъде разгледана в тази книга. Разбира се, можете да използвате заместващи символи в командния файлов елементgrep. Например командата
търси името на John във всички файлове в текущата директория.
Литература
Има много книги за операционната система UNIX. Ето някои от тях, които можетее полезно:
UNIX накратко(O'Reilly & Associates). Кратък списък с команди на UNIX OS. Има различни версии на тази книга за различните версии на UNIX.