355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Дэвид Тейнсли » Linux и UNIX: программирование в shell. Руководство разработчика » Текст книги (страница 25)
Linux и UNIX: программирование в shell. Руководство разработчика
  • Текст добавлен: 15 октября 2016, 00:39

Текст книги "Linux и UNIX: программирование в shell. Руководство разработчика"


Автор книги: Дэвид Тейнсли



сообщить о нарушении

Текущая страница: 25 (всего у книги 25 страниц)

Для отображения списка активных процессов, соответствующих устройству /dev/hda5, применяется команда:

$ fuser -m /dev/hda5

/dev/hda5: 1 1r 1c 1e 37 37r 37c 37e 144 144r 144c 144e 158 158r 158c 158e 167r 167c 167e 178 17 8r 178c 178e 189 189r 189c

Уничтожение всех процессов, связанных с устройством /dev/hda5, можно осуществить посредством команды:

$ fuser -k /dev/hda5

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

$ fuser -m /root/doc_part

/root/dt: 1 1r 1c le 37 37r 37c 37e 144 144r 144c 144e 158 158r 158c 158e 167r 167c 167e 178 178r 178c 178e 189 189r 189c*l89e 201 201r 201c 201e 212 212r 212c 212e 223 223r

Некоторые варианты команды fuser отображают идентификаторы регистрации в качестве части вывода. Если же в вашем случае этого не происходит, используйте номера, оканчивающиеся на 'е', а затем примените команду grep посредством ps ха

или ps -ef.

head

Формат:

head -number файлы

Команда head используется для отображения первых десяти строк файла. Для отображения меньшего или большего количества строк используется параметр -number. Например, команда

$ head -1 myfile

задает отображение первой строки файла, а команда

$ head -30 logfile | more

приводит к отображению первых 30 строк файла logfile.

logname

Формат:

logname

При этом отображается регистрационное имя текущего пользователя:

$ logname

dave

mkdir

Формат:

mkdir параметры каталог

Параметры:

–m Устанавливает уровень доступа при создании каталога

Команда

$ mkdir HOLD_AREA

$ ls -1 HOLD*

–rw‑rw‑r– 1 dave admin 3463 Dec 3 1998 HOLD_AREA

приведет к созданию каталога HOLD_AREA.

more

Формат:

more параметры файлы

Эта команда эквивалентна командам page и pg, т. е. поочередно отображает на экране содержимое страниц.

Параметры:

–c Не прокручивать текст, но отображать полностью страницу -d Отображение запроса на ввод при постраничной разбивке файла -n Отображение n строк вместо отображения полного экрана Команда

$ more /etc/passwd

отображает содержимое файла passwd. Команда

$ cat logfile |more

отображает файл logfile.

nl

Формат:

nl параметры файл

Параметры:

–i Задает приращение каждой строки на n; по умолчанию задается 1 -р Не восстанавливать нумерацию при появлении новой страницы

Команда nl используется для добавления нумерации в файл. Она является полезной при печати исходного кода или листингов журнальных файлов. Команда

$ nl myscript

добавляет нумерацию в файл myscript. Команда

$ nl myscript >hold_file

направляет вывод команды nl в файл hold_file, а команда

$ nl myscript | lpr

направляет вывод команды nl на принтер.

printf

Формат:

printf формат аргументы

Эта команда выводит форматированный текст в стандартный поток вывода, а ее действие подобно действию функции printf утилиты awk.

Параметр формат может включать три различных типа элементов; здесь будут рассмотрены элементы форматирования. Форматирующая последовательность выглядит следующим образом:

%[– +]m.nx

Знак дефиса задает выравнивание текста в поле по левому краю. Вообще говоря, параметр m используется для представления длины поля, а n задает максимальную длину поля.

Символ % предшествует любому из следующих символов форматирования:


S

строка

с

символ

d

десятичное число

X

шестнадцатеричное число

о

восьмеричное число

Команда printf не может создавать новые строки; с этой целью применяются управляющие последовательности. Ниже приводится перечень наиболее часто применяемых управляющих последовательностей:


а

звуковой сигнал

b

удаление предшествующего символа

r

возврат каретки

f

прокрутка страницы

n

создание новой строки

t

символ табуляции

Команда

$ printf "Howzat!n"

Howzat!

выводит строку в поток стандартного вывода; используйте символ n' для создания новой строки. Команда

$ printf "x2Bn"

+

преобразует шестнадцатеричное число 2В в соответствующее десятичное значение

ASCII,'+'.

Команда

$ printf "%-10sStand‑byn"

Stand‑by

выводит на печать строку, выровненную по левому краю, начиная с 10–го символа от левого края.

pwd

Формат:

pwd

Эта команда применяется для отображения текущего рабочего каталога. Введите следующую команду:

$ pwd

/var/spool

$ WHERE_АМ_I=`pwd`

$ echo $WHERE_AM_I

/var/spool

Здесь используется подстановка для передачи сценарию сведений о текущем рабочем каталоге.

rm

Формат:

rm параметры файлы

Параметры:

–i Запрос перед удалением каждого файла -r Удаление существующего каталога

Команда rm удаляет файлы и/или каталоги. Команда

$ rm myfile

$ rm -r /var/spool/tmp

удаляет все файлы, включая подкаталоги из каталога /var/spool/tmp и ниже.

rmdir

Формат:

rmdir параметры каталоги

Параметры:

–p Удаление всех пустых каталогов, найденных в процессе удаления

Команда

$ rmdir /var/spool/tmp/lp_HP

удаляет каталог 1р_НР, находящийся в каталоге /var/spool/tmp.

script

Формат:

script параметр файл

Параметры:

–a Добавление вывода в файл

С помощью команды script можно создать полную хронологию сеанса. Для этого нужно просто вызвать эту команду из командной строки. Выполнение команды script завершается после выхода из сеанса. Эта команда копирует введенные пользователем команды и данные и добавляет их в файл. Команда

$ script mylogin

задает регистрацию информации о сеансе в файле mylogin.

shutdown

Формат:

shutdown

Выполнение этой команды приводит к завершению работы системы. Многие поставщики программного обеспечения поддерживают свои специфические версии этой команды. Команда

$ shutdown now

вызовет немедленное завершение работы системы, а команда

$ shutdown -g60 -16 -у

приведет к завершению работы системы через 60 секунд, после чего последует перезагрузка системы.

sleep

Формат:

sleep число

Применение этой команды вызовет приостановку работы системы на указанное количество секунд. Например, команда

$ sleep 10

приостановит систему на 10 секунд.

strings

Формат:

strings имя_файла

Команда strings может быть использована для просмотра текста, содержащегося в двоичных файлах.

touch

Формат:

touch параметры имя_файла

Параметры:

–t ММДДччмм Создание файла, содержащего штамп даты (месяц, день, час, минута).

Эта команда создает файл с текущим или новым штампом даты.

$ touch myfile $ ls -l myfile

–rw‑r–r–l dave admin 0 Jun 30 09:59 myfile

Данный код создает новый пустой файл myfile, содержащий текущую дату/время.

$ touch -t 06100930 myfile2 $ ls -l myfile2

–rw‑r–r– 1 dave admin 0 Jun 10 09:30 myfile2

Указанная выше команда touch создает новый пустой файл myfile2 со штампом

даты June 10,09:30am.

tty

Формат:

tty

Используйте команду tty для получения сведений о том, на каком устройстве или терминале вы работаете.

$ tty

/dev/tty08

Команда tty -s определяет, является ли сценарий интерактивным. Коды возврата в этом случае будут следующими:

0 Для терминала

1 Для устройства, не являющегося терминалом

uname

Формат:

uname параметры

Параметры:

–a Отображение всей информации

–s Системное имя

–v Отображение только номера версии либо даты выпуска версии

Команда используется для отображения имени текущей системы и другой связанной информации:

$ uname -a

Linux bumper.honeysuckle.com 2.0.36 #1 Tue Oct…

uncompress

Формат:

uncompress файлы

Команда uncompress используется для разархивирования любых сжатых файлов.

$ uncompress myfile

Приведенная выше команда разархивирует файл myfile, который был ранее сжат. Обратите внимание, что после разархивирования файла для него не может использоваться расширение .Z.

wait

Формат:

wait ID процесса

Эта команда устанавливает длительность ожидания для ID процесса перед возобновлением его выполнения либо устанавливает длительность ожидания всех фоновых процессов перед возобновлением их выполнения.

Для задания интервала ожидания ID процесса перед возобновлением его выполнения используется команда:

$ wait 1299

Следующая команда определяет ожидание до тех пор, пока не завершатся все фоновые процессы:

$ wait

wc

Формат:

wc параметры файлы

Параметры:

–c Вывод количества символов

–l Вывод количества строк

–w Вывод количества слов

Эта команда осуществляет подсчет количества символов или слов.

$ who | wc

1 6 46

$ who | wc -l

1

В первом примере вывод команды who направляется команде wc; при этом отображаются следующие столбцы:

количество строк, количество слов, количество символов

Во втором примере команда wc просто выводит на экран количество строк.

$ VAR="tapedrive"

echo $VAR | wc -c

10

В результате применения этой команды выводится количество символов в строке VAR.

whereis

Формат:

whereis имя_команды

Команда whereis используется для поиска двоичных или текстовых страниц справки для команды.

$ whereis fuser

fuser: /usr/sbin/fuser /usr/man/man1/fuser.1

$ whereis sort

sort: /bin/sort /usr/man/manl/sort.1

Обратите внимание, что двоичные файлы не отображаются в следующих двух примерах, поскольку они встроены в интерпретатор shell, но в этом случае для команд имеются справочные страницы.

$ whereis times

times: /usr/man/man2/times.2

$ whereis set

set: /usr/man/mann/set.n

who

Формат:

who параметры

Параметры:

–a Отображение всего вывода

–r Отчет о текущем уровне выполнения (в Linux применяется команда runlevel) -s Отображение полей имен и дат Команда

whoami

Отображает имя пользователя, выполняющего команду. Эта команда не является параметром команды who и может быть вызвана отдельно.

Команда who выводит отчет о пользователях, зарегистрированных в системе. Для отображения информации об этих пользователях введите команду:

$ who

root console Apr 22 13:27

pgd pts/3 Jun 14 15:29

peter pts/4 Jun 14 12:08

dave pts/5 Jun 14 16:10

Сведения о самом себе можно получить с помощью следующей команды:

$ whoami

dave

LINUX and UNIX Shell Programming

David Tansley

An imprint of Pearson Education

Harlow, England • London • New York • Reading, Massachusetts • San Francisco • Toronto • Don Mills. Ontario • Sydney Tokyo • Singapore • Hong Kong • Seoul * Taipei • Cape Town • Madrid • Mexico City • Amsterdam • Munich • Pan's • Milan

Дэвид Тейнсли

Linux и UNIX: программирование в shell. Руководство разработчика.

BHV, «Ирина», Киев 2001

Перевод с английского

УДК «81.3.06

Д. Тейнсли

Unix i UNIX: программирование в shell. Руководство разработчика: Пер. с англ. – К.:

Издательская группа BHV, 2001. – 464 с.

ISBN 966-552-085-7

ISBN 5-7315-0114-9

Данная книга является практическим руководством по программированию интерпретатора Bourne shell -cтандартного командного интерпретатора в UNIX, полностью совместимого с интерпретатором BASH shell в Linux. Книга предназначена для начинающих и опытных программистов и содержит множество полезных примеров, советов и подсказок. С ее помощью читатель сможет быстро научиться создавать shell–сценарии для реальных задач и ситуаций, возникающих в большинстве систем UNIX и Linux.

Обложка А. А. Стеценко

ISBN 0-201-67472-6 © Pearson Education Limited, 2000

ISBN 966-552-085-7 © Издательская группа BHV, Киев, 2001

ISBN 5-7315-0114-9 © Издательство "Ирина", Киев, 2001

Учебное пособие

Дэвид Тейнсли

Linux и UNIX: программирование в shell.

Руководство разработчика

Редакторы Н. Е. Курбатова, Е. А. Курбатова, Технический редактор З. В. Лобач

Продукции соответствует требованиям

Министерство здравоохранения Российской Федерации.

Гигиеническое заключение 77.ФЦ.8.953М 197.3.99 от 12.03.1999

Лицензия на идательскую деятельность № 071405

от 28 февраля 1997 г.

ООО «Спаррк».

123364, г. Москва, ул. Свободы, д. 28, корп. 2.

ООО "Издательская группа BHV"

Свидетельство о занесении в Государственный реестр

серия ДК №175 от 13.09.2000

Подписано в печать 05.10.2001. Формат 70xl00l/16.

Печать офсетная. Усл. печ. л. 29. Тираж 5000 экз.

Заказ №1885.

Отпечатано с готовых диапозитивов в ОАО «Типография "Новости"» 107005, Москва, ул. Фр. Энгельса, 46.

notes

1

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

Если символ t установлен для исполняемого файла (программы или сценария), то после завершения программы ее следует оставить на диске подкачки (в виртуальной памяти), чтобы ускорить последующий ее запуск другими пользователями. Поскольку в наши дни проблема оперативной памяти не стоит так остро, как раньше, в использовании sticky–бита при работе с файлами нет особой необходимости.

2

Позиция задастся следующим образом: f[.c], где f– номер поля, c– позиция первого символа ключа от начала поля. Если параметр c не указан, первым символом ключа считается первый символ поля.

3

Эта переменная определяет адрес шлюза, используемого для подключения к Internet


    Ваша оценка произведения:

Популярные книги за неделю