Підручник з Unix для початківців
Щоб користуватися послугами Internet, операційну систему UNIX знати необов'язково. Однак це може стати в нагоді при зверненні до Internet за допомогою якоїсь загальнодоступної UNIX-системи. Вам достатньо познайомитись лише з десятком-другим простих команд. Нижче до Ваших послуг підручник-"п'ятихвилинка" по ОС UNIX.
Операційна система UNIX - це розрахована на багато користувачів система з поділом часу. Починати сеанс роботи з нею потрібно із повідомлення про те, хто Ви. Це не залежить від того, працюєте Ви за терміналом у своєму кабінеті або по лінії, що комутується, зв'язуєтесь з великим вузлом загального користування. У цьому полягає одна з відмінностей UNIX від DOS, Windows і Macintosh - операційних систем, в яких поняття "розрахований на багато користувачів" відсутнє. UNIX повинна знати, хто Ви, щоб виділяти Вас та Ваше господарство серед десятків, сотень та навіть тисяч інших користувачів.
Діалог при вході в UNIX приблизно такий:
На запитання login вводьте своє ім'я користувача, далі вводите пароль, даний вам адміністратором системи. Після появи % можна працювати.
Ім'я користувача - це ім'я, з яким пов'язаний Ваш вхід до системи; адміністратор системи надає його, реєструючи даного користувача. Пароль дозволяє підтвердити, що Ви дійсно той, за кого себе видаєте, і таким чином запобігти незаконному входу в систему. Пароль, що вводиться, не відображається на екрані, щоб ніхто його не побачив. Адміністратор системи, ймовірно, призначить вам якийсь початковий пароль, а потім розповість, як вибрати та поміняти його.
Знак % – це запрошення, що свідчить про те, що UNIX готова до прийому команд. У системі запрошення може бути іншим, дуже часто запрошення UNIX включає ім'я комп'ютера.
Крім того, може бути поставлене питання протип використовуваного терміналу. Перегляд. повідомлення UNIX про тип терміналу залежить від конкретної ситуації, але зазвичай це виглядає приблизно так:
Рядок (vt100)? означає: "Думаю, - Ви використовуєте термінал VT100. Якщо так, натисніть [Enter] і продовжуйте роботу. Інакше повідомте мені про тип терміналу". VT100 - вдале припущення, оскільки більшість найпоширеніших комунікаційних програмних пакетів - підтримують емуляцію VT100, тобто. змусять Ваш комп'ютер працювати як VT100. Сервер TTC підтримує також термінал VT100WIN для користувачів, які працюють через програму telnet з Windows. Цей тип терміналу дозволить відображати український текст на екрані. Тому при вході в систему ви можете відповісти [vt100win]. Якщо після цього ви, як і раніше, не можете працювати з українським текстом, зверніться до адміністратора системи.
Якщо UNIX отримає неправильну інформацію про тип терміналу, може виникнути плутанина: наприклад, система неправильно реагуватиме на натискання клавіші [Enter], символи відображатимуться інверсно і т.д. У разі виникнення таких проблем зверніться до адміністратора системи.
Для завершення сеансу роботи в UNIX дайте командуlogoutабоexit.
Спочатку ми покажемо, як працюють команди операційної системи UNIX, а потім наведемо список найважливіших команд.
Формат команди
Більшість команд UNIX мають такий формат:
%команда ключі параметри
Спочатку йде ім'я команди, потім – ключі та параметри. Параметрами зазвичай є імена файлів. Усі ключі починаються з дефісу. Наприклад, наведена нижче команда означає: "Виконати командуIsз ключем-lдля файлуа.out":
Це 90 відсотків того, що вам потрібно знати. Імена команд майжезавжди наводяться малими літерами; ключі зазвичай складаються з однієї літери (малої або великої). На відміну від багатьох інших операційних систем, UNIX враховує різницю між великими та малими літерами.
Якщо Ви використовуєте два і більше однолітерних ключів, більшість команд дозволяють об'єднувати їх. Наприклад, дві наведені нижче команди ідентичні:
Деякі ключі потребують параметра. У цьому випадку параметр дається після ключа, у цьому випадку останній не можна поєднувати з іншим ключем. Такі команди у нашому підручнику не описуються.
Є кілька команд, які не відповідають цим правилам, і одна з них є дуже важливою: це командаtar. (Інші Вам ніколи не знадобляться.) У переліку команд я даю три "рецепти" використанняtar. Дотримуйтесь вказівок, і все буде гаразд.
Основні команди
Стандартне введення та виведення
Однією із сильних сторін операційної системи UNIX є гнучкість її системи введення-виведення. Багато команд надсилають свою вихідну інформацію на термінал. Натомість Ви можете шляхом перепризначення записати вихідну інформацію будь-якої команди у файл. Аналогічно, багато команд приймають вхідну інформацію з клавіатури, але Ви можете виконати перепризначення так, щоб введення проводилося з файлу. (Секрет полягає в тому, що ОС UNIX розглядає всі операції введення-виведення однаково - все "виглядає" як файл. Для роботи з UNIX розуміти, що це означає, не обов'язково.) >файлСтандартний висновок. Помістити вихідну інформацію у файл, а не надсилати її на екран. Те, що було у файлі раніше, буде знищено. Наприклад, якщо Ви хочете, щоб список файлів Вашого каталогу не виводився на екран, а записаний у файл, необхідно дати наступну команду: >>файлСтандартний висновок із додаванням. Дописати вихідну інформацію до файлу слідом за його вмістом. Стандартне введення. Взяти вихідну інформацію із файлу, а не з клавіатури. Стандартне введення та виведення використовуються згаданою вище командоюuuencode.інша-командаКонвеєр. Взяти стандартний виведення однієї програми та використовувати як стандартне введення іншої. Це одна з найбагатших можливостей ОС UNIX; її можна використовуватиме створення власних команд. Припустимо, Вам потрібен список всіх файлівedk. Цю операцію не можна виконати за допомогою ключів командиls, але, використовуючи конвеєр, можна об'єднати командиls -lіgrep: Команда ls -l видає Список всіх файлів, включаючи інформацію про власників, а grep витягує всі пункти, що містять рядокedk. Якщо Ви працюєте з UNIX рідко, то зможете обійтися без конвеєрів. Але якщо ви почнете виконувати щось суттєве за допомогою конвеєрів, то швидко зрозумієте, наскільки вони корисні.
Перепризначення стандартного вводу-виводу зазвичай даються в кінці команди після всіх ключів і параметрів.
Структура каталогів
Як і в MS-DOS і Macintosh, в операційній системі UNIX є ієрархічна (або "древоподібна") файлова система. Це означає, що кожен файл знаходиться вкаталогу, а каталоги можуть містити інші каталоги. У системі Macintosh каталоги називаються "папками". У системах DOS і Windows використовується той самий файлово-каталоговий мову, що у UNIX.
Для поділу імен каталогів у UNIX використовується пряма коса характеристика (/). Наприклад,/home/john/letters/mom.brtозначає: "файлmom.txlу каталозіlettersу каталозіjohnв каталозіhome". Можна також сказати, щоjohn- це підкаталог каталогуhomeі т.д.
Уцьому прикладі слід зазначити ще кілька моментів:
- Перед ім'ям стоїть коса риса (/). Коса риса на початку імені означає "кореневий каталог", який є, по суті, точкою, в якій "склеєні" між собою всі диски системи. В ОС 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 – ще один спосіб вказати файл Джона. Командаcdбез параметрів призначена для повернення до початкового каталогу, при цьому не враховується, звідки Ви розпочали роботу. Символи .. позначають "батьківський каталог". Найчастіше вони використовують із командамиcd. Наприклад, якщо поточним є каталог
john/letters, то командаcd ..перенесе Вас до каталогу
Ви повинні знати, як UNIX організовує файли. На відміну від персональних комп'ютерів, де використовуються відносно невеликі диски, UNIX-системи зазвичай працюють із великими дисками, причому у значних кількостях. Гігабайтні диски тут не рідкість, а багато систем використовують кілька дисководів. У великій системі їх може бути десяток і більше. Чим більший обсяг дискової пам'яті, тим більше значення набувають каталоги, за допомогою яких можна правильно її організувати.
Допустимі імена файлів
В операційній системі UNIX правил використання імен файлів не так багато. У нових UNIX-системах імена файлів можуть мати будь-яку довжину і включати майже всі символи, крім косої риси, яка використовується для розділення каталогів. Краще, однак, обмежитися стрункими і великими літерами, цифрами, крапками і комами. Пробіли та інші спеціальні символи потребують спеціальної обробки. Замість того, щоб пояснювати, як це зробити, я раджу Вам відмовитись від їх використання.
Не ставте на початку імені файлу точку; командаlsне знайде такий файл у списку, якщо Ви не вкажете її з ключем-а. Використання точки як перший символ імені файлу дозволяє "ховати" певні файли, щоб вони не забруднювали списки каталогів. Однак якщо Ви новачок у UNIX, то ця особливість можеввести Вас в оману.
Символи підстановки (шаблони) в іменах файлів
В операційній системі UNIX як стандартні символи підстановки (шаблонів) для імен файлів прийняті *, ? та []. В даний час найчастіше використовується зірочка. Ці універсальні символи мають таке значення:
- * використовується для позначення будь-якого об'єкта. Наприклад, просто * означає будь-який файл каталогу;*.txt- всі імена файлів з розширеннямtxt;gorilla.*- всі імена файлів, що починаються зі словаgorilla.
- ? позначає будь-який (але лише один) символ. Наприклад,source.?означаєsource.h,source.c,source.yі т.д.
- [. ] позначає будь-який символ із зазначених у дужках. Ви можете вказувати одиночні символи (наприклад,[chyg]означає с, Ь, у або f); діапазон ([а-z]позначає будь-яку малий літеру, а[a-z0-9A-Z]- будь-яку літеру або цифру). Зазначимо, що в одному діапазоні не можна поєднувати малі та великі літери або літери та цифри.[а-z]або[А-9]приведуть до дивовижних результатів - можливо, Ви досягнете мети, але лише якщо Вам дуже пощастить.
Ви можете використовувати всі символи підстановки, незалежно від того, з якою версією UNIX працюєте.
На жаль, символи підстановки не можна застосовувати в частині "зразок" командиgrep. Натомість командаgrepвикористовує складніший засіб - "регулярні висловлювання", які в цій книзі розглядатися не будуть. Звичайно, в елементі файл командиgrepсимволи підстановки можна використовувати. Наприклад, команда
здійснює пошук імені Джона у всіх файлах поточного каталогу.
Література
Існує багато книг з ОС UNIX. Ось деякі з них, які можуть Вамнагоді:
UNIX in Nutshell(O'Reilly & Associates). Eраткий перелік команд ОС UNIX. Існують різні варіанти цієї книги для різних версій UNIX.