Знакомство с ос семейства unix

Операционная система GNU/Linux — ABC Unix

знакомство с ос семейства unix

Знакомство с операционными системами UNIX и Windows ХР UNIX. Операционная система UNIX была разработана в компании Bell Labs в начале х . не относящиеся к семейству Intel (DEC Alpha, IBM Power PC и SGI MIPS). Знакомство с архитектурой UNIX начнем с рассмотрения таких неотъемлемых для . Особенностью операционных систем семейства UNIX является. Архитектура как UNIX-систем, так и UNIX-подобных систем – многоуровневая. На нижнем уровне работает ядро операционной системы. Функции ядра.

Операционные системы на основе свободного ПО В году Ричард Столлман объявил о создании проекта GNU — попытки создания свободной Unix-подобной операционной системы с нуля, без использования оригинального исходного кода.

Большая часть программного обеспечения, разработанного в рамках данного проекта, — такого как GNU toolchainGlibc стандартная библиотека языка Си и Coreutils — играет ключевую роль в других свободных операционных системах. Однако работы по созданию замены для ядра Unix, необходимые для полного выполнения задач GNU, продвигались крайне медленно. В настоящее время GNU Hurd — попытка создать современное ядро на основе микроядерной архитектуры Mach — всё ещё далека от завершения.

В годукогда Линус Торвальдс опубликовал ядро Linux и привлёк помощников, использование инструментов, разработанных в рамках проекта GNU, было очевидным выбором. Дистрибутивы этой системы такие как Red Hat и Debianвключающие ядро, утилиты GNU и дополнительное программное обеспечение стали популярными как среди любителей, так и среди представителей бизнеса.

Весь год никаких значительных успехов в судебной тяжбе для USL не принёс, зато появился встречный иск от Калифорнийского университета.

знакомство с ос семейства unix

В декабре года появился другой дистрибутив — FreeBSDнацеленный на простых пользователей. К январю CSRG и Novell договорились удалить три файла из Networking Release 2, часть файлов должна быть подвергнута правке, а к примерно 70 файлам университет должен был добавить информацию о копирайте USL.

Таким образом, все наработки, сделанные за три года с момента подачи иска USL, пришлось пересматривать на предмет нарушения авторских прав и использования стороннего кода. Переписывать важные составляющие ядра и операционного окружения.

В году Apple Inc. Этот проект, как и созданная на его основе операционная система, получили название OpenSolaris. В мае появился первый официальный дистрибутив OpenSolaris В году Novell продала права на существующие лицензии и дальнейшую разработку System V компании Santa Cruz Operation ru en.

SCO Group заявила, что она также обладает правами на исходный код Unix и развернула кампанию против различных пользователей и поставщиков Unix-подобных систем, требуя выплаты лицензионных отчислений. Однако Novell утверждает, что права на исходный код не были переданы Santa Cruz Operation и, таким образом, не перешли к SCO Group, а остаются у Novell, что и подтвердил вердикт суда.

Несмотря на это в августе года Апелляционный суд десятого округа США отменил вынесенное ранее решение, назначив дополнительное расследование с целью установления законного владельца авторских прав на исходные тексты операционной системы [5]. В июне года суд поставил точку в этом вопросе, подтвердив вынесенный ранее в апреле очередной вердикт в пользу Novell и отказав SCO Group в рассмотрении дальнейших жалоб [6].

Влияние Unix на эволюцию операционных систем[ править править код ] Unix-системы имеют большую историческую важность, поскольку благодаря им распространились некоторые популярные сегодня концепции и подходы в области ОС и программного обеспечения.

Также, в ходе разработки Unix-систем был создан язык Си. Как и MulticsUnix была написана на языке высокого уровня, а не на ассемблере доминировавшем в то время. Она содержала значительно упрощённую, по сравнению с предшествующими ей операционными системами, файловую модель. Unix популяризовала предложенную в Multics идею иерархической файловой системы с произвольной глубиной вложенности. Другие операционные системы в том числе DOS того времени позволяли разбивать дисковое пространство на каталоги или разделы, но число уровней вложенности было фиксировано и, зачастую, уровень вложенности был только.

Позднее все основные фирменные операционные системы[ уточнить ] обрели возможность создания рекурсивных подкаталогов, также заимствованную из Multics. То, что интерпретатор команд стал просто одной из пользовательских программа в качестве дополнительных команд выступают отдельные программы, является ещё одной инновацией Multics[ источник не указан дней ], популяризированной Unix.

