Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Операционная система FreeBSD. Освой самостоятельно.


Служба Рассылок Subscribe.Ru проекта Citycat.Ru
Здравствуйте

"Операционная система FreeBSD. Освой самостоятельно."

Выпуск 27 от 22.05.2001


Вашему вниманию предлагается рассылка, посвящённая языку Perl, сайта http://perl.bos.ru Здесь вы не только получите "сухую теорию", но и действительно научитесь на примерах программировать на Perl. Страничка рассылки http://subscribe.ru/catalog/comp.soft.prog.nicksperl/

Интерактивные интерфейсы пользователей

Командные интерпретаторы
Базовые возможности командных интерпретаторов
Перенаправление ввода/вывода и организация конвейера

Командные интерпретаторы

Командный интерпретатор (по-другому - оболочка, shell) в операционных системах семейства UNIX предназначен для выполнения в основном следующих функций:

· предоставление пользователю интерактивного интерфейса для общения с системой (другими словами: обработка и выполнение пользовательских команд)

· выполнение файлов, содержащих команды интерпретатора (командные файлы);

В системах UNIX (и во FreeBSD естественно) имеются несколько различных командных интерпретаторов. Наиболее популярные из них:

· sh - Bourne shell.

· csh - С-shell.

· ksh - Korn-shell.

· bash - Bourne Again shell.

Как правило, все shell находятся в каталоге /bin. Но это не обязательно. Вы помните, что когда мы рассматривали вопросы установки packages, то установили интерпретатор bash в каталог /usr/local/bin. Все установленные в системе оболочки перечислены в файле /etc/shells.

Наберите команду cat /etc/shells, и вы увидите примерно следующее:

/bin/sh

/bin/csh

/usr/local/bin/bash

Если строка в файле, в котором записаны команды интерпретатора, начинается на # , то эта строка - комментарий. Это не относится к самой первой строке файла. Она должна содержать запись, типа #!/bin/sh. Это указывает, что для выполнения команд будет вызван интерпретатор /bin/sh.

Далее рассмотрим возможности и языки командных интерпретаторов.

Базовые возможности командных интерпретаторов

Для определенности, в данной главе будем рассматривать интерпретатор bash. Если вам больше нравится работать и программировать в другой оболочке, можете в принципе пропустить изучение этой главы курса. Но замечу, что базовые возможности разных оболочек примерно одинаковые.

Переменные и подстановка значений
Все переменные в языке shell - текстовые. Их имена должны начинаться с буквы и могут состоять из латинских букв, цифр и знака подчеркивания (_). Bash поддерживает как простые переменные, так и массивы. Для установки переменной используется оператор =:

Для простых переменных

<имя>=<значение>

Для массивов

<имя>[индекс]=<значение>, либо

<имя>=(<значение1> <значение2> : <значениеN>), либо

<имя>=([индекс1]=<значение1> [индекс2]=<значение2> : [индексN]=<значениеN>)

Чтобы воспользоваться значением переменной, надо перед ней поставить символ $. Можно также заключить переменную в фигурные скобки {}.

Например:

# hour=14

# echo $hour

14

# hourth=24

# echo $hourth

24

# echo ${hour}th

14th

