ebook img

Введение в Linux PDF

44 Pages·2016·0.497 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Введение в Linux

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» ВВЕДЕНИЕ В LINUX Учебно-методическое пособие Воронеж Издательский дом ВГУ 2016 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Утверждено научно-методическим советом факультета прикладной матема- тики, информатики и механики 10 ноября 2016 г., протокол № 3 Составители: М. А. Артемов, А. Н. Владимиров, Е. С. Барановский, И. Б. Крыжко Рецензент – канд. физ.-мат. наук, доцент кафедры информационных техно- логий управления ФКН ВГУ И. В. Илларионов Учебно-методическое пособие подготовлено на кафедре программного обеспечения и администрирования информационных систем факультета прикладной математики, информатики и механики Воронежского государ- ственного университета. Рекомендовано студентам 4-го курса факультета прикладной математики, информатики и механики Воронежского государственного университета. Для направления 02.03.03 – Математическое обеспечение и администриро- вание информационных систем Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Содержание 1. Краткая история UNIX-подобных систем .................................................... 4 2. Основы Linux ................................................................................................... 6 3. Преимущества и недостатки Linux ............................................................... 7 4. Команды для работы с файловой системой. Символические и жесткие ссылки ................................................................................................ 7 5. Структура файловой системы ........................................................................ 9 6. Установка пакетов (rpm, deb, apt, yum, yast2, emerge) ............................... 12 6.1. Red Hat Packet Manager (rpm) ............................................................... 12 6.2. Debian Package Manager (dpkg) ............................................................. 13 7. Архиваторы и компрессоры ......................................................................... 14 8. BASH .............................................................................................................. 15 8.1. Основы синтаксиса ................................................................................ 15 8.2. Переменные ............................................................................................ 16 8.3. Параметры скрипта ................................................................................ 16 8.4. EXPANSION – процесс разворачивания команды .............................. 17 8.5. Навыки работы shell ............................................................................... 19 8.6. Правила и приемы при написании скриптов ...................................... 20 9. Команды для обработки текста .................................................................... 21 10. SED ............................................................................................................... 25 11. AWK .............................................................................................................. 27 12. LaTEX – система подготовки документов ................................................ 29 13. Текстовые редакторы .................................................................................. 30 14. VI / VIM ........................................................................................................ 31 15. Ядро .............................................................................................................. 35 16. Управление процессами ............................................................................. 36 17. Загрузка системы ......................................................................................... 39 18. Runlevel ........................................................................................................ 40 19. Xserver .......................................................................................................... 41 20. Файловые системы ...................................................................................... 41 Библиографический список .............................................................................. 43 3 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 1. КРАТКАЯ ИСТОРИЯ UNIX-ПОДОБНЫХ СИСТЕМ 1957 год. Компания BellLabs создала ОС BESYS (Bell Operating Sys- tem). Это система для внутреннего использования (не для продажи), хотя высылалась всем желающим на магнитной ленте. Руководитель – Виктор Высоцкий. Система была предназначена для выполнения на компьютерах серии IBM 704 – 709x (IBM 7090, 7094). Она стала прообразом для систем с разделяемым временем исполнения задач. 1964 год. Совместный проект MIT, GE, BellLabs – Multics. Система не имела коммерческого успеха. Особенности: • центральная файловая система с поддержкой символьных ссылок; • виртуальная память; • dynamic linking; • агрессивная переконфигурация на ходу (позволяющая подключать, отключать и настраивать центральные процессоры, блоки памяти, жёсткие диски и другие устройства, не останавливая при этом всю систему); • безопасность и привилегии; • стек для каждого процесса в ядре. 1969 год. Компания BellLabs разработала UNIX. Основные участ- ники: Кен Томпсон, Деннис Ритчи, Дуглас Макилрой. Первые версии UNIX были написаны на ассемблере и не имели встроенного компилятора с языком высокого уровня. Примерно в 1969 году Кен Томпсон при содей- ствии Денниса Ритчи разработал и реализовал язык Би (B), представляв- ший собой упрощённый (для реализации на миникомпьютерах) вариант разработанного в 1966 языка BCPL. Би, как и BCPL, был интерпретируе- мым языком. 4 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» В 1972 году была выпущена вторая редакция UNIX, переписанная на языке Би. В 1969–1973 годах на основе Би был разработан компилируемый язык, получивший название Си (C). В 1973 году вышла третья редакция UNIX со встроенным компилято- ром языка Си. 15 октября того же года появилась четвёртая редакция с пе- реписанным на Си системным ядром (в духе системы Multics, также напи- санной на языке высокого уровня ПЛ/1), а в 1975 – пятая редакция, полно- стью переписанная на Си. С 1974 года UNIX стал распространяться среди университетов и академических учреждений. С 1975 года началось появление новых версий, разработанных за пре- делами Bell Labs, и рост популярности системы. В том же 1975 году Bell Labs выпустила шестую редакцию, известную по широко разошедшимся комментариям Джона Лайонса. К 1978 году система была установлена более чем на 600 машинах, прежде всего в университетах. Седьмая редакция была последней единой версией UNIX. Именно в ней появился близкий к современному интерпре- татор командной строки Bourne shell. BSD UNIX, Berkley University (июль 1993 – 4.4BSD – последняя вер- сия университетская). 1982 год. AT&T выпустила UNIX System III на основе седьмой версии UNIX. 1983 год. AT&T – UNIX System V, из которой позднее появились AIX(IBM, 1986), IRIX(Silicon graphics, 1988), HP/UX(Hewlett-Packard UniX, 1984), Solaris(Sun, 1992). От BSD ответвились FreeBSD (1993), NetBSD (1993), OpenBSD (1995). 5 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» GNU, Ричард Столлман (Gnu is Not Unix) – операционная система и набор инструментов (GNU Toolchain, glibc, Coreutils, Emacs). 1987 год. Эндрю Таненбаум, Minix. 1991 год. Линус Торвальдс, GNU/Linux. 1984 год. MacOS. 1989 год. NexTSTEP. 2000 год. Darwin – набор компонентов для MacOS X, iOS на основе своего кода, FreeBSD, NexTSTEP и др. 2. ОСНОВЫ LINUX POSIX – интерфейс взаимодействия между ОС и программным обес- печением. Поддерживается Linux (частично), Mac OS X, Solaris. Linux состоит из ядра и прикладных программ. Ядро содержит код работы с файловой системой, процессами, потоками, драйверами и памятью. Прикладные программы – shell, glibc, gcc, text utils. Linux имеет огромное множество дистрибутивов (около 600). По типам пакетов: • RPM-based; • DEB-based; • Source-based. Основные игроки: • RedHat, FedoraCore, CentOS, Mandriva, ALTLinux; • Debian, Ubuntu, Kubuntu; • Suse; • Slackware (один из первых); • ArchLinux; • Gentoo; • Android. 6 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 3. ПРЕИМУЩЕСТВА И НЕДОСТАТКИ LINUX Преимущества Недостатки 1. свободная и бесплатная; 1. cложность в освоении; 2. поддержка платформ; 2. отсутствие необходимого ПО: 3. сила командной строки; − игры; − обработка текста; − специальное ПО (САПР, гра- − файлы для всего; фика, видео и аудио- − удаленный доступ; редакторы). − потоковая обработка; 4. поддержка файловых систем; 5. настройки в текстовых файлах; 6. практически нет вирусов; 7. гибкая система настройки энерго- потребления. 4. КОМАНДЫ ДЛЯ РАБОТЫ С ФАЙЛОВОЙ СИСТЕМОЙ. СИМВОЛИЧЕСКИЕ И ЖЕСТКИЕ ССЫЛКИ pwd – текущая директория (Print Working Dir), whoami – текущий пользователь, ls – список всех файлов в текущей директории, ls /home/user – список всех файлов в директории /home/user, ls -l – флаг -l выдает больше информации о файлах (права, размер, даты мо- диф.), ls -a – выводит системные файлы, ls -la – выводит системные с подробной информацией (комбинация флагов), ls -R – выводит всё рекурсивно, ls -t – выводит с сортировкой по времени, ls -1 – выводит по 1 файлу в строке (удобно для скриптов), 7 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» cd <dir> – сменить директорию на указанную директорию, cd – сменить директорию на домашнюю, cp – копировать файл, cp -r – рекурсивно копировать директорию, pushd (BASH) – сменить директорию и запомнить в стеке, popd (BASH) – вернуться по стеку в последнюю директорию, mv – переместить /переименовать что-либо, rm – удалить файл, rm -r – удалить рекурсивно, rm -f – удалить без лишних вопросов, rm- rf – удалить рекурсивно и без лишних вопросов (так удалять директо- рии, но осторожно), mkdir – создать директорию, mkdir -p – создать директорию и всех недостающих предков, rmdir – удалить директорию (пустую), cat – конкатенация файла (используется для вывода содержимого), tac – обратная конкатенация, touch – если нет файла, то создать, если есть – освежить дату модификации; chmod – управление правами пользователя, chmod 755 – дать права владельцу на всё, группе и остальным – чтение и исполнение, chmod +x – дать владельцу права на исполнение, chmod a+w – дать всем права на запись, chmod g-x – убрать права на исполнение у группы, chmod -r – рекурсивное применение команды, chown user:group file – сменить владельца, chown -r – сменить владельца рекурсивно, chgrp <group> target – сменить группу-владельца, 8 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» find – поиск файлов, ln – создать ссылку жесткую, ln -s – создать ссылку символическую, test – команда для проверки условий, [[ ]] – то же самое, что тест, только для BASH; alias – сделать алиас на команду, export – экспорт переменной во внутренние сессии, clear – очистить экран (Control-l), let – вычисление выражений арифметических, diff – разница файлов, diff -u – в формате unified diff, patch – наложить патч, colordiff(colorsvn, colorcvs) – раскраска команд. 5. СТРУКТУРА ФАЙЛОВОЙ СИСТЕМЫ / – корневая директория. В Linux всё начинается с корневой директории. Если подключается некое внешнее устройство-накопитель – оно монтиру- ется в некоторую поддиректорию корневой директории. /bin – бинарные исполняемые файлы (основные системные), /boot – директория содержащая информацию по загрузке системы (здесь лежит собранное ядро ОС, загрузчик, конфиг ядра), /dev – список устройств (devfs) (здесь есть доступ к устройствам), /etc – директория, содержащая настройки системы (глобальные), /etc/passwd – файл со списком пользователей, /etc/groups – файл со списком и составом групп пользователей, /etc/shadow – файл с паролями пользователей, /etc/profile – файл с глобальными переменными окружения и пр. для шеллов, 9 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» /etc/bashrc – файл с переменными и прочими плюхами именно для BASH, /home – родительская директория для домашних директорий пользователей, /lib – совсем системные библиотеки (такие как libc, libssl), /lib/modules/2.6.18-308.24.1.el5/kernel/ - непосредственно модули ядра, /lib64 – для 64-разрядной системы, /mnt – сюда можно монтировать некие файловые системы, /media – обычно сюда автоматически монтируются диски и флешки, /opt – некоторые пакеты устанавливаются сюда, /proc – виртуальная ФС procfs (содержит информацию о системе, настрой- ки, процессы), /proc/cpuinfo – информация о процессорах, /proc/meminfo – информация о памяти, /proc/<pid> – информация о процессе с PID = <pid>, /proc/sys – dynamic kernel config – динамический конфиг ядра (sysctl), /root – домашняя директория супер-пользователя, /sbin – системные (или суперпользовательские) исполняемые файлы, на- пример init, которые необходимы для старта, поддержки и восстановления системы, /srv – данные серверов, /sys – sysfs, специальная ФС для отображения информации об устройствах и драйверах, подсистем ядра, шин, классов устройств в пространстве пользо- вателя. По сравнению с devfs дает только информацию об устройствах, но не дает к ним доступ. По сравнению с procfs дает меньше информации, но более прозрачно и эффективно. /tmp – временная директория, очищается при перезагрузке, /usr – изначально была для хранения домашних директорий. Сейчас смысл изменился, и содержит исполняемые файлы, библиотеки, и различные ре- сурсы, которые не критичны для работы системы (например, GUI). Некото- 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.