Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
spo_voprosy.docx
Скачиваний:
9
Добавлен:
20.03.2016
Размер:
465.35 Кб
Скачать

Linux history

distributions

Все современные ОС имеют свои корни в 1969 году, когда Денис Рич и Кен Томпсон разработали язык С и ос Unix работая в AT&T Bell Labs. Они раздали в свободный доступ свои исходники для всего мира. В 1975, когда AT&T решили продавать Unix, больше половины кода было написано третьими лицами. Люди, внесшие свой вклад в развитие, не обрадовались, и в итоге все кончилось тем, что появились две версии Unix: официальная AT&T Unix, и свободная Free BSD Unix.

В 80-е многие компании стали разрабатывать свой Unix: IBM создали AIX, Sun - SunOS (впоследствии Solaris), HP - HP-UX и так далее. В итоге получилось множество версий по сути одного и того же. Первые реальные корни Linux появились, когда Ричард Сталман запустил свой проект, отделившись от этой толпы переизобретавшей колесо, проект GNU (GNU is Not Unix). Цель - общедоступная операционная система, где все могут работать вместе как в 70х. Большая часть инструментов, которые вы видите теперь в Linux или Solaris - взята у GNU.

В 90-е Линус Торвальдс, шведоговорящий финский студент купил 386 компьютер и написал полностью новое гибкое ядро POSIX. Он выложил код в сеть, думая, что он не будет работать ни на чем, кроме своего компьютера. Однако многие люди объединили его ядро с инструментами GNU, и так появился Linux.

Сегодня более 90% суперкомпьютеров (включая весь ТОП-10), более чем половина всех смартфонов, многие миллионы стационарных компьютеров, около 70% всех сетевых серверов, большая куча планшетных компьютеров и некоторая бытовая техника (dvd-проигрыватели, стиральные машины, dsl - модемы, роутеры) управляются Linux. На сегодняшний день это наиболее часто используемая ОС.

Версия ядра Linux 3.2 была выпущена в январе 2012. Её исходный код разросся более чем на 200 000 строк (по сравнению с 3.1) благодаря более чем 4000 разработчикам из 200 коммерческих компаний включая Red Hat, Intel, Broadcom, Texas Instruments, IBM, Novell, Qualcomm, Samsung, Nokia, Oracle, Google и, даже, Microsoft.

licensing

Всего существует две основные парадигмы: Свободное и Открытое исходное программное обеспечение (Free and Open Source Software (FOSS)) и Частное (патентованное) ПО. Различия между ними заключаются в контроле. У патентованного ПО контроль относится больше к продавцу (поставщику), в то время как у Свободного ПО все направлено на конечного пользователя. Но, несмотря на различия, они используют одни и те же законы об авторском праве для достижения своих целей. С юридической точки зрения, Свободное ПО дает пользователю больше прав согласно лицензионному соглашению, чем лицензионное соглашение патентованного софта, тем не менее основные законы лицензирования одинаковы.

Юридическая теория утверждает, что автор FOSS, в отличие от автора общедоступного ПО (public domain software), никаким образом не отказался от авторских прав на свою работу. FOSS поддерживает авторские права, налагая лицензионное соглашение. Условия лицензии FOSS должны уважаться так же, как лицензионное соглашение платных продуктов. Всегда внимательно проверяйте лицензию перед тем как использовать стороннее программное обеспечение.

Примерами патентованного (платного) по могут служить: AIX от IBM, HP-UX от HP, и Oracle Database 11g. Вы не имеете права устанавливать или использовать это ПО не заплатив за него. Вы не можете распространять копии, а так же запрещается изменять закрытый исходный код.

II. First steps on the command line

Эта глава объяснит использование man (manual pages, инструкции, да) на вашем Linux или Unix.

5. Man pages

  1. man $command

Напечатайте man и через пробел команду, для которой вам нужна помощь и начинайте читать. Нажмите q чтобы выйти из мануала. Некоторые man'ы содержат в конце примеры.

Прим.:

: man whois

  1. man $configfile

Большая часть файлов конфигурации содержит свои собственные мануалы.

Прим.:

: man syslog.conf

  1. man $daemon

Это так же работает для большинства daemon’ов (демонов, т.е. фоновых программ) вашей системы.

Прим:

: man syslogd

  1. mank

mank (или apropos, т.е. «по поводу») показывает список команд, которые связаны с запрашиваемой командой, а так же кратко что эти команды делают, по строчке на каждую.

Прим:

: man –k syslog

lm-syslog-setup (8) - configure laptop mode to switch syslog.conf ...

logger (1) - a shell command interface to the syslog(3) ...

syslog-facility (8) - Setup and remove LOCALx facility for sysklogd

syslog.conf (5) - syslogd(8) configuration file