Язык командной оболочки Unix используется пользователем как для интерактивной работы, так и для написания скриптовто есть не существует отдельного языка описания заданий, как, например, в системе JCL фирмы IBM. Так как оболочка и команды операционной системы являются обычными программами, пользователь может выбирать их в соответствии со своими предпочтениями, или даже написать собственную оболочку.

Наконец, новые команды можно добавлять к системе без перекомпиляции ядра. Новый, предложенный в командной строке Unix, способ создания цепочек программ, последовательно обрабатывающих данные, способствовал использованию параллельной обработки данных. Поэтому мы решили выпустить небольшой цикл материалов, в котором на доступном уровне изложить основы администрирования Linux систем, буквально объясняя на пальцах "общеизвестные вещи", опытные пользователи могут пропустить данный цикл, а могут и прочитать, заодно обновив свои знания.

Итак, вы решили стать Linux администратором Немного перефразируем Маяковского "я б в Linux-админы пошел, пусть меня научат", именно так дело в большинстве случаев и обстоит. Есть необходимость, есть желание, есть базовый набор знаний по работе с Windows системами - все это пригодится при работе с Linux системами. Гораздо хуже если какая-либо составляющая отсутствует, тогда, наверное, стоит задуматься о неправильном выборе профессии.

Сразу о том, что нужно раз и навсегда забыть. Это "религиозные войны" и "религиозный фанатизм". Одинаково плохо отрицать возможности Linuх-систем, как и превозносить их, стремясь перевести на Linux все что нужно и не. Запомните - операционная система - это инструмент, хороший специалист берет для каждой задачи наиболее подходящий, фанатик будет забивать гвозди микроскопом, потому что взять в руки молоток ему "религия не позволяет".

Даже больше, сама по себе операционная система не имеет никакой ценности, это всего лищь среда для запуска и выполнения некоторых служб и сервисов. Без софта система мертва. Возьмем для примера клон BeOS - Haiku, ну поставили, ну посмотрели - прикольно Итак, вы решили стать Прежде всего будьте готовы воспринимать новое, в частности новый подход к администрированию, постаравшись на время забыть о сложившихся привычках.

На долгое время вашим основным инструментом станет консоль. Для привыкшего к графическим инструментам Windows-администратора это может показаться сложным. Но следует твердо усвоить одну истину - консоль является единственным полноценным инструментом администрирования Linux и совсем не означает ограниченность в возможностях или неполноценность системы.

Даже наоборот, командная строка позволяет выполнить многие задачи намного быстрее и проще, чем графические инструменты администрирования. Но существуют же графические инструменты администрирования, скажет иной читатель, панели там разные, или можно же поставить графическую оболочку. Можно, но не. Внимательно посмотрите на схему ниже: Linux, создававшийся по образу и подобию UNIX-систем, является полноценной системой и без графической оболочки, более того мы можем запустить, закрыть или вообще сменить графическую оболочку без какого-либо влияния на работоспособность системы и даже без ее перезагрузки.

Завершили сеанс Gnome, запустили KDE, а потом и вовсе вышли в консоль. Поэтому все инструменты управления системой разработаны для использования в режиме командной строки.

А все панели и графические инструменты являются всего лишь надстройкой над. Windows долгое время разрабатывался по принципиально иной технологии, графическая оболочка была поставлена в основу системы и долгое время даже выполнялась на уровне ядра семейство Win 9x.

Поэтому все инструменты администрирования были изначально графическими, а инструменты командной строки скорее их дополняли, чем заменяли. Любой, кто занимался восстановлением Windows, знает, что возможности инструментов командной строки там существенно ограничены и предназначены в первую очередь для восстановления системы, а не для ее администрирования. Несмотря на то, что сегодня графическая оболочка продолжает играть существенную роль в Windows-системах, администраторы получили в руки альтернативный инструмент - консоль PowerShell, которая позволяет полноценно администрировать Windows в режиме командной строки.

При этом возможности PowerShell сразу завоевали популярность в среде специалистов, так как позволяют выполнять многие задачи быстрее и проще, чем графические инструменты. А еще режим командной строки дает неограниченные возможности в создании собственных скриптов и сценариев, позволяющих выполнять сложные последовательности действий в автоматическом режиме или по расписанию. После этого, как нам кажется, вы должны будете посмотреть на консоль Linux совсем с другой стороны.

Что касается панелей и графических инструментов, то тут есть существенные отличия от Windows-систем. В Windows графические инструменты являются полноценной альтернативой PowerShell. В Linux графические инструменты являются надстройкой над консолью, по факту используя те-же самые инструменты, но через дополнительную прослойку. Поэтому мы категорически не рекомендуем использовать разного рода панели и иные графические инструменты, по крайней мере до тех пор, пока вы не освоите консоль.

