русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Введення в linux

Робота може виконується в ОС Knoppix, завантажується з CD-ROM, або в будь-який інший ОС сімейства Unix.

У ході виконання першої роботи, ви познайомитеся з основними командами интрепретатора. Виконання даної роботи дасть вам відповіді на наступні питання:

  • отримати доступ до ваших файлів (можливість їх створення)?
  • вводити команди Linux?
  • отримати підказку по командам Linux?
  • зберегти результати роботи?
  • обмінюватися повідомленнями зі своїми товаришами, що працюють в системі?
  • створювати, редагувати і переглядати текстові файли в середовищі Linux?
  • керувати файлами в консолі?

 

1. Вхід в систему

Після завантаження системи завантажується консоль - це монітор і клавіатура, пов'язані безпосередньо з системою (поняття з часів мейнфреймів). необхідно зареєструватися: ввести логін і пароль (Увага: ввід пароля не відображається. Якщо ви помилилися при введенні пароля, то до натискання enter можна скасувати введення, натиснувши CTRL-U. Якщо enter вже натиснутий - на екран виведеться повідомлення про помилку.). Linux, як і деякі інші версії UNIX, забезпечує доступ до декількох консолі, які дозволяють увійти в систему під декількома іменами в один час. Свежеинсталлированный Linux дозволяє працювати з шістьма-родину консолями, перемикання між якими виконується за alt-F1 - alt-F7. Але можливо забезпечити роботу з 12-ю - по одній на кожну функціональну клавішу. Як бачите, ви можете працювати на декількох консолях одночасно. Поки ви працюєте на консолі #1, ви можете переключитися на консоль #2 і почати роботу над чим іншим.

Після успішної реєстрації в більшості випадків в консолі з'являється запрошення інтерпретатора командного (shell). Особливістю Unix-подібних систем є те, що управління системою може повноцінно виконуватися з допомогою команд, тобто без графічної оболонки, завантажується опціонально (команда startx - запуск графічної оболонки або, кажучи на сленгу, "іксів"). Звичайно, якщо одним із завдань системи не є робота з графікою. Існує безліч командних інтерпретаторів, які відрізняються синтаксисом команд і набором можливостей. Найбільш распросраненные, це: bash (за умолчаунию в Linux), sh (за умолчаунию в Unix), csh. Shell - це просто програма, яка сприймає введений користувачем, (тобто команди, які ви надрукуєте) і транслює це в команди системі.

За наявності графічної оболонки (наприклад, KDE) для запуску консолі необхідно натиснути на кнопку із зображенням монітора на панелі завдань (см.рис.1.1). Або виконати: Пуск/Виконати/konsole.

Рис. 1.1 - Кнопка запуску консолі

Можна створювати кілька сеансів шляхом натискання кнопки в лівому нижньому куті вікна поточного сеансу (див. мал. 1.2).

Рис. 1.2 - Кнопка запуску додаткового сеансу

Вікно сеансу Knoppix має вигляд, показаний на мал. 1.3.

Рис. 1.3 - Вікно сеансу Knoppix

У ньому система вже надрукувала запрошення (за замовчуванням запрошенням в Unix/Linux є символ "$"), у відповідь не що Ви можете вводити команди.

Для завершення сеансу роботи з Linux уведіть exit або натисніть комбінацію клавіш Ctrl+D .r

У сеансі роботи з Linux Вашим поточним (домашнім) каталогом є каталог: /home/, де - Ваше мережеве ім'я. До цього каталогу Ви маєте права читання, запису, виконання. Ви не маєте права на запис до каталогів, не є підкаталогами вашого домашнього каталогу. Однак при запуску ОС Knoppix з CD необхідно враховувати, що ваш домашній каталог знаходиться в пам'яті (ramdisk), а не на жорсткому диску. Тому перед виходом з Knoppix необхідно зберігати ваші робочі файли.

