ebook img

Введение в Linux PDF

44 Pages·00.496 MB·Russian
by  coll.
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.