Двойные кавычки ( " ), одиночные кавычки ( ' ), обратные кавычки ( )
Кавычки могут использоваться для создания строк. Например:

"Hello, world!"

'Good bye'

Кроме того, кавычки могут отменять действие следующих специальных символов:

~ ! # $ % ^ & * ( ) - + = \ | ; ' " , . < > ?

Значения этих специальных символов в строках, заключенных в одиночные кавычки '<строка>' отменяются. В строках, заключенных в двойные кавычки "<строка>" также отменяются значения специальных символов, за исключением ! $ \ {. Обратная наклонная черта \ также отменяет действие специальных символов.

Не путайте одиночные и обратные кавычки. Пример:

# dat=date (здесь стоят обратные кавычки)

# echo $dat

Mon Jun 05 14:17:20 2000



# dat='date' (здесь стоят одиночные кавычки)

# echo $dat

date

Конвейеры и списки

Несколько команд могут быть объединены с помощью символов канала |. В этом случае они образуют конвейер.

<команда1> | <команда2> | <команда3> :

Символ канала | соединяет стандартный вывод команды <команда1> со стандартным вводом команды <команда2> и т.д.

Каждая команда выполняется в отдельном процессе, а состояние выхода последней команды будет являться состоянием выхода конвейера.

Примеры:

# ps -ax | more

# ls -l | grep "profile"

Кроме конвейеров, команды могут объединяться в списки. Даже сами конвейеры могут быть объединены в списки. Это делается с помощью команд ; && ||.

Команда ; просто последовательно выполняет оду команду или конвейер за другой (другим):

# make depend ; make ; make install

# cat /etc/passwd | grep root ; echo "User root"

Для того, чтобы управлять выполнением следующей команды в списке в зависимости от состояния выхода предыдущей, используются команды && (логическое И) и || (логическое ИЛИ).

Примеры:

# mkdir mydir && cd mydir

В этом случае команда cd mydir будет выполнена только в том случае, если успешно (состояние выхода равно 0) завершится команда mkdir mydir.

# cat /home/bob/.profile || echo "Нет файла .profile"

В этом случае либо на экран будет выведено содержимое файла /home/bob/.profile, либо сообщение о том, что такого файла нет.

Перенаправление ввода-вывода

Команды и списки могут содержать операторы < и > - перенаправления стандартного ввода и стандартного вывода соответственно.

Например:

# ps -ax > /etc/proc

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

Для то, чтобы не уничтожать содержимое файла, а добавить новую информацию (в конец файла), нужно использовать оператор >>:

# ps -ax >> /etc/proc

Кроме того, существует стандартный вывод ошибок. Он имеет дескриптор 2. Т.е. если мы не хотим получать сообщения об ошибках на стандартный вывод, то можно использовать перенаправление таким образом:

# cat /etc/proc 2>err.log (ошибки, если возникнут, будут выведены в файл err.log) либо

# cat /etc/proc 2>/dev/null (ошибки будут выведены <никуда>, их посмотреть будет невозможно).

Ввод перенаправляется аналогичным образом. Например, команда

# mail bob@com.com < /home/mail.txt

отправит содержимое файла /home/mail.txt по адресу bob@com.com.

Оператор << означает, что ввод для данной команды находится <ЗДЕСЬ>. Пример:

# mail bob@com.com << end

Hello, Bob!

end

По этой команде в тело письма войдет все, что встретится до указанного нами ограничителя ввода end.

 
Обязательно посетите наш сервер в интернет - http://www.anriintern.com/ 
Сайт этой рассылки http://www.anriintern.com/computer/freebsd/
На форуме http://www.anriintern.com/forum/ можно обсудить все возникающие у Вас вопросы.

Юмор

 

Вопросы.

Примите участие в формировании нашей рассылки. Задавайте свои вопросы, отвечайте на вопросы других подписчиков, поделитесь опытом, расскажите, что Вы знаете. Если Вы знаете анекдоты или забавные истории относящиеся к FreeBSD то поделитесь и ими. Спасибо всем, кто ответил на часть вопросов предыдущей рассылки. Те, кто хочет узнать предыдущие вопросы и ответы на них посетите наш форум - http://www.anriintern.com/forum/
 
Вопрос:
1. Как настроить анонимный Ftp сервер ?
2. Если делать для пользователей, то как настроить строго определенный каталог для каждого пользователя?
Ответить:
 
Вопрос:
Как можно достигнуть ограничения на размер mailbox с помощью локального мейлера (mail.local)?
Ответить:
 
Выберите действие:
Ваше имя: 
Ваш e-mail:
Ваш вопрос, сообщение, опыт или юмор напишите сюда:
 
 
Подпишитесь на наши рассылки на Subscribe.Ru
Английский язык в пословицах и поговорках
Сленг, афоризмы и разговорная речь в английском языке.
Английский язык через британские мифы, легенды и сказки.
Топики для изучающих английский язык.
Альтернативные методы изучения иностранных языков
Все об иностранных языках
Европейское страноведение
Современные английские термины из области электроники
Операционная система FreeBSD. Освой самостоятельно.
Начинаем изучать С++
Путешествие в прошлое (Исторические рассказы)
Маркетинг. Бизнес в сетях. Бесплатный интернет курс.
 

Новости сервера бесплатного дистанционного образования:

21/05/2001 Начал работать курс лекций по Windows, Word и Excel
26/04/2001 Начал работать курс лекций - Управление офисом
26/04/2001 Вышла бета-версия программы English Tutor 1.2
25/04/2001 Новая серия русских кроссвордов, основанная на словаре Даля
16/04/2001 Начал работать курс лекций Гипертекст - симптом перелома эпохи
16/04/2001 Начал работать курс лекций - Концепции современного естествознания
16/04/2001 Начал работать Интернет справочник по грамматике Американского варианта Английского языка.
15/04/2001 Вышел в свет релиз 1.2.0 программы запоминания иностранных слов EZ Memo Booster
27/03/2001 Японские кроссворды на сервере дистанционного образования
16/03/2001 Курс латинского языка
16/03/2001 Полезные советы по работе с компьютером
16/03/2001 Другие берега, новый сайт об отдыхе, работе, обучении и жизни за рубежом!
16/03/2001 Клавиатурный тренажёр для быстрого освоения десятипальцевого метода слепой печати
12/03/2001 Выложены новые словари для EZ Memo Booster
26/02/2001 Программа изучения неправильных глаголов английского языка
 

Наши предложения:

 
Дистанционное образование в Великобритании по Интернету на Русском языке.

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

 

Предложение к преподавателям и специалистам в разных областях науки и техники.

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

 
Предложение к владельцам сайтов.

Сервер дистанционного образования "Anri education systems" приглашает все сайты имеющие отношение к любым видам обучения к объединению. Вместе мы сможем добиться гораздо больших результатов. Об этом говорит вся история человечества. Посмотрите на нее - когда люди объединялись для достижения определенных целей, то они добивались их и создавали великие империи. У нас есть средства (как физические, так и материальные), у Вас есть знания и информация. Так давайте объединимся и создадим империю образования! Мы считаем, что надо больше делать, чем говорить, по этому - к делу. Подробнее здесь.
 
Дизайн, программирование.

Мы можем создать именно то, что Вы хотите, более того, обладая высоко квалифицированным персоналом и современным оборудованием, опираясь на самые передовые технологии, мы создадим для Вас по настоящему интерактивный и автоматизированный сайт. Мы занимаемся разработкой и созданием Web-страниц и Web-серверов разных стилей и содержания. Мы можем выработать концепцию и создать для Вас Web-сайт - Ваше представительство или виртуальный офис в Интернет. Мы предоставляем весь спектр услуг, связанный с созданием, размещением, рекламой и дальнейшей поддержкой, созданного WEB-сайта. Узнать больше можно здесь.

Сервер дистанционного образования

Работа для всех!

Web-design студия Kety

Конкурс с призами



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться Relayed by Corbina
Рейтингуется SpyLog

В избранное