ос и с. ОСиС. 1. Классификация программного обеспечения
Скачать 2.7 Mb.
|
34. Понятие ресурса Понятие ресурса. Ресурс - любой объект, который может быть использован системой. Выделение ресурса. Приоритет процесса - это информация, которая позволяет классифицировать место этого процесса среди других при каком-либо выборе (например, при постановке в очередь или при выборке из нее). Способы определения приоритета: фиксированный приоритет, определенный заранее, функция запрашиваемого времени обслуживания и т.п.; меняющийся с течением времени приоритет, функция прошедшего времени ожидания, прошедшего времени обслуживания и т.п. FIFO при распределении ресурсов. Данный способ реализует одну очередь без приоритетов и реквизиции. Таким образом ОС обеспечивают интерфейс работы пользователя с различными системными ресурсами: процессоры, оперативная память, устройства вв/выв, информации. 35. Понятие консоли. Консолью называется совокупность основных устройств ввода информации в компьютер (клавиатура и мышь) и вывода информации (монитор). ASPLinux работает с несколькими так называемыми виртуальными консолями, из которых в каждый момент времени только одна может быть связана с реальной (физической) консолью (то есть, является активной). В дальнейшем слово "консоль" будет обозначать именно виртуальную консоль. Некоторые из консолей представляют информацию только в текстовом виде с использованием экранных шрифтов в форматах видеосистемы компьютера. Такие консоли называются текстовыми. Сама ОС ASPLinux и основные автоматически запускаемые приложения (такие как командный процессор, см. подробнее п. "Командный процессор") используют в таких консолях интерфейс командной строки. Другие приложения (например, менеджер файлов менеджер Midnight Commander) могут использовать оконный интерфейс, выделение объектов и выбор в меню и списках при помощи мыши или клавиатуры и т.п. Другие консоли (графические) представляют информацию в графическом виде, используя Графический пользовательский интерфейс (GUI). Как правило, работа в таких консолях происходит при помощи развитых графических сред, таких как GNOME. Для нужд ОС консоли перенумерованы целыми положительными числами. Их общее количество может изменяться в зависимости от настроек ОС и достигать нескольких десятков, хотя в стандартной настройке оно не превышает десяти. Несколько первых консолей - текстовые, далее идут графические (в стандартной настройке - одна). Если Вы работаете в графической консоли, Для того чтобы сделать активной другую консоль с номером n (где n находится в интервале от 1 до 12), нажмите на клавиши [Ctrl]-[Alt]-[Fn], то есть, например клавишу [Ctrl]-[Alt]-[F2], если хотите перейти в консоль с номером 2. Для того чтобы сделать активной другую консоль вместо текущей текстовой консоли, 36. Основные команды в UNIX Большинство команд UNIX имеют следующий формат: % команда ключи параметры Сначала идет имя команды, затем - ключи и параметры. Параметрами, как правило, являются имена файлов. Все ключи начинаются с дефиса. Например, приведенная ниже команда означает: "Выполнить команду Is с ключом -l для файла а.out": % ls -l а.out Это 90 процентов того, что Вам нужно знать. Имена команд почти всегда приводятся строчными буквами; ключи обычно состоят из одной буквы (строчной или прописной). В отличие от многих других операционных систем, UNIX учитывает разницу между прописными и строчными буквами. Если Вы используете два и более однобуквенных ключа, большинство команд позволяют объединять их. Например, две приведенные ниже команды идентичны: % ls -lg a.out % 1s -l -g a.out Некоторые ключи требуют наличия параметра. В этом случае параметр дается после ключа, в этом случае последний нельзя объединять с другим ключом. Такие команды в нашем учебнике не описываются. Есть несколько команд, которые не соответствуют этим правилам, и одна из них очень важная: это команда tar. В перечне команд я даю три "рецепта" использования tar. Следуйте указаниям, и все будет в порядке. Ниже приведен перечень основных команд операционной системы UNIX. Прописными буквами даны DOS-эквиваленты. Некоторые команды более подробно будут описаны ниже. Logout Завершить сеанс работы с UNIX. Ls Дать перечень файлов, находящихся в текущем каталоге. Эквивалент команды DIR, имеющейся во многих операционных системах. Команда ls -l дает более подробную информацию, включая размер файлов, их принадлежность и дату создания. У 1s есть очень много ключей, но -l - единственный, который Вы будете использовать довольно часто. rm файлы DELETE. Стереть (удалить) один или несколько файлов. Например, команда rm file1 file2 file3 удаляет три файла: filel, file2, file3. Команда rm -i перед удалением каждого файла просит Вас подтвердить свое намерение. mv cтapoe-имя новое-имя RENAME. Переименовать (переместить) файл из cтapoe-имя в новое-имя. Многие жалуются, что эту команду трудно запомнить из-за несоответствия сокращенного имени смыслу (mv - rename). Правильное замечание. Пользователи UNIX, однако, предпочитают считать, что файлы "перемещаются" (move), а не переименовываются (rename). Если рассматривать эту операцию как перемещение, то работа в UNIX будет более осмысленной. cp файл1 файл2 СОРУ . Копировать файл1 в новый файл с именем файл2. more файл Вывести текстовый файл на экран в постраничном режиме. Для вывода следующей страницы нужно нажать клавишу пробел. Многие используют для этого команду cat и жалуются, что ее имя вводит в заблуждение. Это, однако, их вина. Команда cat не предназначалась для вывода файлов на экран; она срабатывает чисто случайно (и то не очень хорошо). Команда more - гораздо лучшее средство; не утруждайте себя возней с cat. Кроме того, more не совсем "интуитивна"; полезно запомнить фразу "show me more of this file" ("покажи мне этот файл дальше"). grep образец файл Показать все строки в файле, отвечающие, образцу. Поиск осуществляется с учетом регистра. Команда grep используется для поиска конкретных текстовых строк в файлах. Например, если phones - перечень номеров телефонов и имен, то команда (% grep "John Johnson" phones) находит в этом списке номер телефона Джона Джонсона. Обратите внимание: мы взяли образец поиска в кавычки. Кавычки никогда не повредят, но когда Вы ищете строку с пробелом или звездочкой, кавычки необходимы. grep -i образец файл Аналогична предыдущей команде, но регистр не учитывается: прописные и строчные буквы воспринимаются одинаково. pwd Показать текущий каталог. cd каталог Изменить текущий каталог. mkdir каталог Создать новый каталог без файлов с именем каталог. rmdir каталог Стереть (удалить) каталог с именем каталог. Этот каталог должен быть пуст, т.е. в нем не должно быть файлов. compress файл Сжать файл так, чтобы он занимал меньше места в памяти. В результате получается двоичный файл с тем же именем, что и исходный, и суффиксом .Z. Исходный файл удаляется. Сжатый файл нельзя пересылать по электронной почте, т.к. он двоичный, но его можно преобразовать в текстовый командой uuencode. Подобную операцию в UNIX выполняет gzip. uncompress файл Получить исходный файл из сжатого файла. Подобную операцию в UNIX выполняет gunzip. tar Эта команда предназначалась для создания архивов магнитных лент (tape archive), но используется и для создания архивов файлов (объединений, включающих несколько файлов). Подобные архивы встречаются в Internet. Структура этой команды довольно необычна. Поэтому вместо ее описания ниже приведены три примера команды tar, которых Вам будет достаточно для работы. В этих примерах файл.tar - архив, созданный командой tar. В первых двух командах мы будем работать с архивом, полученным извне. В последнем случае мы сами создадим архив. % tar сf file.tar list % tar tf file.tar % tar xf file.tar calendar параметры Этот простейший личный календарь позволяет вам сохранять события в файле calendar. При запуске команда calendar просматривает файл calendar и ищет в нем события, указанная дата которых совпадает с текущей. (Многие пользователи помещают вызов команды calendar в исполняемый при входе в систему файл.) Каждое событие должно быть записано в одну строку с использованием одного из трех форматов даты: 11/12 Nov. 12 November 12 Примеры 11/12 Выпить с Эриком 11/15 Выпить с Эриком 11/18 Выпить с Эриком Если вышеприведенные строчки содержатся в вашем файле calendar, то 12, 15 и 18 ноября при выполнении команды calendar вы получите напоминание об этих важных делах. Параметр - Привилегированные пользователи могут использовать этот параметр, чтобы произвести поиск файлов calendar в домашних каталогах пользователей и автоматически отправить пользователям уведомления в соответствии с содержанием найденных файлов chmod параметры режим файлы Эта команда изменяет режим доступа к указанному файлу (или файлам) или содержимому целого каталога. Только владелец файла или привилегированный пользователь могут изменять режим доступа к файлу. Существует два способа указания нового режима доступа: символьный и числовой. Числовая форма используется для установки абсолютного значения режима доступа, а символьная— для изменения режима доступа относительно текущего состояния. Чтобы узнать режим доступа к файлу или каталогу, используйте команду Is, описанную далее в этом разделе. Примеры использования числовой формы $ chmod 744 kevin.report В этом примере при помощи команды chmod устанавливается режим доступа к файлу, позволяющий владельцу чтение, изменение и исполнение данного файла, в то время как другим пользователям, вне зависимости от того, являются ли они членами группы, которой принадлежит файл, разрешено только чтение. Значение 744 получается при сложении значений, отвечающих основным режимам, которые перечислены ниже. Наименьшее возможное значение—000, означающее, что никто не имеет права на чтение, изменение или исполнение файла. Наибольшее возможное значение—777, предоставляющее всем пользователям права на чтение, изменение и исполнение файла. Вот как получено значение 744: 400 Владелец имеет право на чтение файла 200 Владелец имеет право на изменение файла 100 Владелец имеет право на исполнение файла 040 Члены группы имеют право на чтение файла 004 Прочие пользователи имеют право на чтение файла 744 Когда вы в следующий раз запустите команду Is, то увидите, что файл kevin.report имеет следующие разрешения на доступ: rwxr—r— Режимы Режим— это восьмеричное число, полученное суммированием нужных слагаемых из следующего списка: 400 Владелец файла имеет право на чтение 200 Владелец имеет право на изменение файла 100 Владелец имеет право на исполнение файла 040 Члены группы, которой принадлежит файл, имеют право на чтение 020 Члены группы имеют право на изменение файла 010 Члены группы имеют право на исполнение файла 004 Все прочие пользователи имеют право на чтение файла 002 Все прочие пользователи имеют право на изменение файла 001 Все прочие пользователи имеют право на исполнение файла Например, режим доступа 423 означает, что вы, владелец файла, имеете право на чтение, пользователи группы имеют право на изменение и все прочие имеют право на изменение и исполнение файла. (Замечание: обычно для исполнения файла требуется разрешение на чтение.) Символьная форма Когда установка разрешений производится таким способом, режимы доступа вводятся в символьной форме, но структура команды остается неизменной. Вместо использования чисел для указания режима вам следует использовать следующие символы: u Пользователь (владелец файла) — от user (пользователь) до Группа — от group (группа) о Прочие пользователи — от other (прочие) а Все пользователи — от all (все). Это значение по умолчанию + Добавить разрешения к текущим Удалить разрешения из текущих = Установить разрешения вне зависимости от текущих r Разрешение на чтение — от read (читать) w Разрешение на запись — от write (писать) х Разрешение на исполнение - от execute (исполнять) I Блокировка файла для других пользователей при доступе - от lock (замок) Вы можете устанавливать более одного режима за раз, разделяя параметры запятой (ни слева, ни справа от которой не должно быть пробела). Кроме того, вы можете установить за один раз права доступа для нескольких категорий пользователей, как показано в приводимых ниже примерах. Примеры использования символьной формы $ chmod u+x kevin.report (Эта команда предоставляет владельцу файла kevin.report право на исполнение данного файла.) $ chmod u-x kevin.report (Эта команда лишает владельца файла kevin.report права на исполнение данного файла.) $ chmod u+x,go-w file.report (Владелец файла file.report получает право на его исполнение, а члены группы, которой принадлежит файл, и все прочие пользователи лишаются права на его изменение.) Параметр -R Рекурсивное изменение режима доступа. Изменяется режим доступа к каталогу и всем содержащимся в нем файлам и подкаталогам date параметры +формат date параметры строка (для привилегированного пользователя) Вывод текущей даты в одном из множества форматов (см. список параметров). Также команда date может использоваться привилегированным пользователем для установки системного времени и даты. Примеры $ date (На экран выводится текущая дата и время.) $ date -u (На экран выводится текущая дата и время по Гринвичу.) $ date +%A (На экран выводится название дня недели.) $ date 1115063094 (Эта команда устанавливает системное время 06:30, а дату— 15 ноября 1994 года. Только привилегированные пользователи могут изменять системную дату и время.) Параметр -u Вывод даты и времени по Гринвичу Параметры (привилегированные пользователи) -a[-]s,f Установка секунд (s) или долей секунд (f). По умолчанию часы переводятся вперед. Используйте параметр -, чтобы перевести их назад [MMdd]hhmm[yy] Установка даты и времени (ММ— номер месяца, dd— номер дня, hh— час, mm— минуты, уу— год). В квадратных скобках указаны необязательные аргументы Форматы
dc файл Калькулятор для выполнения вычислений с произвольной точностью. Команды вводятся либо с клавиатуры, либо из указанного файла. Команда dc обычно не используется сама по себе. Программа be обеспечивает удобный интерфейс для работы с dc, в то время как dc использует обратную польскую запись — знаки действий и операторы следуют за числовыми данными. Большинство людей не работают с таким форматом записи и поэтому предпочитают более понятный калькулятор be. Примеры $ dc 7 10 * р 70 (Умножаем 7 на 10 и выводим результат.) 27 - р 43 (Из полученного ранее числа вычитаем 27 и выводим результат.) Команды + • Сложить последнее число с предпоследним Вычесть последнее число из предпоследнего * Умножить предпоследнее число на последнее / Разделить предпоследнее число на последнее с Очистить все значения i Изменить основание системы счисления вход ных данных k Установить точность вычислений (количество цифр после запятой) о Изменить основание системы счисления вы ходных данных р Вывести результат последнего действия q Выйти из программы dc v Извлечь квадратный корень exit Завершение текущего сеанса работы. На самом деле, эта команда является командой используемого интерпретатора командной строки, и ее параметры зависят от версии интерпретатора. Описание работы этой команды в различных случаях вы можете найти в главе 7, «Команды и переменные интерпретаторов командной строки». firmer параметры пользователь, ли) Возвращает информацию о пользователях, зарегистрированных в системе: системный идентификатор, полное имя, терминал, время работы и номер телефона. Кроме того, finger отображает информацию о пользовательском интерпретаторе командной строки, а также выводит содержимое файлов .plan и .project, находящихся в домашнем каталоге пользователя. Информация может выводиться в длинном и коротком форматах. Команда finger может производить поиск не только по системному идентификатору пользователя, но также и по его имени или фамилии. Например, поиск по фамилии ivanov в большой системе вероятнее всего обнаружит несколько пользователей. Команда finger без аргументов выводит список работающих в данный момент пользователей. Пример $ finger eric Login: ere In real life: Eric F. Johnson (612) 555-5555 Directory:/home/ere Shell: /usr/bin/ksh Last login Wed Nov 10 12:14:45 on term/07 Project: X Window Programming ere term/07 Nov 11 19:45 Параметры -Ь Длинный формат, без вывода информации о домашнем каталоге и интерпретаторе командной строки -f Короткий формат вывода -h Длинный формат, без вывода информации из файла .project -i Вывод информации о неактивности пользователя: системный идентификатор, терминал, время входа в систему и причина неактивности -I Длинный формат -т Вывод информации о пользователе с заданным системным идентификатором, не проверяя список имен и фамилий -р Длинный формат, без вывода информации из файла .plan -q Вывод системного идентификатора пользователя, терминала и времени входа в систему (не производя поиска в списке имен и фамилий) -s Короткий формат -w Короткий формат, имя пользователя не выводится, выводится только фамилия groups пользователь Вывод списка групп, членом которых является данный пользователь. Если пользователь не указан, то выводится список групп, членом которых является пользователь, отдавший команду. kill параметры PID Прерывает выполняющийся процесс, посылая ему указанный сигнал. Процесс определяется своим номером — PID, Process IDentificator, который может быть получен при помощи команды ps. Для выполнения команды kill вы должны быть владельцем процесса или привилегированным пользователем. Эта команда также встроена в интерпретаторы командной строки Когп shell, Bourne shell и С shell, хотя между ее версиями имеются незначительные различия. kill -9 - наиболее серьезная форма этой команды'. Параметры -I Вывод списка всех сигналов -сигнал Отправка процессу указанного сигнала, заданного в числовой либо символьной форме login - Вход в систему man команда Вывод страниц руководства, посвященных указанной команде. О команде man можно сказать достаточно много, но большинство ее параметров или используются только в какой-либо конкретной системе, или предназначены для опытных пользователей. Чтобы получить подробную информацию о команде man, воспользуйтесь командой man man. news параметры сообщения Вывод распространяемых внутри системы сообщений для пользователей. Эти сообщения обычно хранятся в каталоге /usr/news или /var/news и создаются администратором системы. pwd Вывод имени текущего каталога. ruptime параметры Вывод информации о состоянии всех машин, подключенных к локальной сети. Выводимая таблица содержит имя каждого узла, информацию о том, доступен ли узел, время, которое он уже доступен или недоступен, число пользователей на узле, а также среднюю нагрузку узла. Параметры -а Вывод списка всех пользователей, включая пользователей, неактивных более одного часа -I Сортировка выводимой информации по средней нагрузке узлов -р Обратный порядок сортировки -t Сортировка узлов по времени непрерывной работы -u Сортировка узлов по количеству пользователей rwho параметры Вывод списка пользователей, работающих в данный момент на машинах локальной сети. Параметр -а Вывод списка всех пользователей, включая пользователей, неактивных более одного часа sleep секунды Указывает системе подождать заданное число секунд, прежде чем выполнять следующую команду. Эта команда удобна при написании сценариев. time команда Запуск указанной команды с подсчетом времени, затраченного на ее выполнение (общее время, пользовательское время, системное время). Результат выводится в секундах. Улучшенная версия этой команды, timex, доступна во многих UNIX-системах. Пример $ time Is (Будет запущена команда Is, выводящая список файлов в текущем каталоге, после чего time выведет время, которое заняло выполнение команды Is.) who параметры файл Вывод списка пользователей, подключенных в настоящий момент к системе. Параметры ami Вывод информации о системном идентификаторе пользователя' -а Использовать все указанные ниже параметры -Ь Вывод даты и времени последней перезагрузки системы -d Вывод списка пользователей, отключенных из-за длительной неактивности -Н Вывод в начале списка заголовков столбцов -I Вывод списка линий, доступных для входа в систему -nn Вывод в одной строке информации об n пользователях -р Вывод списка процессов, запущенных процессом init и все еще активных -q Короткий формат; выводятся только системные идентификаторы пользователей -г Вывод уровня запуска системы -s Вывод системного идентификатора пользователя, терминала и времени неактивности (формат, используемый по умолчанию) -t Вывод времени, в которое последний раз при помощи команды clock настраивались системные часы -Т Вывод состояния каждого терминала: + Терминал доступен для вывода всем пользователям. - Терминал доступен для вывода только системному администратору. ? Ошибка при определении состояния терминала. -и Вывод времени неактивности для каждого терминала cat параметры файл(ы) Эта очень удобная команда позволяет: Объединить несколько файлов в один (при помощи оператора >). Присоединить файл к существующему (при помощи оператора »). Вывести содержимое файла на экран. Создать копию файла с новым именем (при помощи оператора >). Создать новый текстовый файл без использования текстового редактора. Примеры $ cat kevin.report (Содержимое файла kevin.report будет выведено на экран.) $ cat kevin.report kevin.memo (На экран будет выведено содержимое файла kevin.report, а затем, без паузы— содержимое файла kevin.memo.) $ cat kevin.report kevin.memo > kevin.words (Содержимое файлов kevin.report и kevin.memo будет объединено в новом файле kevin.words. Содержимое файла kevin.report будет расположено перед содержимым файла kevin.memo ) $ cat kevin.report.old > kevin.report.new (Будет создана копия файла kevin.report.old с именем kevin.report.new.) $ cat > kevin.report.1994 (Будет создан новый файл с именем kevin.report.1994, после чего вся информация, вводимая с клавиатуры, будет помещена в этот файл. Для завершения ввода нажмите Ctrl-D.) $ cat kevin.report » kevin.memo (Содержимое файла kevin.report будет дописано в конец файла kevin.memo.) cat - » kevin.report (Вся информация, вводимая с клавиатуры, будет дописана в конец файла kevin.report. Для завершения ввода нажмите Ctrl-D.) ВНИМАНИЕ Если вы плохо разобрались, как работает команда cat, это может привести к потере данных. Например, команда $ cat - > kevin.report удалит содержимое файла kevin.report, заменив его на то, что вы введете с клавиатуры. Параметры Используется вместо имени файла, позволяя дописать вводимую с клавиатуры информацию в конец существующего файла -s (System V) Подавление предупреждения при попытке вывести несуществующий файл -s (BSD) Запрет вывода пустых строк -v Вывод управляющих символов, кроме символов табуляции, протяжки страницы и перевода строки, в виде ''символ -ve To же, что и -v, но вместо символа перевода строки выводится знак доллара {!) -vt To же, что и -v, но вместо символа табуляции выводится л/. а вместо символа прогона страницы — "L -vet Вывод всех управляющих символов. Символ перевода строки выводится как знак доллара (f). прочие управляющие символы — в виде "символ Compress параметры имя_файла Архивация файла. Создаваемый архив будет иметь имя имя_ файла. Параметры -f Подавление вывода сообщений на экран -V Вывод информации о коэффициенте сжатия файла Родственные команды uncompress Деархивация архива pack Архивация одного или нескольких файлов unpack Деархивация архива zcat Вывод содержимого заархивированного файла Ср параметры исходный_файл конечный_файл Ср параметры файл каталог Ср параметры каталог1 каталог2 Копирование содержимого файла в файл с другим именем либо в другой каталог с сохранением существующего имени файла, всех файлов одного каталога в другой каталог. Примеры $ ср kevin.memo kevin.memo.old (Содержимое файла kevin.memo копируется в новый файл с именем kevin. memo. old ) $ ср kevin .п-.ет.с /usr/users/kevin/old:_j ur.k (Файл kevin.memo копируется в каталог /usr/users/kevin/ oldJunk ) ср -r /usr/users/kevin/cid jur.k /usr/users/kevin/ backup (Все файлы из каталога /usr/users/kevin/oldJunk копируются в каталог /usr/users/kevin/backup.) Параметры -i Запрос подтверждения при перезаписи существующих файлов -р Сохранение существующего режима доступа к • файлу. Этот параметр доступен не во всех системах -r Копирование целого каталога Crypt пароль параметры < файл > зашифрованный_файл Шифрация текстового файла с сохранением результата в новом файле. Эта команда позволяет также читать информацию из зашифрованного файла, но в этом обычно нет необходимости, поскольку текстовые редакторы, используемые в UNIX, как правило, имеют возможность работы с зашифрованными файлами. Шифрация файла производится для предотвращения несанкционированного доступа к содержащейся в нем информации. Вы должны ввести пароль как для шифрации файла, так и для чтения информации из зашифрованного файла Это можно сделать, задав пароль в командной строке или указав параметр -R и установив переменную окружения SCRYPTKEY. Рекомендуется использовать последний способ'. ПРИМЕЧАНИЕ В соответствии с законодательством США, команда crypt отсутствует в экспортируемых из США версиях UNIX. Пример $ crypt ра12.К1 < kevin.report > kevin.new.report Параметры -k Использовать пароль, заданный в переменной окружения SCRYPTKEY CSplit параметры аргументы Эта команда позволяет разделить большой файл на части соответственно его содержимому. При вызове команды csplit вы должны задать не размер части, а выражение, поиск которого будут осуществляться в файле. Имена файлов, полученных при разбиении исходного, будут начинаться с символов хх. Например, первая часть будет называться ххОО, вторая— хх01 и т. д. (Максимально допустимое число частей-100, сотая часть будет называться хх99.) Пример $ csplit -k gone_wind '/^Chapter/' f30[ (файл gone_wind будет разбит на 30 частей, каждая из которых будет начинаться со слова Chapter.} Параметры -\имя Использование строки имя вместо хх в названиях частей (например, если задан параметр -fthis, то первая часть будет называться thisOO) -k Запрет удаления уже созданных файлов при возникновении ошибки' -s Запрет подсчета числа символов в каждой части Аргументы /выражение/ Каждая следующая часть будет состоять из всех строк, начиная с текущей и заканчивая, первой строкой, следующая за которой содержит указанное регулярное выражение. Вы можете добавить к выражению суффикс -7 или +1. чтобы закончить часть на строку раньше или строку позже %выражение% То же самое, что и аргумент /выражение/. но текст, предшествующий первому вхождению указанного выражения, не будет включен в первую часть {n} Повторить предыдущий аргумент п раз. Если вы не задали п. команда расщепит файл только один раз (и, следовательно, образуются только две части) n Создать часть, начинающуюся с текущей строки и заканчивающуюся строкой с номером, на единицу меньшим числа п. Если после этого аргумента указан аргумент повторения {n}. то каждая следующая часть будет содержать n строк find каталог условия Поиск файлов. Конечно, это команда не просто ищет файл с заданным именем. Вы можете задать множество условий поиска (указывающих, когда файл был создан, когда к нему последний раз производился доступ, какие ссылки на файл существуют и т. ^.}. Ниже перечислены параметры, позволяющие вам задавать эти условия. Параметры -atime время Поиск файлов, доступ к которым последний раз производился (в зависимости от значения аргумента время} '. +d Более садней назад d Ровно с/дней назад -d Менее с/дней назад -clime время Поиск файлов, которые последний раз были изменены (в зависимости от значения аргумента время): +d Более d дней назад d Ровно с/дней назад -d Менее с/дней назад -ехес команда {} \; Исполнение указанной команды для каждого найденного файла с передачей команде имени файла в качестве аргумента -follow Следовать при поиске встречающимся ссылкам (как на файл, так и на каталог) -fstype тип Поиск файлов указанного типа -group группа Поиск файлов, принадлежащих указанной группе. Аргумент группа может задавать группу как по ее имени, так и по ее номеру -inum номер Поиск файла с заданным номером i-узла -links ссылки Поиск файла, имеющего (в зависимости от аргумента) ссылки: +n Более n ссылок n Ровно n ссылок -n Менее n ссылок -local Поиск файлов только на локальных файловых системах -mtime Поиск файлов, содержимое которых последний раз изменилось (в зависимости от аргумента время): +d Более с/дней назад d Ровно с/дней назад -d Менее сУдней назад -name имя Поиск файлов с указанным именем -newer файл Поиск файлов, содержимое которых изменилось после последнего изменения содержимого указанного файла -nogroup Поиск файлов, не принадлежащих ни одной из групп, указанных в файле /etc/group -nouser Поиск файлов, не принадлежащих ни одному из пользователей, указанных в файле /etc/passwd -ok команда {} \; Исполнение указанной команды для каждого найденного файла с передачей команде имени файла в качестве аргумента. Перед запуском команды у пользователя запрашивается подтверждение -perms режим Поиск файлов с заданным режимом доступа. Режим доступа может быть задан в числовой или символьной форме1 -print Вывод имен найденных файлов на экран. Этот параметр обязателен, если вы хотите увидеть результаты поиска -size размер Поиск файлов указанного размера^ -type тип Поиск файлов указанного типа. Аргумент тип может принимать следующие значения: Ь (блочное устройство, от block}, с (символь ное устройство, от character}, d (каталог, от directory}, f (обычный файл, от file}. I (ссылка, от link} и р (поток, от pipe) -user пользователь Поиск файлов, принадлежащих пользователю, указанному при по мощи номера или системного идентификатора -xdev Поиск файлов, находящихся на той же файловой системе, что и указанный каталог. Этот параметр доступен только в BSD-системах Логические операторы Условия могут связываться между собой при помощи следующих логических операторов: -а И -о ИЛИ \! НЕ \(...\) Группа условий Is параметры образец Вывод списка файлов в каталоге. Если каталог не указан, используется текущий каталог. Эта команда является одновременно и одной из самых простых (что может быть проще, чем вывод списка файлов в каталоге?), и одной из самых сложных (вы можете использовать 23 параметра!) команд UNIX. Конечно, не все параметры этой команды применяются одинаково часто: вы будете постоянно использовать -F и -I, но вряд ли найдете смысл в использовании -и или -с. Примеры $ is data figures misc newdata personnel expenses financial (Эта команда выводит список файлов и подкаталогов текущего каталога.) $ Is newdata newdata (Результат выполнения этой команды подтверждает, что файл newdata содержится в текущем каталоге.) $ Is god god not found (Результат выполнения этой команды показывает, что текущий каталог не содержит указанного файла'.) pack параметры файл Архивация файла, уменьшающая его размер до двух раз. Исходный файл заменяется на новый файл, имя которого получается добавлением к имени исходного файла суффикса .z. Например, при архивации файла text он будет удален, и в том же каталоге появится файл text.z. Деархивация файлов, упакованных командой pack, осуществляется командой unpack. Параметры -f Архивировать файл, даже если недостаточно места на диске для его сохранения startx - Сценарий для запуска Х-сервера xlock параметры Вывод заставки. Для продолжения работы пользователю необходимо ввести свой пароль. Примеры xlock -mode bouboule (Эта команда запускает заставку «Летящие точки».) xlock -mode world (Эта команда запускает заставку «Вращение Земли».) Параметры -batchcourrt n Аргумент n имеет разный смысл для разных заставок. Как правило, он обозначает количество объектов на экране; например, в заставке ant («Муравей») этот аргумент задает количество муравьев -Ьд цвет Установка указанного цвета в качестве цвета фона -delay п Установка задержки при выводе изображений, равной п микросекунд. Эффект зависит от конкретной заставки -display система:номер_ сервера Использование Х-сервера с заданным номером (обычно—О) на указанной системе -fg цвет Установка указанного цвета в качестве основного -font шрифт Использование указанного шрифта -lockdelay п Требовать ввод пароля только в том случае, если после запуска xlock прошло более п секунд -mode заставка Использование указанной заставки. Возможные значения аргумента заставка: ant, bat, blank, blot, bouboule, bounce, braid, bug, clock, demon, eyes, flag, flame, forest, galaxy,geometry, rav, helix, hop, hyper, image, kaieid, laser, life, life-Id, life3d, lissie, marquee, maze, mountain, nose, petal, puzzle, pyro, qix, random, rock, rotor, shape, slip, sphere, spiral, spline, swarm, swirl, triangle, wator, world, worm Xrefresh параметры Перерисовка всего экрана или его части. Как ни странно, эта команда имеет достаточно много параметров. Примеры xrefresh (Эта команда вызывает перерисовку экрана.) xrefresh -solid orange (Эта команда заливает экран оранжевым цветом, после чего экран перерисовывается.) Параметры -black Выключение электронной пушки (экран становится черным), затем перерисовка экрана -display система:номер_сервера Использование Х-сервера с заданным номером (обычно - 0) на указанной системе -none Перерисовка всех окон без интересных эффектов; также выполняется, если не указаны никакие параметры -root Заливка экрана цветом фона главного окна: затем перерисовка -solid цвет Заливка экрана указанным цветом, затем перерисовка -white Заливка экрана белым цветом, затем перерисовка at параметры время [дата] инкремент at параметры [идентификатор] Команда at позволяет выполнить заданные вами действия в указанное время в указанный день. Например, вы можете распечатать несколько больших документов на лазерном принтере в полночь, чтобы не занимать принтер на несколько часов днем, когда он может понадобиться другим людям. При использовании команды at вам не понадобится находиться на работе в полночь, чтобы отправить документы на печать (но не забудьте в конце рабочего дня проверить, есть ли в принтере бумага!). Команда at имеет два различных набора параметров. Первый из них позволяет вам поместить задание в очередь и указать время и дату, когда оно должно быть исполнено. Второй набор параметров предназначен для управления заданиями, уже находящимися в очереди. Для помещения задания в очередь вам нужно после ввода команды at с параметрами ввести команды, которые должны быть исполнены. Завершив ввод всего задания, нажмите Ctrl-D. В указанное время задание будет выполнено. Если задание выведет какую-либо информацию на стандартный вывод, она будет отправлена вам по электронной почте. ПРИМЕЧАНИЕ Несмотря на то что команда at предназначена, в первую очередь, для использования системным администратором, она также может использоваться и обычными пользователями. Однако пользователям может быть запрещен доступ к этой команде. Если вы увидите сообщение об ошибке (at: you are not authorized to run at. Sorry.), то обратитесь к администратору системы. Примеры $ at llam Is Ctrl-D (at считывает задание со стандартного ввода. Вы должны ввести команды с клавиатуры и завершить ввод задания, нажав Ctrl-D.) $ at llam nov I $ at llam nov 1, 1998 $ at llam sun $ at now + 2 weeks $ at [параметры] [идентификатор] ПРИМЕЧАНИЕ При помещении задания в очередь его идентификатор выводится системой на экран. Параметры -f файл Чтение задания из указанного файла, а не со стандартного ввода. Этот параметр доступен не во всех системах -т Уведомление пользователя по завершении выполнения задания время Время, в которое должно быть выполнено задание. Если явно не указано обратное (при помощи суффикса am или рт), то используется 24-часовой формат времени midnight, noon, now Эти параметры обозначают определенные моменты времени: midnight — полночь, noon — полдень; если указан параметр now (сейчас), то должен быть указан инкремент дата Дата; как правило, используется следующий формат: месяц, день, год. Аргумент месяц дол-жен представлять собой стандартное трехбуквенное сокращение английского названия меся^ (например, Jan или Nov); аргумент год можд¦ быть опущен день День недели, в который должно быть выполнено задание. Параметр день может представлять собой либо полное (Sunday), либо сокращенное (Sun) английское название дня недели today, tomorrow Эти параметры обозначают определенные дни: today — сегодня, tomorrow — завтра -I Вывод списка заданий в очереди -r Удаление задания из очереди инкремент Числовое значение, задающее время выполнения задания относительно текущей даты и времени. Параметр инкремент также должен содержать одну из следующих единиц измерения: minute (^минута), hour (час), day (день), week (неделя), month (месяц), year (год). В приведенном выше примере параметр now + 2 weeks означает, что задание будет выполнено ровно через две недели после постановки в очередь tty параметры Вывод информации о терминале, соединенном со стандартным вводом. Эта команда часто используется в сценариях для проверки того, что сценарий вызывается с терминала. Параметры -а Вывод всей доступной информации. Этот параметр имеется не во всех системах -s Вывод только кода возврата: 0 (терминал), 1 (не терминал) или 2 37. Сеть в UNIX Сеть в UNIX представляет собой совокупность всех настроек и параметров. Предоставляется возможности настройки протоколов и безопасности. Об особенностях построения можно узнать в главе 60. 38. ОС MS-DOS Одно оз важных качеств 86-DOS—легкая переносимость программ из среды СР/М-80. Она к тому же заимствовала многие команды СР/М, такие как REM, DIR, TYPE. Значительно переработанная версия 86-DOS получила название MS-DOS 1.0. В августе 1981 г. начались поставки компьютеров IВМ РС с этой ОС – РС-DOS 1.0. MS-DOS: MS-DOS 1.0. позволяла более совершенно управлять дисковыми устройствами, в отличии от СР/М, но так как в то время ПК выпускались только с дисководами для 160-килобайтных дискет, то эта ОС поддерживала только такие носители. Многие зарубежные компьютерные фирмы не принимали эту ОС, из-за работы в ней только с дискетами 160 Кбайт. Но в мае 1982 года появилась ОС MS-DOS 1.25, которая могла работать с дискетами объемом 320 Кбайт. После этого компьютерные фирмы стали использовать новую версию MS-DOS и выпускать компьютеры уже с этой ОС. Причем лицензию на продажу этой ОС имела в то время еще мало известная фирма Microsoft. MS-DOS 2.0 (март 1983 г) поддерживала 360 Кбайтовые дискеты и 10 Мбайтовые жесткие диски (для нового компьютера IBM PC XT), и давала возможность рассортировывать файлы по каталогам. В это время начался бум производства IBM совместимых компьютеров от фирм HP, TANDY, DEC и др. Базовой ОС для них стала MS-DOS 2.11 – наиболее стабильная ОС из второго поколения MS-DOS. Это было на руку фирме Microsoft, так как только она имела лицензию на продажу самой популярной в мире ОС. MS-DOS 3.0 (август 1984 г.) была ориентирована на новую модель компьютеров IBM — IBM РС АТ—первый компьютер, основанный на микропроцессоре Intel 80286, с 5.25-дюймовым дисководом высокой плотности (для дискет 1,2 Мбайт) и 20-мегабайтным жестким диском. MS-DOS 3.2 (декабрь 1985 г.) поддерживала 3-дюймовые 720-килобайтные дискеты и логические разделы жестких дисков объемом до 32 Мбайт. Система продолжала развиваться, в нее добавлялись все новые и новые возможности поддержки национальных изображений валюты и времени, таблиц символов и раскладок клавиатуры. Росла и популярность платформы IBM PC, больше становилось производителей IBM PC-совместимых машин, а количество разработчиков ПО для IBM PC превзошли все ожидания. В 1986 г. уже появился IBM РС – совместимый компьютер фирмы Compaq, основанный на микропроцессоре 80386. В следующем году и у IBM появился компьютер с микропроцессором 80386 — PS/2 Model 80. MS-DOS не была способна в полной мере задействовать возможности новых компьютеров. Так, если компьютеры с микропроцессором 8086 выпускались не более чем с 640 КБайт оперативной памяти, то на 286-й компьютер можно было установить до 16 Мбайт памяти, а на 386-й — до 4 Гбайт. MS-DOS же не могла использовать более 640 Кбайт памяти. Однако растущий рынок требовал интенсивного производства IBM PC-совместимых машин, еще более интенсивного совершенствования MS-DOS и более интенсивного выпуска профессиональных приложений для IBM PC и MS-DOS. Одним да главных требований была совместимость: все новые версии MS-DOS обязательны были успешно работать с программами, выпущенными для более ранних версий MS-DOS. Поэтому в MS-DOS 3.3 (апрель 1987 г.) не было ничего принципиально нового, зато все старое было сильно усовершенствовано. В частности, версия 3.3 поддерживала новые 3-дюймовые 1,44-мегабайтные дискеты. MS-DOS 3,3 стала важнейшим этапом в истории развития MS-DOS. Тем временем IBM и Microsoft работали над OS/2 — новой ОС для IBM PC-совместимых компьютеров на микропроцессорах 80286 и 80386. OS/2 должна была предоставлять специально изготовленным для нее программам все возможности новых микропроцессоров и значительно больше памяти, чем MS-DOS. В отличие от MS-DOS, позволяющей работать только с одной программой, OS/2 позволяла работать в многозадачном режиме. Предполагалось, что эта новая ОС удовлетворить запросы производителей ПК и вытеснит старую систему MS-DOS. В ноябре 1987 г. начались поставки OS/2. Объемы продаж оказались весьма умеренными по сравнению с тем, на что рассчитывали IBM и Microsoft. Программные продукты для новой ОС OS/2 почти не разрабатывались и многих производителей устраивала старая система MS-DOS, которая вполне удовлетворяла их потребностям. Поэтому фирма Microsoft пошла по пути дальнейшего развития MS-DOS. Одним из самых главных недостатков MS-DOS был низкий уровень интерфейса. Так, если пользователю нужно было загрузить программу или произвести копирование, то ему надо было набирать команды на клавиатуре. Как ни удивительно, миллионам пользователей IBM PC система MS-DOS пришлась по душе. 39. Особенности реализации MS-DOS, как составной части UNIX Первые ПК 70-х гг. были 8-разрядными. В отличие от профессиональных компьютеров, работавших с UNIX, они использовали СР/М (Control Program for Microcomputers) фирмы Digital Research — первую ОС, работавшую на ПК от различных производителей. Автором СР/М был президент Digital Research Гэри Килдэл. Другим программным средством, работавшим практически на всех существовавших тогда ПК, был транслятор языка программирования Basic, выпущенный Microsoft, основанной ныне легендарными Биллом Гейтсом и Полом Алленом. К 1980 г. Microsoft была уже широко известна на рынке ПО. Правда, когда в октябре 1980 г. IBM обратилась к программистским фирмам с предложением принять участие в проекте создания нового ПК, Microsoft не могла предложить IBM собственной ОС. Однако Digital Research располагала только ОС версии СР/М-80 для 8-разрядных компьютеров, а IBM решила производить новый компьютер на базе 16-разрядного микропроцессора Intel 8088. Пока Digital Research работала над 16-разрядной СР/М-86, Microsoft приобрела права на 16-разрядйую систему 86-DOS у компании Seattle Computer Products. 40. Реализация ядра в MS-DOS Ядро MS DOS реализирует систему MS DOS, это специальная программа, поставляемая фирмой Microsoft, которая включает набор аппаратно независимых сервисных программ называемые системными функциями к ним относятся: 1. Управление файлами и записями. 2. Управление памятью. 3. Символьно ориентируют устройство ввода/вывода. 4. Порождение других задач. 5. Доступ к часам реального времени. Ядро MS DOS считывается в память при инициализации системы из файла MSDOS.SYS, находящегося на диске начальной загрузки, этот файл отличается атрибутами скрытый и системный. |