UNIX — универсальная среда программирования
UNIX — универсальная среда программирования читать книгу онлайн
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями
shell.
Для программистов-пользователей операционной системы UNIX.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Если ваш процесс требует много процессорного времени, вы можете облегчить участь тех, кто работает вместе с вами, запустив его с приоритетом ниже обычного. Это можно сделать с помощью программы
nice
$ nice <i>большая-команда</i> &
Команда
nohup
nice
Наконец, вы можете дать указание системе запустить ваш процесс в необычное время, скажем, утром, когда все нормальные люди снят, а не работают на машине. Команда называется
at(1)
$ at
время любые команды
какие угодно...
ctl-d
$
Это пример типичного использования команды
at
$ at 3am < файл
$
Время можно задавать исходя из 24-часового цикла как
2130
930pm
Одним из достоинств системы UNIX является то, что вы можете легко адаптировать ее по своему вкусу либо в соответствии с местными традициями программистского мира. Например, как отмечалось выше, существуют разные стандарты для символов стирания и удаления; по умолчанию используются
#
@
$ stty erase е kill k
где
'e'
'k'
На помощь здесь приходит
shell
.profile
.profile
Большинство пользователей первым делом помещают в свой файл
.profile
$ stty erase ←
Мы использовали ←, чтобы сделать символ стирания видимым, но вы должны поместить в
.profile
stty
^x
ctl-x
$ stty erase '^h'
поскольку ctl-h и есть шаг назад. (Символ
'^'
|
stty
-tabs
stty erase '^h' -tabs
Если у вас есть желание посмотреть, как загружена система, при входе в нее добавьте для подсчета пользователей конвейер
who | wc -l
Если имеется служба новостей, можно добавить команду
news
fortune
/usr/games/fortune
Спустя некоторое время вы обнаружите, что период входа в систему существенно возрос, и выберете для себя оптимальный вариант.
Некоторыми возможностями системы можно управлять с помощью так называемых shell-переменных, значения которых пользователь может и посмотреть, и установить. Например, строка-приглашение, обозначаемая ранее как
$
PS1
PS1='Yes, dear ?'
Кавычки необходимы, поскольку в строке-приглашении есть пробелы, а в этой операции пробелы перед и после
"="
Интерпретатор также выделяет переменные
НОМЕ
MAIL
НОМЕ
.profile
MAIL
MAIL=/usr/spool/mail/you
(В вашей системе файл для почты может быть другим; распространенным является и имя
/usr/mail/you
Наиболее полезной переменной интерпретатора
shell
/bin
/usr/bin
PATH
.profile
/usr/games
PATH=.:/bin:/usr/bin:/usr/games/
Синтаксис может показаться вам несколько странным: последовательность имен каталогов разделяется двоеточием. Напоминаем, что обозначает текущий каталог. Можно опустить имя
'.'
PATH
Другой способ установить значение
PATH
PATH=$PATH:/usr/games
Можно получить значение любой переменной интерпретатора, предварив ее имя символом
$
$PATH
PATH
echo
$ echo PATH is $PATH