Читать книгу 📗 "UNIX — универсальная среда программирования - Керниган Брайан Уилсон"
Если ваш процесс требует много процессорного времени, вы можете облегчить участь тех, кто работает вместе с вами, запустив его с приоритетом ниже обычного. Это можно сделать с помощью программы
nice$ nice <i>большая-команда</i> &Команда
nohupniceНаконец, вы можете дать указание системе запустить ваш процесс в необычное время, скажем, утром, когда все нормальные люди снят, а не работают на машине. Команда называется
at(1)$ atвремя любые командыкакие угодно...ctl-d$Это пример типичного использования команды
at$ at 3am < файл$Время можно задавать исходя из 24-часового цикла как
2130930pmОдним из достоинств системы UNIX является то, что вы можете легко адаптировать ее по своему вкусу либо в соответствии с местными традициями программистского мира. Например, как отмечалось выше, существуют разные стандарты для символов стирания и удаления; по умолчанию используются
#@$ stty erase е kill kгде
'e''k'На помощь здесь приходит
shell.profile.profileБольшинство пользователей первым делом помещают в свой файл
.profile$ stty erase ←Мы использовали ←, чтобы сделать символ стирания видимым, но вы должны поместить в
.profilestty^xctl-x$ stty erase '^h'поскольку ctl-h и есть шаг назад. (Символ
'^'|stty-tabsstty erase '^h' -tabsЕсли у вас есть желание посмотреть, как загружена система, при входе в нее добавьте для подсчета пользователей конвейер
who | wc -lЕсли имеется служба новостей, можно добавить команду
newsfortune/usr/games/fortuneСпустя некоторое время вы обнаружите, что период входа в систему существенно возрос, и выберете для себя оптимальный вариант.
Некоторыми возможностями системы можно управлять с помощью так называемых shell-переменных, значения которых пользователь может и посмотреть, и установить. Например, строка-приглашение, обозначаемая ранее как
$PS1PS1='Yes, dear ?'Кавычки необходимы, поскольку в строке-приглашении есть пробелы, а в этой операции пробелы перед и после
"="Интерпретатор также выделяет переменные
НОМЕMAILНОМЕ.profileMAILMAIL=/usr/spool/mail/you(В вашей системе файл для почты может быть другим; распространенным является и имя
/usr/mail/youНаиболее полезной переменной интерпретатора
shell/bin/usr/binPATH.profile/usr/gamesPATH=.:/bin:/usr/bin:/usr/games/Синтаксис может показаться вам несколько странным: последовательность имен каталогов разделяется двоеточием. Напоминаем, что обозначает текущий каталог. Можно опустить имя
'.'PATHДругой способ установить значение
PATHPATH=$PATH:/usr/gamesМожно получить значение любой переменной интерпретатора, предварив ее имя символом
$$PATHPATHecho$ echo PATH is $PATH