Денис Колисниченко - Linux: Полное руководство

Все авторские права соблюдены. Напишите нам, если Вы не согласны.
Описание книги "Linux: Полное руководство"
Описание и краткое содержание "Linux: Полное руководство" читать бесплатно онлайн.
Данная книга представляет собой великолепное руководство по Linux, позволяющее получить наиболее полное представление об этой операционной системе. Книга состоит из трех частей, каждая из которых раскрывает один из трех основных аспектов работы с Linux: Linux для пользователя, сетевые технологии Linux (и методика настройки Linux-сервера), программирование Linux. В книге охвачен очень широкий круг вопросов, начиная с установки и использования Linux «в обычной жизни» (офисные пакеты, игры, видео, Интернет), и заканчивая описанием внутренних процессов Linux, секретами и трюками настройки, особенностями программирования под Linux, созданием сетевых приложений, оптимизацией ядра и др.
Изложение материала ведется в основном на базе дистрибутивов Fedora Cora (Red Hat) и Mandriva (Mandrake). Однако не оставлены без внимания и другие дистрибутивы SuSe, Slackware, Gentoo, Alt Linux, Knоppix. Дается их сравнительное описание, a по ходу изложения всего материала указываются их особенности.
Книга написана известными специалистами и консультантами по использованию Linux, авторами многих статей и книг по Linux, заслуживших свое признание в самых широких Linux-кругах. Если вы желаете разобраться в особенностях Linux и познать ее внутренний мир, эта книга — ваш лучший выбор.
# Это другая переменная.
^D
$
Комбинация клавиш Ctrl+D завершает ввод и закрывает файл, и вы снова видите приглашение оболочки.
Получившийся файл сценария нужно сделать исполняемым (п.2.1.4):
$ chmod а+x myscript
Теперь осталось определить переменную hello и запустить сценарий:
$ hello="Hello from local"
$ echo $hello
Hello from local
$ ./myscript
Env variable: Hello from environment!
Local variable:
$
Переменные окруженияКогда оболочка начинает работу, она устанавливает для себя несколько переменных окружения. Имена их стандартны. Программы и сценарии могут запросить их значения вместо того, чтобы пытаться выяснить нужную им информацию самостоятельно.
Несколько таких переменных перечислены в таблице 3.2.
Переменные окружения bash Таблица 3.2
Имя Назначение BASH_VERSION Версия оболочки USER Имя. под которым вы зарегистрировались UID, EUID Реальный и эффективный userID HOME Путь к вашему домашнему каталогу HOSTNAME Имя вашего компьютера HOSTTYPE Тип процессора (i386 или другой) OSTYPE Операционная система (linux-gnu) HISTFILE, HISTSIZE Расположение и размер файла истории команд LANG Язык текущего сеанса LINES, COLUMNS Число строк и столбцов на экране текстовой консоли PS1, PS2, PS3, PS4 Переменные, определяющие вид приглашения оболочки PATH Порядок просмотра каталогов в поисках исполняемого файла с заданным вами именем, когда полный путь к нему не указанЧтобы просмотреть значения всех переменных текущего сеанса, как определенных вами, так и переменных окружения, введите команду set.
Обратите внимание на переменную PATH: среди каталогов, в которых bash ищет исполняемый файл, нет текущего. Поэтому в предыдущем примере, если бы вы попытались исполнить сценарий командой myscript, оболочка ответила бы «Command not found». Нужно было указать путь к исполняемому файлу, и мы указали его относительным способом, считая от текущего каталога: ./myscript.
Переменная PS1 у меня выглядит так: [\u@\h \W]\$. Это значит, что приглашение оболочки у меня формируется из регистрационного имени (username), имени машины (hostname), текущего каталога (working dir) и символа $. Я могу и изменить его:
[[email protected] ~]$ pssave=$PS1 # сохраняю старое значение
[den@dhsilabs PS1="\W>"
~> # новое приглашение состоит из имени текущего каталога и символа >
-> cd My* MyDownloads>
MyDownloads > PS1=$pssave # поиграли, и хватит
[den@dhsilabs MyDownloads]$
Удалить переменную можно командой unset <имя>.
Быстрая смена каталогаПеременная CDPATH задает список каталогов, в которых будет происходить поиск нужного подкаталога при смене каталога (использовании команды cd). Проще всего пояснить, как работает CDPATH, на примере. Пусть в моем каталоге /home/denis/books/linux-server есть подкаталоги chapter1 ... chapter20. Если мне нужно перейти в подкаталог chapter2, то я могу сэкономить на наборе имени его родительского каталога, внеся это имя в переменную CDPATH:
$ export CDPATH=:.:/home/denis/books/linux-server
Теперь по команде cd chapter2 я попаду в каталог /home/denis/books/linux-server/chapter2 из любого места файловой системы, если подкаталога chapter2 нет в текущем каталоге.
Настройка командной строки. Утилита tputНаверное, многим хочется, чтобы их компьютер не был похож на компьютер коллеги за соседним столом. Кто-то меняет темы, кто-то — обои. Мы попробуем изменить командную строку текстовой консоли. Рассмотрим сценарий, выводящий текущий каталог в правом верхнем углу — обычно этот угол при выводе текста остается свободным. Для чего? А просто так — чтобы было не как у всех.
Для манипуляции с курсором и цветом букв и фона используется утилита tput. В п.2.1.4 вы узнали, как применить ее для восстановления «сбитой» консоли, а сейчас посмотрите на то, что она умеет еще. А потом прочитайте man-страницу.
Листинг 3.1. Демонстрация возможностей утилиты tput
#!/bin/bash
function prompt_command {
# сохраняем текущую позицию курсора
tput sc
# вычисляем длину, необходимую для вывода текущего каталога
# текущий каталог можно узнать с помощью команды pwd
let backwash=$(tput cols)-$(echo $(pwd) | wc -m)-2
# позиционируем курсор Y=0, X=длина
tput cup 0 ${backwash}
# установка цвета букв, начертание — жирное
tput setaf 4 ; tput bold
# выводим полный путь в квадратных скобках
echo -n " ["
# устанавливаем цвет
tput setaf 6
# отображаем путь
echo -n "$(pwd)"
# устанавливаем цвет для закрывающей скобки
tput setaf 4 ; tput bold
# отображаем ]
echo -n "]"
# возвращаем курсор в исходную позицию
tput rc
}
PROMРТ_СОММAND=prompt_соmmand
GREEN="\[$(tput setaf 2 ; tput bold)\]"
WHITE="\[$(tput setaf 7 ; tput bold)\]"
NO_COLOUR="\[$(tput sgr0)\]"
case $TERM in
xterm*|rxvt*)
TITLEBAR='\[\033]0;\u@\h \007\]'
;;
*)
TITLEBAR=""
;;
esac
PS1="${TITLEBAR}\
$GREEN\u@\h \
$WHITE\$$NO_COLOUR "
PS2='> '
PS4='+ '
Команды утилиты tput:
tput setaf [1-7] установка цвета символов с использованием ANSI ESC-последовательности;
tput setab [1-7] установка цвета фона;
tput rev обратить цвета фона и переднего плана;
tput bold установка жирного начертания;
tput dim отключение жирного начертания;
tput smul установка подчеркнутого начертания;
tput rmul отключение подчеркнутого начертания.
3.4.4. Подстановка переменных и команд
Переменные можно использовать как имена, части имен или аргументы команд. Перед выполнением команды оболочка заменит имена переменных их значениями. Например, после того, как мы присвоили переменной cwd значение пути к каталогу, можно перейти в этот каталог по команде
$ cd $cwd
Вывести на экран файл README из этого каталога можно, введя команду
$ more ${cwd}/README
Брать имя переменной в скобки необязательно, но удобно, если нужно отделить имя переменной от предшествующих ему или следующих за ним символов.
Мощным инструментом оболочки bash является подстановка команд, то есть замена имени команды на результат ее выполнения. Так, считая /home/den/МуDownloads/packages текущим каталогом, мы могли бы присвоить переменной cwd то же самое значение проще:
$ cwd=`pwd` # напоминаю, что команда pwd возвращает
# путь к текущему каталогу
Можно подставлять значения не только определенных вами переменных, но и переменных окружения. Так, чтобы поэкранно вывести список всех процессов, запущенных от вашего имени, введите:
$ ps -ef | grep $USER | less
3.4.5. Шаблоны имен файлов
Этот механизм позволяет не перечислять похоже выглядящие имена файлов и каталогов, а указать на целую группу имен, задав краткий образец. Перед отправкой команды на выполнение оболочка раскрывает шаблон, то есть заменяет образец всеми именами, подходящими под этот образец, и выполняет команду для каждого файла или каталога из этой группы. Шаблоны указываются с помощью специальных символов, перечисленных в таблице 3.3. Символы шаблона можно комбинировать в одной команде.
Символы шаблонов Таблица 3.3
Символ Значение Пример * Произвольная строка символов, в том числе пустая ~/*.png — все файлы в домашнем каталоге с расширением png; Glava* — файлы Glava, Glava03 и Glava.old ? Любой одиночный символ Glava?? — файлы Glava03 и GlavaXZ, но не Glava и не Glava.old [m,M,x] Любой символ ив перечисленных в скобках Glava0[3,8] — файлы Glava03 и Glava08, Glava?[3,8] — файлы Glava03, Glava08, Glava13, Glava18, Glava23 [a-nA-N] Любой символ ив указанных интервалов Glava0[2-4,9] — Glava02, Glava03, Glava04, Glava09 [^a-n,x,y] Любой символ, на указанный в скобках Glava[^0]* — все главы, начиная с 11Символы шаблона можно использовать и как обычные символы в именах файлов. Тогда их нужно экранировать, чтобы оболочка не приступила к их раскрытию:
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Linux: Полное руководство"
Книги похожие на "Linux: Полное руководство" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "Денис Колисниченко - Linux: Полное руководство"
Отзывы читателей о книге "Linux: Полное руководство", комментарии и мнения людей о произведении.