знакомство с ос семейства unix

После этого вы уже сможете самостоятельно решить, нужна ли вам панель или вы способны сделать все проще и быстрее через консоль. Увлечение панелями на раннем этапе знакомства с системой приводит к тому, что навыки администрирования системы будут подменены навыками работы с панелью, что черевато проблемами, когда панель по какой-либо причине окажется недоступной, а работать с системой. Это можно сравнить с тем, что человек учившийся вождению автомобиля с механической коробкой без проблем пересядет на автомат, а человек изначально умеющий ездить только на автомате вряд-ли сможет без дополнительного обучения поехать на машине с механикой.

Если вы еще не передумали становиться Linux-администратором, то поедем дальше и рассмотрим отличия в архитектуре системы. Ядро и драйвера Основу любой операционной системы составляет ядро. Существует несколько различных архитектур ядра, Linux, как и подавляющее большинство UNIX систем, использует монолитное ядро, Windows наоборот использует концепцию микроядра, хотя по-настоящему архитектура Windows микроядерной не является, принято считать, что Windows использует гибридное ядро.

Особенностью монолитного ядра является то, что все драйвера оборудования также являются частью ядра. Справочная информация разбита на разделы по тематике. Нумерация разделов в разных системах может быть разной. Пожалуй, самая часто используемая информация содержится в разделе 1, где рассматриваются команды и прикладные программы, доступные рядовым пользователям системы.

Каждая такая страница содержит документацию по конкретной команде, функции, интерфейсу, протоколу и. Отметим, что номер раздела указывать необязательно. В частности, команда apropos [ключ] позволяет найти и вывести перечень тех страниц руководств, которые содержат в строке краткого пояснения заданное ключевое слово ключ. Справочная информация man доступна только для внешних команд.

Чтобы вывести на экран полное имя текущего каталога, нужно использовать команду pwd без аргументов. Если имякаталога не указано, то будет выведен листинг текущего каталога. У команды ls есть несколько полезных ключей l вывести полную информацию о каждом файле; a вывести листинг всех файлов, включая такие, имена которых начинаются с символа точки. Для полной информации о перечисленных командах, их аргументах и вариантах их использования можно обратиться к страницам руководства пользователя команда man.

Программы, требующие входных данных, обычно читают информацию из стандартного потока ввода. Например, команда wc подсчитывает количество строк, слов и символов во входных данных. Если запустить эту команду без аргументов, то wc будет ожидать входных данных с терминала чтобы закончить ввод данных, нужно нажать комбинацию клавиш Ctrl-D: По умолчанию этот поток соединен с терминалом с клавиатурой пользователя, но допускается его перенаправление. Стандартный поток вывода это поток, куда программы записывают выходные данные.

В предыдущем примере команда wc выводила результат три числа именно в этот поток. Так же работают и большинство других неинтерактивных команд включая echo, pwd и ls, рассмотренные выше. Подобно стандартному потоку ввода выходной поток изначально связан с терминалом и также допускает перенаправление. При этом, если файл с таким именем не существовал, он будет создан, в противном случае его старое содержимое будет потеряно. Существует и другая возможность перенаправления вывода, когда новые выходные данные будут дописаны в конец существующего файла.

Например, пусть выполняется попытка получить список файлов в каталоге без соответствующих прав доступа: Access denied В данном случае команда ls вывела сообщение в поток стандартной ошибки. Операция знак вертикальной черты позволяет перенаправить стандартный поток вывода одной команды на стандартный входной поток другой команды: Рассмотрим более сложный пример формирования конвейера команд.

Фильтры получают данные из стандартного входного потока, преобразовывают их и выводят в стандартный поток вывода. Также можно использовать комбинацию клавиш Ctrl- D, которая позволяет выполнить команду завершения работы с командной оболочкой, после чего система переходит в режим ожидания регистрации следующего пользователя. Если сеанс работы производился с удаленной машины с использованием протоколов telnet или ssh, то завершение работы командной оболочки вызывает разрыв соединения Основы интерактивной работы в оболочке bash Оболочка shell или командный интерпретатор в Unix-системах обеспечивает два набора функций: Ниже рассмотрены особенности работы второй группы из набора функций.

Оболочка bash предоставляет пользователю развитые средства интерактивной работы. Следует отметить, что умение пользоваться интерактивными возможностями оболочки значительно повышает эффективность работы в Unix-системе особенно в сочетании с хорошим знанием командного языка.