syslogd (8) - Linux system logging utilities.

syslogd-listfiles (8) - list system logfiles

  1. whatis

Чтобы увидеть только описание страницы мануала искомой команды, используйте whatis для искомой команды.

Прим:

: whatis ls

ls (1) - list directory contents

  1. whereis

Расположение мануала может быть установлено командой whereis.

Прим:

: wheris –m ls

ls: /usr/share/man/man1/ls.1.gz

Этот файл непосредственно читается командой man.

В общем случае whereis можно использовать для нахождения пути к файлу.

  1. man sections

Сейчас вы уже заметили цифры в круглых скобках. man man объяснит, что это номера секций. Исполняемые программы и оболочки находятся в разделе 1, вот список всех секций:

1 Исполняемые программы или команды оболочки

2 Системные вызовы (функции, предоставляемые ядром)

3 Библиотечные вызовы (функции в библиотеках программ)

4 Специальные файлы (обычно находящиеся в /dev)

5 Форматы файлов и конвенций например /etc/passwd

6 Игры

7 Разное (включая пакеты макросов и соглашения), например man

8 Команды администрирования системы (как правило, только для root’a)

9 Подпрограммы ядра (не всегда)

  1. man $section $file

При обращении к мануалу команды passwd, вы увидите,что он записан в виде passwd(1); когда речь идет о passwd file, вы увидите его записанным, как passwd(5). Как открыть справочную страницу в правильном разделе:

Прим: man passwd # открывает первый найденный мануал

man 5 passwd # открывает страницу из секции 5

  1. man man

Если вы больше хотите знать про man, тогда Читайте Фантастический Мануал (Read The Fantastic Manual (RTFM!))!

К сожалению, мануалы не содержат ответов на все вопросы:

: man woman

No manual entry for woman

  1. mandb

Если вы убеждены, что мануал существует, но вы не можете получить к нему доступ, попробуйте mandb.

Прим:

mandb

0 man subdirectories contained newer manual pages.

0 manual pages were added.

0 stray cats were added.

0 old database entries were purged.

6. Working with directories (работа с папками)

  1. pwd

Чтобы узнать, в какой вообще папке вы находитесь, используйте команду pwd (Print Working Directory).

Прим:

: pwd

/home

  1. cd

Чтобы изменить текущую папку, воспользуйтесь командой cd (Change Directory)

Прим.:

: cd /etc

:pwd

/etc

Если вы просто напечатаете cd или cd ~, то вернетесь в домашнюю папку (/home)

Чтобы перейти на папку вверх напечатайте cd .. .

Чтобы перейти в предыдущую использовавшуюся папку: cd

  1. Абсолютные и относительные пути.

Следует помнить об абсолютных и относительных путях в дереве файлов. Когда вы печатаете путь, начиная со слеша (/), тогда подразумевается, что путь идет из самого корня. Если же слеш не напечатан, то считается, что путь идет с той папки, в которой вы находитесь. Однако если вы находитесь в корневой директории, то нет разницы, печатать со слешем или без него.

  1. Завершение пути

Кнопка Tab может помочь напечатать путь без ошибок. Если напечатать cd/et и нажать Tab, то путь автоматически дополнится до cd/etc/. Однако если напечатать cd/Et, то ничего не произойдет, поскольку был напечатан неправильный путь (все названия чувствительны к регистру)

  1. ls

Вы можете вывести список содержимого папки командой ls.

Если добавить опцию –a (lsa), то будут показаны все файлы, включая скрытые файлы. В файловых системах Unix, если название файла начинается с точки, то он принимается как скрытый файл, и не показывается в обычных списках.

Если добавить опцию –l (ls -l), то будет выведен более полный список содержимого, то есть будет показано общее кол-во файлов, права доступа, размер, дата и время создания каждого файла.

При добавлении к предыдущему опции –h (lslh, ls –hl, ls –h –l, etc.) то числа (в частности размер файла) будут представлены в более понятном человеку виде (то есть в килобайтах, мегабайтах и т.п.)

  1. mkdir

Команда mkdir используется для создания собственных пустых папок, для этого нужно добавить как минимум один параметр: имя папки. Помните о том, надо ли ставить “/” (относительные и абсолютные пути), если указываете путь, по которому должна быть создана папка.

Прим:

: mkdir MyDir

Когда задается параметр p, то будут созданы так же родительские директории, если необходимо (то есть, если ввести mkdir –p MyDir2/MyDir1/temp, то, в случае отсутствия этих папок, будет создана папка MyDir2, внутри которой будет MyDir1, внутри которой будет temp).

  1. rmdir

Когда папка пуста, можно использовать команду rmdir, чтобы её удалить. Аналогично, опция -p рекурсивно удалит все родительские папки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]