Виктор Костромин - Linux для пользователя
Здесь есть возможность читать онлайн «Виктор Костромин - Linux для пользователя» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2002, Издательство: БХВ-Петербург, Жанр: ОС и Сети, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.
- Название:Linux для пользователя
- Автор:
- Издательство:БХВ-Петербург
- Жанр:
- Год:2002
- ISBN:нет данных
- Рейтинг книги:3.5 / 5. Голосов: 2
-
Избранное:Добавить в избранное
- Отзывы:
-
Ваша оценка:
- 80
- 1
- 2
- 3
- 4
- 5
Linux для пользователя: краткое содержание, описание и аннотация
Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Linux для пользователя»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.
Linux для пользователя — читать онлайн бесплатно полную книгу (весь текст) целиком
Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Linux для пользователя», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.
Интервал:
Закладка:
Статус выхода (логическое значение, возвращаемое после завершения работы программы) из канала совпадает со статусом выхода, возвращаемым последней командой конвейера. Перед первой командой конвейера можно поставить символ "!", тогда статус выхода из конвейера будет логическим отрицанием статуса выхода из последней команды. Оболочка ожидает завершения всех команд конвейера, прежде чем установить возвращаемое значение.
5.5.3 Фильтры
Последний из приведенных выше примеров (с командой grep) можно использовать для иллюстрации еще одного важного понятия, а именно, программы-фильтра. Фильтры - это команды (или программы), которые воспринимают входной поток данных, производят над ним некоторые преобразования и выдают результат на стандартный вывод (откуда его можно перенаправить куда-то еще по желанию пользователя). К числу команд-фильтров относятся уже упоминавшиеся выше команды cat, more, less, wc, cmp, diff, а также следующие команды.
Таблица 5.1. Команды-фильтры
Команда | Краткое описание |
---|---|
grep, fgrep, egrep | Ищут во входном файле или данных со стандартного ввода строки, содержащие указанный шаблон, и выдают их на стандартный вывод |
tr | Заменяет во входном потоке все встречающиеся символы, перечисленные в заданном перечне, на соответствующие символы из второго заданного перечня |
comm | Сравнивает два файла по строкам и выдает на стандартный вывод 3 колонки: в одной - строки, которые встречаются только в 1 файле, во второй - строки, которые встречаются только во 2-ом файле: и в третьей - строки, имеющиеся в обоих файлах |
pr | Форматирует для печати текстовый файл или содержимое стандартного ввода |
sed | Строковый редактор, использующийся для выполнения некоторых преобразований над входным потоком данных (берется из файла или со стандартного ввода) |
Особым фильтром является команда tee, которая "раздваивает" входной поток, с одной стороны направляя его на стандартный вывод, а с другой - в файл (имя которого вы должны задать). Легко видеть, что по своему действию команда tee аналогична оператору перенаправления 1›&file.
Возможности фильтров можно существенно расширить за счет использования регулярных выражений, позволяющих организовать, например, поиск по различным, зачастую очень сложным, шаблонам.
О перенаправлении и фильтрах можно было бы говорить очень много. Но этот материал имеется в большинстве книг по UNIX и Linux, например у Петерсена [П1.4] и Келли-Бутла [П1.8]. Поэтому ограничимся сказанным, и перейдем к рассмотрению так называемой среды или окружения, создаваемого оболочкой.
5.6. Параметры и переменные. Окружение оболочки
Понятие параметра в оболочке bash подобно понятию переменной в обычных языках программирования. Именем (или идентификатором) параметра может быть слово, состоящее из алфавитных символов, цифр и знаков подчеркивания (только первый символ этого слова не может быть цифрой), а также число или один из следующих специальных символов:*, @, #,?, - (дефис), $,!, 0, _ (подчеркивание).
Говорят, что параметр задан или установлен, если ему присвоено значение. Значением может быть и пустая строка. Чтобы вывести значение параметра, используют символ $ перед его именем. Так, команда
[user]$ echo name
выдаст на экран слово name, а команда
[user]$ echo $name
выдаст значение переменной name (если таковое, конечно, задано).
5.6.1 Разновидности параметров
Параметры разделяются на три класса: позиционные параметры, специальные параметры (именами которых как раз и служат перечисленные только что специальные символы) и переменные оболочки .
Имена (идентификаторы) позиционных параметров состоят из одной или более цифр (только не из одиночного нуля). Значениями позиционных параметров являются аргументы, которые были заданы при запуске оболочки (первый аргумент является значением позиционного параметра 1, и т. д.). Изменить значение позиционного параметра можно с помощью встроенной команды set. Значения этих параметров изменяются также на время выполнения оболочкой одной из функций (об этом будет рассказано ниже, в разд. 5.8).
Специальные параметры являются шаблонами, замена (подстановка) которых производится следующим образом.
Таблица 5.2. Специальные параметры.
Параметр | Правила замены |
---|---|
* | Заменяется позиционными параметрами, начиная с первого. Если замена производится внутри двойных кавычек, то этот параметр заменяется на одно единственное слово, составленное из всех позиционных параметров, разделенных первым символом специальной переменной IFS (о ней будет сказано ниже). То есть ``$*'' эквивалентно ``$1c$2c…'', где c - первый символ в значении переменной IFS. Если IFS присвоено пустое значение или ее значение не установлено, параметры разделяются пробелами |
@ | Заменяется позиционными параметрами, начиная с первого. Если замена производится внутри двойных кавычек, то каждый параметр заменяется отдельным словом. Так, `` $@'' эквивалентно ''$1'' ''$2''… Если позиционных параметров нет, то значение не присваивается (параметр @ просто удаляется) |
# | Заменяется десятичным значением числа позиционных параметров |
? | Заменяется статусом выхода последнего из выполнявшихся на переднем плане программных каналов |
- (дефис) | Заменяется текущим набором значений флагов, установленных с помощью встроенной команды set или при запуске самой оболочки |
$ | Заменяется идентификатором процесса (PID) оболочки |
! | Заменяется идентификатором процесса (PID) последней из выполняющихся фоновых (асинхронно выполнявшихся) команд |
0 | Заменяется именем оболочки или запускаемого скрипта. Если bash запускается для выполнения командного файла, $0 равно имени этого файла. В противном случае это значение равно полному пути к оболочке |
_ (подчеркивание) | Заменяется последним аргументом предыдущей из выполнявшихся команд (если это параметр или переменная, то подставляется ее значение) |
Специальные параметры, перечисленные в приведенной выше таблице, отличаются тем, что на них можно только ссылаться; присваивать им значения нельзя.
Читать дальшеИнтервал:
Закладка:
Похожие книги на «Linux для пользователя»
Представляем Вашему вниманию похожие книги на «Linux для пользователя» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.
Обсуждение, отзывы о книге «Linux для пользователя» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.