Знакомство с операционными системами UNIX и Windows ХР

Более того, работа непосредственно в командной оболочке часто оказывается значительно более продуктивной по сравнению с использованием файловых менеджеров, таких как Norton Commander, Far Manager или Windows Explorer. Обратная сторона преимуществ работы в оболочке Unix заключается в длительном начальном периоде изучения.

Далее рассмотрим лишь некоторые наиболее используемые приемы интерактивной работы. Для более полного описания возможностей оболочки следует пользоваться руководством по использованию bash команда man bash. Редактирование командной строки Классические оболочки Unix позволяли вводить команды как последовательность символов, завершая ввод нажатием клавиши Enter.

знакомство с ос семейства unix

Современные версии командных оболочек, такие как bash, включают развитые средства редактирования. Работоспособность модификатора META зависит от настройки терминала, графической среды или программы удаленного доступа. Для этого перед символом нужно нажать и отпустить клавишу Esc. Таким образом, например, комбинацию клавиш META-d можно заменить 17 13 последовательностью нажатий Esc, d.

В табл приведены основные команды для работы в командной строке. Одному действию соответствует, как правило, несколько разных комбинаций клавиш.

Поэтому, если не работает какаялибо из клавиш например, Homeвместо нее может быть использована альтернативная комбинация например, CTRL-a.

Также следует отметить, что многие из комбинаций клавиш имеют аналогичное или похожее назначение и в других программах, распространенных в Unix. Это позволяет вернуться к любой ранее введенной команде, а также использовать отдельные фрагменты команд из истории для ускорения ввода новых команд. История сохраняется при выходе из оболочки в файле с именем. Таким образом, история команд не пропадает в перерывах между сеансами работы.

Впрочем, существует ограничение на количество запоминаемых команд например,и при превышении этого ограничения самые ранние команды будут автоматически удаляться. Чтобы просмотреть историю команд, можно использовать команду history.

Если после имени этой команды указан числовой аргумент, то будет выведено соответствующее число последних введенных команд. Чтобы выполнить одну из команд истории, можно ввести в командной строке заданный номер, предварив его восклицательным знаком. Удобнее использовать похожий синтаксис, указывая вместо номера первые несколько символов команды.

В этом случае 19 15 будет произведен поиск команды совпадающими с первыми символами, начиная с конца истории. Вместо этого чаще используют интерактивные операции навигации и поиска в истории.

Знакомство с Linux

Наиболее употребительные комбинации клавиш, связанные с историей команд, приведены в табл Таблица 1. Вставить последнее слово предыдущей команды в текущую позицию курсора CTRL-o Аналогично Enter, но после выполнения команды показать следующую строку истории Самый простой способ использования истории заключается в переходе на команду, подобную той, что требуется ввести, ее редактировании и нажатии клавиши Enter.

Если же при этом вместо Enter нажать комбинацию CTRL-o, то это позволит повторить ввод серии последовательных команд, сохраненных в истории. Отдельного внимания заслуживает возможность инкрементального поиска в истории комбинация клавиш CTRL-r. Это, пожалуй, наиболее мощный способ использования истории команд. Если же найденная команда оказалась не той, что искали, можно использовать CTRL-r для перехода на более ранние команды, также содержащие строку поиска.

Продолжая предыдущий пример, повторно нажимаем CTRL-r. Чтобы отменить поиск и вернуться в исходное состояние, можно нажать CTRL-g. И наконец, нажатие Enter приведет к немедленному исполнению найденной команды.

Использование автоматического дополнения в командной строке Автоматическое дополнение completion позволяет значительно ускорить ввод команд, имен файлов, имен переменных и имен машин в командной строке. В таком случае в bash достаточно набрать в начале командной строки эти три буквы и нажать клавишу Tab. При этом остальные символы, формирующие имя команды, будут вставлены автоматически. В оболочке bash поддерживается несколько типов дополнения и множество комбинаций клавиш для их активизации.

Рассмотрим лишь две наиболее полезные возможности выполнять автоматическое дополнение табл. Дополнение с помощью Tab может работать по-разному в зависимости от использования контекста.

Если однозначного варианта не найдено, независимо от типа дополнения дописывается только часть, совпадающая во всех вариантах, и, в зависимости от конфигурации оболочки, может быть выведен список подходящих дополнений. Чтобы однозначно идентифицировать любой файл, можно указать путь к этому файлу от корневого или текущего каталога.

Все элементы пути отделяются друг от друга символом прямой косой черты.