Існує можливість зберігати дані на розділи (локальні диски) з FAT-файлової системою. flash пам'ять в тому числі, а також на гнучкий диск. Для цього необхідно, щоб розділ був "там" з правом запису на нього. Примонтированные розділи зазвичай мають імена hda1, hda2, ..., hdaN (або sda1, sda2 і т.д.), flash - sda1, sda2, ..., sdaN (або sdb1, sdb2 і т.д.), гнучкий диск - fd0. Монтування здійснюється за допомогою команди mount, якому потрібно вказати і куди ви монтуєте (див. help з допомогою команди man). Виконувати команду mount може лише адміністратор (root). Наприклад, для монтування першого розділу з файловою системою FAT необхідно виконати команду:
mount /dev/hda1 /mnt/hda1.

Щоб перевірити які розділи з якими правами вже примонтированы, виконайте команду mount без параметрів.

2. Виконання команд

Робота у сеансі ведеться в режимі командного рядка. Стандартним запрошенням в системах Unix і Linux є символ "$". Зазвичай команда має вигляд:

 имя_команды [опція]... [параметри]...

(Тут і далі при описі команд квадратні дужки означають необов'язковий елемент, многоточие означає, що елементів даного типу може бути кілька.)

Опції команд є флаговыми параметрами. В Linux, як правило, прапори мають дві форми - короткий і довгу. Коротка форма передує символом - і кодується однією літерою. Довга форма супроводжується двома символами -- і кодується цілим словом або фразою.

Всі команди Linux мають такі стандартні опції:

 --help  Висновок підказки по цій команді
 --version  Вивід інформації про версії цієї команди

Не забувайте що командний мова Unix/Linux чутливий до регістру!

Для перших експериментів з командами використовуйте команди ls, cd і pwd. Команда "ls-la" виведе Вам інформацію про вміст поточного каталогу. Команда "cd .." переведе Вас в батьківський каталог. Команда "cd имя_подкаталога" переведе Вас у вказаний підкаталог поточного каталогу. Команда "pwd" покаже Вам, якою каталог є поточним. Якщо Ви "заблукаєте", подорожуючи по каталогах, команда "cd" (без параметрів) поверне Вас в Ваш домашній каталог. Не забувайте, що в Unix/Linux символ "slash" - роздільник доменів каталогів нахилений праворуч: "/" !

Більшість систем LINUX/UNIX має стандартну структуру каталогів. Структура представляє із себе дерево каталогів, що починається з каталогу "/", відомого під назвою "кореневий каталог". Каталоги нижче / відносяться до числа найважливіших підкаталогів: серед них /bin, /etc, /dev, /usr, /home і т.д. Ці каталоги у свою чергу, містять інші каталоги, що містять системні конфігураційні файли, програми і т.д. зокрема, кожен користувач в каталозі /home має домашній каталог, який виділяється користувачеві для його зберігання файлів (наприклад, /home/user - домашній каталог користувача user).

3. Отримання підказки

Одним з основних переваг ОС Linux є наявність вбудованої довідкової системи, яка містить майже всю інформацію з пвсем командам, бібліотек, і конфігураційним файлів.Основну частину довідкової системи ОС Linux займають сторінки керівництва man.

Сторінки керівництва man можуть бути переглянуті як в графічному, так і в консольному режимі роботи, що робить їх найшвидшим писточником отримання необхідної довідкової інформації.

Сторінки керівництва man згруповані в кілька розділів, зведених в таблиці 1.1. До паждый розділ керівництва має свою тематику.

Параметром команди manє ім'я команди, з якою Ви бажаєте отримати підказку (наприклад, man cd). При введенні команди man ім'я команди на екран виводиться текст - опис заданої команди. Ви можете переміщатися по цього опису вгору-вниз, використовуючи клавіші управління курсором і клавіші PageUp і PageDown. Для виходу з режиму команди man введіть символ "!" або "q".

Таблиця 1.1. Розділи довідкового керівництва man

Номер розділу Опис
1 Команди користувача рівня
2 Системні виклики та коди помилок ядра
3 Бібліотечні функції
4 Драйвери пристроїв і мережеві протоколи
5 Формати файлів
6 Гри та демонстраційні програми
7 Різні файли і документи
8 Команди системного адміністрування
9 Внутрішні інтерфейси і специфікації ядра

Альтернативним засобом отримання підказки в Linux є команда info. Параметром команди info так само є ім'я що цікавить Вас команди - info cd. При введенні команди info без параметрів виводиться список розділів, які можна переглянути за допомогою команди info. Перегляд інформації в info виконується точно так само, як у man, крім того, info обнспечивает елементи гіпертекстового режиму.

У багатьох команд є опція -- help, результатом виконання команди з даною опцією буде видача в консоль підказки по використання даної команди, наприклад ls --help.

Освойте роботу з підказками - вони будуть потрібні Вам ще неодноразово.

На першій сторінці нашого практикуму міститься:

  • Посилання Обрані команди і властивості Unix. містить список і короткий опис найбільш часто використовуваних команд Unix/Linux. Ця інформація в основному була взята з описів, доступних в команді man, але, по можливості, скорочена.r

4. Збереження результатів

Для тих робіт, в ході яких Ви повинні розробити і виконати команди і/або скрипти і продемонструвати їх виконання, використовуйте команду script, яка дозволяє створити протокол роботи користувача на терміналі. Ми рекомендуємо вводити команду script перед виконанням остаточної (звітної) версії створеної Вами команди/скрипта закінчувати вкладений сеанс, команди script після виконання команди/скрипта, щоб не захаращувати файл протоколу відлагоджувальна варіантами з помилками. Для того, щоб результати роботи накопичувалися у файлі протоколу, використовуйте команду script з опцією-a.r

Також можна скопіювати введення і виконання команди з консолі в текстовий файл (див. розділ створення і редагування текстових файлів). .r

5. Зв'язок з колегами

Визначте, хто працює в системі (за допомогою команди who ).

Обмін повідомленнями (за допомогою команди mail ) з одним або кількома своїми товаришами. Виберіть собі партнера і поштою домовтеся з ним про подальшу співпрацю.

Іншим способом обміну повідомленнями є команда write. Правда, її можна використовувати лише в тому випадку, коли і відправник, і адресат працюють в системі. Спробуйте команду write , можливо, вона Вам більше сподобається.

6. Створення, редагування та перегляд текстових файлів

У Unix / Linux є багатий набір засобів вводу-редагування текстів.

Створити і редагувати файл можна за допомогою повноекранного текстового редактора vi. Тут ви можете прочитати інструкцію з "швидкому початку роботи з vi. А тут міститься кілька більш повний опис vi. Vi є одним з найпотужніших редакторів текстових файлів (див. також підказку, команда man vi).

Можна створити і дописувати файл за допомогою команди tee.
Для закінчення введення необхідно натиснути комбінацію клавіш Ctrl-D (див. також підказку, команда man tee).

Ще одним, більш простим порівняно з vi, тектовым редактором я є nano (див. довідку, команда man nano). У цьому редакторі перехід в різні режими редагування виконується шляхом натиснення клавіш, наприклад, Ctrl-X - вихід з Ctrl-O - збереження файлу (див. довідку в редакторі внизу екрану).

ed - ще один потужний текстовий редактор. Дозволяє створювати і редагувати текстові файли. Тут ви можете прочитати інструкцію з "швидкому початку роботи з ed. А тут міститься кілька більш повний опис ed(див. також підказку, команда man ed).

Переглянути вміст файлу (вивести вміст файлу на стандартний пристрій виводу) можна за допомогою команди , less, more. При цьому less дозволяє виконувати скролінг екрану, що зручно в разі перегляду великих файлів (див. довідку, команда man less). .r

Виведення вмісту теки здійснюється за допомогою команди ls. При цьому команда ls-l дозволяє переглянути інформацію про файли поточного каталогу (тип файлу, права доступу і т.д.).

7. Управління файлами

В ОС Linux слід розрізняти фізичну файлову систему, яка відповідає за керування дисковим простором і розміщення файлів у фізичних адреси диска пі логічну файлову систему, яка забезпечує логічну структуру зберігання файлів - простір імен файлів. ОС Unix і Linux можуть працювати з різними фізичними файловими системами (Ext2, ext3, ufs), логічне ж подання файлової системи Unix/Linux структуровано. пвсі файли у локальної файлової системі розташовуються у вигляді дерева, проміжні вершини якого відповідають каталогами, пі листя - файлів і порожніх каталогів. Реально на кожному логічному диску (розділі фізичного дискового пакету) розташовується окрема пиерархия каталогів і файлів. Для отримання загального дерева в динаміці використовується "монтування" окремих ієрархій до фіксованої пкорневой файловій системі в якості гілок загального дерева. Самим верхом ієрархії є корінь, який має певне ім'я “/” (слеш). Цей символ використовується як роздільник імен в дорозі. Далі в корені знаходяться папки з певними для кожного пдистрибутива іменами (etc, home, bin, mnt, proc і т.д.).

Повне ім'я файлу, наприклад, /bin/sh означає, що в кореневому каталозі повинно міститися ім'я каталогу bin, а в каталозі bin повинно псодержаться ім'я файлу sh. Коротким або відносним ім'ям файлу називається ім'я, задаючий шлях до файлу від поточного робочого каталога. пВ кожному каталозі містяться два спеціальних імені, ім'я "." - посилання на поточний каталог, і ім'я ".." - посилання "батьківський" каталог пданного поточного каталогу, тобто каталог, що безпосередньо передує даному в ієрархії каталогів. ptak, наприклад, для структури, показаної на наступному малюнку 1.4 доступ до зазначеного на малюнку файлу з поточного каталогу можливий ппо повного імені: /home/usr2/file2 або за відносним імені: ../../../usr2/file2 (якщо поточний каталог - os).

Рис. 1.4 - Приклад ієрархії каталогів

пУправление файлами також можна виконувати за допомогою Midnight Commander (mc)- один з файлових менеджерів з текстовим інтерфейсом типу Norton Commander пдля UNIX-таких операційних систем. Запуск mc з консолі виконується за допомогою командиmc.r

Типи файлів

пОС LINUX підтримують кілька типів файлів:

Команди роботи з файлами і дирректориями

# pwd # Виводить поточний шлях.
# ls # Виводить список файлів і каталогів по порядку;
# ls-laX # Виводить форматований список всіх файлів і директорій, включаючи приховані;
# cd # Перехід в домашню теку;
# cd /home # Перехід в директорію /home;
# cd .. # Перехід в каталог рівнем вище того, в якому зараз перебуваєте;
# cd ../.. # Перехід в каталог двома рівнями вище того, в якому зараз перебуваєте;
# cd - # Перехід в каталог у якому ви перебували до переходу в поточний каталог;
# touch /home/primer2 # Створення порожнього файлу /home/primer2;
# cat /home/primer2 # Показати вміст файлу /home/primer2;
# tail /var/log/messages # Виводить кінець файлу. Зручно при роботі з балками і великими файлами;
# head /var/log/messages # Виводить перші рядки файлу;
# nano /home/primer2 # Редагувати файл /home/primer2;
# echo "Останній рядок" | sudo tee-a /home/primer2 # Додавання до кінця файлу "Останній рядок" в файл /home/primer2;
# cp /home/Mut@NT/primer.txt /home/primer.txt # Копіює /home/Mut@NT/primer.tx у home/primer.txt;
#ln-s /home/Mut@NT/primer.txt /home/primer # Створює символічну посилання /home/primer до файлу /home/Mut@NT/primer.txt;
# mkdir /home/Mut@NT/shaman # Створення директорії з ім'ям shaman;
# rmdir /home/Mut@NT/shaman Видалення директорії з ім'ям shaman;
# rm-rf /home/Mut@NT/shaman # Видалення директорії з вкладеними файлами;
# cp-la /dir1 /dir2 # Копіювання директорій;
# mv /dir1 /dir2 # Перейменування директорії;
# du-sh /home/Mut@NT/ # Виводить на екран розмір заданої директорії. Можна використовувати для визначення розміру файлів (кількість блоків диска, зайнятих кожним файлів у вашому поточному каталозі);
# tree # Показує деревоподібний список файлів і тек у вашому поточному каталозі. Також підраховує їх кількість. залежно від кількості файлів підрахунок файлів може зайняти деякий час;
# dir # Показує вміст вашого поточного каталогу в алфавітному порядку і з урахуванням регістру назв;
# df # Виводить в консолі кількість зайнятого та вільного місця на жорсткому диску для кожного каталога системи;
# locate primer # Пошук всіх файлів з ім'ям primer;

Загальні команди Linux

# uname-a # Показати версію ядра Linux;
# man hier # Опис ієрархії файлової системи (для чого потрібна кожна директорія в linux);
# clear # Очищення екрану терміналу;
# date # Показує поточну дату і час
# cal -3 # Показує в зручній формі календар за попередній, поточний і наступний місяці;
# uptime # Показати поточний час і роботу системи без перезавантаження і виключення;
# hostname # Показати мережне ім'я комп'ютера;
# whois linux.org # Показати інформацію про домени імені linux.org;
# export http_proxy=http://your.proxy:port # Змінити змінної оточення http_proxy, для використання інтернету через proxy-сервер;
# wget http://itshaman.ru/images/logo_white.png # Завантажити файл http://itshaman.ru/images/logo_white.png у поточну теку;
# wget---convert links-r http://www.linux.org/ # Копіювання сайту цілком і конвертування посилань для автономної роботи. Копіювання відбувається на 5 рівнів в глибину;
# !! # Виконати останню команду;
# history | tail -50 # Показати останні 50 набраних команд;
# exit # Завершити сеанс поточного користувача;
# passwd # Змінює пароль поточного користувача;
# shutdown-h now # Вихід з Linux;
# poweroff # Вихід з Linux;
# reboot # Перезавантаження системи;
# last reboot # Статистика перезавантажень;
# host itshaman.ru # Показує IP-адреса введеного сайту.
# who # Показує користувачів системи.

Обрані функції bash

пКомандный процесор робить більше, ніж просто запускає пкоманди. Також він надає потужні функції для того, щоб поблегчить цю задачу.

Наприклад:

  • групові символи для пошуку файлів по шаблонах пимен,
  • перенаправлення вихідних даних команд у файли і вхідних пданных з файлів,
  • конвеєри (pipe) для того, щоб робити вихідні пданные однієї команди вхідними даними для іншої,
  • псевдоніми (alias) для швидкого виклику найбільш використовуваних команд,
  • змінні для зберігання значень, які може використовувати командний процесор, і т. д.

    У даній роботі коротко описана використання символів, інші кошти будуть описані в наступних роботах.

    Виконайте команду info bash, щоб отримати пполную документацію.

    Групові символи

    Группвые символи надають можливість задавати пнаборы файлів зі схожими іменами. Наприклад, а* означає усі файли, що починаються з великої літери "а". Групові псимволы "замінюються" командним процесором на набір доменів пфайлов, яким вони відповідають. Тобто якщо ви набираєте:

    $ Is*

    той командний процесор спочатку замінює а* на імена файлів пв вашої робочої директорії, які починаються з букви "а", як пбудто якщо б ви набрали наступну команду.

    Is aardvark adamantium apple

    команда ls ніколи не дізнається, що ви використовували груповий псимвол, вона бачить тільки остаточний список імен файлів ппісля після того, як командний процесор обробить груповий символ.

    Типи групових символів

    • * - Будь-який набір символів, у тому числі порожній рядок
    • ? - Будь-який одиночний символ
    • [набір] - Будь-який одиночний символ з заданого набору,
    • пкоторый, як правило, є послідовністю псимволов, наприклад [aeiouAEiou] для всіх голосних пбукв, або діапазоном з дефісом, наприклад, [А-Z] пдля всіх великих літер
    • [^набір] - Будь-який одиночний символ, не заданий у наборі
    • [!набір] - Будь-який одиночний символ, не заданий у наборі

    Якщо ви хочете включити в набір символ мінуса, то помістіть pego першим чи останнім. Щоб включити в набір заслони пквадратную дужку, помістіть її першою. Щоб включити в набір псимволы^, або ! не кладіть їх на перше місце.

Переглядів: 10304

Повернутися в зміст:ОС Linux




Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн