-->

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

На нашем литературном портале можно бесплатно читать книгу Linux и UNIX: программирование в shell. Руководство разработчика, Тейнсли Дэвид-- . Жанр: Прочая компьютерная литература. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале bazaknig.info.
Linux и UNIX: программирование в shell. Руководство разработчика
Название: Linux и UNIX: программирование в shell. Руководство разработчика
Дата добавления: 16 январь 2020
Количество просмотров: 437
Читать онлайн

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

Linux и UNIX: программирование в shell. Руководство разработчика - читать бесплатно онлайн , автор Тейнсли Дэвид

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

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала

Перейти на страницу:

$ cp -r /logs/ /hold/logs

diff

Формат:

diff параметры файл1 файл2

Параметры:

-c Генерирует различный вывод на основе стандартного формата (см. ниже) — i Игнорирование регистров символов

При использовании файлов файлы файл2 из нашего примера comm команда diff будет выводить строки, которые не совпадают в заданных файлах.

$ diff файл1 файл2

2,3с2,3

<The game

<Boys in company С

>The games

>The boys in company С

Команда diff сообщает о том, что строки 2 и 3 различны, но второй столбец в строке 3 не совпадает.

dircmp

Формат:

dircmp параметры каталог1 каталог2

Параметры:

-s Не отображать различные файлы

Действие команды dircmp напоминает действие команды diff: она также производит сравнение с последующим выводом на экран найденных различий.

dirname

Формат:

dirname имя_пути

В противоположность команде basename, команда dirname выводит на экран только имя пути:

$ dirname /home/dave/myfile/home/dave

du

Формат:

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

Параметры:

-a Отображается размер каждого файла, а не только размер каталогов -s Отображается только итоговая сумма

Команда du выводит информацию об использовании диска в виде блоков размером по 512 байтов. Эта команда применяется, главным образом, для вывода размеров каталогов.

$ pwd

/var

$ du -s

14929

Размер структуры каталога /var составляет 14929 блоков.

file

Формат:

file имя_файла

Благодаря этой команде интерпретатор shell определяет тип файла.

$ file core

core: ELF 32–bit LSB core file of 'awk' (signal 6), Intel 80386, version 1

$ file data.f

data.f: ASCII text

$ file month_end.sh

month_end.sh: Bourne shell script text

fuser

Формат:

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

Параметры:

-k Уничтожает все процессы для файла или файловой системы -u Отображает все процессы для файла или файловой системы

Команда fuser применяется для отображения процессов, выполняющихся в файловой системе или для файлов, к которым осуществляется доступ. В некоторых системах возможен выбор при использовании параметров -u и — т. Совместно с командой fuser возможно применение конструкции if.

Для отображения списка активных процессов, соответствующих устройству /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"

Перейти на страницу:
Комментариев (0)
название