-->

Основы программирования в Linux

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

Основы программирования в Linux читать книгу онлайн

Основы программирования в Linux - читать бесплатно онлайн , автор Мэтью Нейл
В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

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

1 ... 28 29 30 31 32 33 34 35 36 ... 324 ВПЕРЕД
Перейти на страницу:

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

find
. Например, если вы хотите задать критерий "измененный позже, чем файл
X
, или с именем, начинающимся со знака подчеркивания", его можно записать следующим образом:

(-newer X -о -name "_*" )

Мы приведем пример сразу после описания "Как это работает". А сейчас выполните упражнение 2.16.

Упражнение 2.16 Применение команды
find
с критериями

Попытаемся найти в текущем каталоге файлы, измененные после модификации файла while2.

$ <b>find . -newer while2 -print</b>

.

./elif3

./words.txt

./words2.txt

./_trap

$

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

-type f
.

$ <b>find . -newer while2 -type f -print</b>

./elif3

./words.txt

./words2.txt

./_trap

$

Как это работает

Как это работает? Вы определили, что команда

find
должна искать в текущем каталоге (
.
) файлы, измененные позже, чем файл while2 (
-newer while2
), и, если этот критерий пройден, проверять с помощью следующего критерия (
-type f
), обычные ли это файлы. В заключение вы применили действие, с которым уже сталкивались,
-print
, просто для того чтобы подтвердить, что файлы были найдены.

Теперь найдем файлы с именами, начинающимися с символа подчеркивания или измененные позже, чем файл while2, но в любом случае обычные файлы. Этот пример покажет, как объединять критерии с помощью скобок.

$ <b>find . ( -name &quot;_*&quot; -or -newer while2 ) -type f -print</b>

./elif3

./words.txt

./words2.txt

./_break

./_if

./set

./_shift

./_trap

./_unset

./ until

$

Это не слишком трудный пример, не так ли? Вы должны экранировать скобки, чтобы они не обрабатывались командной оболочкой, и заключить в кавычки символ

*
, чтобы он также был передан непосредственно в команду
find
.

Теперь, когда вы можете правильно искать файлы, рассмотрим действия, которые можно совершить, когда найден файл, соответствующий вашей спецификации. И снова в табл. 2.13 перечислены только самые популярные действия; полный список можно найти на страницах интерактивного справочного руководства.

Таблица 2.13

Действие Описание
-exec <i>команда</i>
Выполняет
команду
. Наиболее широко используемое действие. После табл. 2.13 приведено объяснение способа передачи параметров в команду. Это действие следует завершать символьной парой
;
-ok <i>команда</i>
Подобно действию
exec
, за исключением того, что перед обработкой файлов
командой
выводится подсказка для получения подтверждения пользователя на обработку каждого файла. Это действие следует завершать символьной парой
;
-print
Вывод на экран имени файла
-ls
Применение команды
ls -dils
к текущему файлу

Команда в аргументах

-exec
и
-ok
принимает последующие параметры в строке как собственные, пока не встретится последовательность
;
В действительности команда, в аргументах
-exec
и
-ok
выполняет встроенную команду, поэтому встроенная команда должна завершиться экранированной точкой с запятой, для того чтобы команда
find
могла определить, когда ей следует продолжить поиск в командной строке аргументов, предназначенных для нее самой. Магическая строка
{}
— параметр специального типа для команд
-exec
и
-ok
, который заменяется полным путем к текущему файлу.

Объяснение, возможно, не слишком легкое для понимания, поэтому рассмотрим пример, который поможет внести ясность. Взгляните на простой пример, использующий хорошую безопасную команду

ls
:

$ <b>find . -newer while2 -type f -exec ls -l  {} ;</b>

-rwxr-xr-x 1 rick rick  275 Feb 8 17:07 ./elif3

-rwxr-xr-x 1 rick rick  336 Feb 8 16:52 ./words.txt

-rwxr-xr-x 1 rick rick 1274 Feb 8 16:52 ./words2.txt

-rwxr-xr-x 1 rick rick  504 Feb 8 18:43 ./_trap

$

Как видите, команда

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

Команда grep

Вторая очень полезная команда, заслуживающая рассмотрения, — это команда

grep
. Необычное имя, означающее общий синтаксический анализатор регулярных выражений (general regular expression parser). Вы применяете команду
find
для поиска файлов в вашей системе, а команду
grep
для поиска строк в ваших файлах. Действительно, очень часто при использовании команды
find
команда
grep
передается после аргумента
-exec
.

1 ... 28 29 30 31 32 33 34 35 36 ... 324 ВПЕРЕД
Перейти на страницу:
Комментариев (0)
название