Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание (1114666), страница 24
Текст из файла (страница 24)
\! -name '[A-Z]*' -exec Ipr {} \;151findНайти и сжать файлы, имена которых не заканчиваются наgzip 'find . \! -name '*.gz' -print'Удалить все пустые файлы в системе (с запросом подтверждений):find / -size 0 -ok rm {} \;Найти файлы, содержимое которых изменялось в последниедва дня (первые претенденты на резервное копирование):find / -mtime -2 -printРекурсивный поиск по шаблону (grep) в дереве каталогов:find /book -print | xargs grep ' [Nn]utsheirЕсли в текущем каталоге есть файлы ktl и kt2, их именаможно вывести с помощью команды:$ find . -name 'kt[0-9]'./kt1./kt2Поскольку команда выводит имена, предваряя их символами «./», необходимо задать эти символы с критерием -path:$ find .
-path './kt[0-9]'./kt1./kt2Критерий —regex, как и —path, полагает путевое имя полным, но интерпретирует аргументы как регулярные выражения, а не шаблоны интерпретатора (хотя в данном случаерезультат не изменится):$ find . -regex './kt[0-9]',/ktt./kt2finger [options'] usersОтобразить информацию о перечисленных пользователях,включая и ту, что содержится в файлах .plan и .project в домашнем каталоге каждого пользователя. Пользователи (users) могут задаваться точным регистрационным именем либо именем или фамилией (выполняется поиск всех пользователей с таким именем или фамилией). В сетевом окруженииможно использовать имена вида user@host и @host.fingerГлава 3. Команды Linux152fingerПараметры-1Полный формат выдачи данных (режим по умолчанию): все, перечисленное в параметре —s, а также домашний каталог, домашний телефон, командный интерпретатор по умолчанию, статус почтового ящика,файлы .plan, .project и .forward.-m Подавлять поиск по реальным именам пользователей.-р Не отображать содержимое файлов .plan и .project.—s Краткий формат выдачи: регистрационное имя, реальное имя, имя терминала, разрешение на получение сообщений, время бездействия, расположение кабинета иномер рабочего телефона.fingerdin.fingerd [option]Команда TCP/IP.
Удаленный сервер информации о пользователях, fingerd представляет собой сетевой интерфейс кпрограмме finger. Сервер ожидает TCP-соединение черезпорт finger и в ответ на каждое соединение производит чтение единственной строки, которую передает программе finger, а вывод программы перенаправляет клиенту, пославшему запрос, fingerd запускается inetd и должен иметь соответствующую запись в файле настройки /etc/inetd.conf.Параметр—w Включать в ответ дополнительную информацию, такуюкак суммарное время работы и имя операционной системы.flexflex [options] [file]flex (Fast Lexical Analyzer Generator) является более эффективным вариантом lex. flex генерирует программу лексического анализа (с именем lex.yy.c), основываясь на регулярныхвыражениях и операторах С, содержащихся в одном или нескольких исходных файлах.
См. также описания bison, yaccи книгу Джона Левина (John Levine), Тони Мэйсона (ТопуMason) и Дага Брауна (Doug Brown) «lex & yacc», изданнуюO'Reilly.Параметры—b Создавать резервную копию данных в файле lex.backup.—d Режим отладки.Алфавитный перечень команд—f Ускоренная компиляция (для небольших программ).—h Краткая справка по использованию flex.—i Нечувствительное к регистрам символов сканирование.—1 Максимальная совместимость с lex.—о f i l eЗаписать результат в файл f i l e , вместо lex.yy.c.—р Вывести отчет о производительности.—s Завершение работы при встрече сканером данных, не соответствующих ни одному из правил.—t Отображение на стандартный вывод (по умолчанию вывод производится в файл lex.yy.c),—v Вывести краткую статистику.—w Не выводить предупреждения.—В Генерировать пакетный (а не диалоговый) сканер.—F Использовать таблицы, ускоряющие работу сканера.—I Генерировать диалоговый сканер (режим по умолчанию).—L Не обрабатывать директивы #line в lex.yy.c..—Р prefixИзменить префикс по умолчанию (уу) на prefix для всехглобальных переменных и имен функций.—V Отобразить номер версии flex.—7 Генерировать 7-битный сканер.—8 Генерировать 8-битный сканер (режим по умолчанию).—I- Генерировать сканер класса C++.—С Сжимать таблицы сканера, но не использовать классыэквивалентности.-СаВыравнивать таблицы для более быстрого доступа и вычислений.
Таблицы увеличиваются в размерах, но позволяют достичь большей производительности.-СеСоздавать классы эквивалентности. Это позволяет уменьшить размеры таблиц, но немного снижает производительность (режим по умолчанию).-CfГенерировать полные таблицы сканера (несжатые).153flex154Глава 3. Команды Linuxflex-CFГенерировать более эффективные таблицы сканера аналогично —F.-CmСоздавать классы метаэквивалентности (режим по умолчанию).-СгНе использовать стандартную библиотеку ввода/вывода;вместо этого работать с системными вызовами read().fmtfmt [options] [files]Придание тексту форматирования с определенной длинойстрок (происходит построчное заполнение, символы новойстроки удаляются).
Сращение файлов, заданных в командной строке, или текста, поступающего со стандартного ввода. По умолчанию сохраняются пустые строки, пробелы иотступы. Команда fmt, по возможности, разбивает строки поконцам предложений и избегает разрывов после первого слова в предложении или перед последним.Параметры—с, —crown-marginНе изменять отступы первых двух строк, отступы всехпоследующих строк выравнивать по отступу второй строки.-р prefix,—prefix=prefixФорматировать только строки, начинающиеся с заданного префикса (prefix).—s, —spit-onlyЗапретить слияние строк.—t, —tagged-paragraphРежим разметки абзацев.
Работает аналогично режиму -с,если отступы первой и второй строк различны. Еслиотступы одинаковы, первая строка считается отдельнымабзацем.—u, —uniform-spacingВставлять один пробел между словами и по два междупредложениями.Алфавитный перечень команд155—w width, —\viAth=widthЗадать длину строки (width) для форматирования. Поумолчанию равна 75.fmt—helpОтобразить справку по использованию и завершить работу.—versionВывести информацию о версии программы и завершитьработу.fold [options] [files]foldРазрыв строк в перечисленных файлах выполняется такимобразом, чтобы длина получаемых строк не превышала заданной (80 символов по умолчанию), fold разрывает строкиточно по заданной длине, даже если разрыв приходится на середину слова.
Если вместо имени файла задан параметр «—»,то выполняется чтение со стандартного ввода.Параметры—b, —bytesПроизводить разбивку по байтам, а не по колонкам текста (т. е. считать каждый из символов табуляции, забоя ивозврата каретки одной колонкой).—s, —spacesПо возможности производить разрыв на символах пробелов.—w, —width widthУстановить максимальную ширину строки в width. Поумолчанию равна 80.formail [options]Преобразование данных, поступающих со стандартного ввода, в формат сообщения файла почтового ящика.
Если ненайден адрес отправителя, formail подставляет фиктивныйадрес foo@bar. По умолчанию дубликаты строки From экранируются символом цитирования « > ».Параметры+skipНе производить разбивку заданного количества (skip)первых сообщений.formailГлава 3. Команды Linux156formail-totalПрекратить работу после разбивки заданного количества (total) сообщений.-aheaderfieldДобавить к заголовку письма поле headerfield; добавление не происходит, если поле уже присутствует в заголовке. Если задано пустое поле Message-ID или ResentMessage-ID, сообщению присваивается уникальныйидентификатор.-Ь Не экранировать дубликаты поля From.-сЕсли суммарная длина полей заголовка превышает длину строки, произвести объединение полей в одну строку.— d He предполагать, что на ввод поступают данные строго вформате почтового сообщения.— е Сообщения могут следовать одно за другим, без разделяющих отступов.— f He изменять строки, представленные не в формате строкпочтового сообщения.
По умолчанию formail добавляетполе From к таким строкам.— i headerfieldДобавить поле headerfield к заголовку, даже если это поле уже присутствует. Прежние поля с именем headerfield переименовываются в Old-headerfield, если они непустые.— k Используется только совместно с параметром —г. Сохранять тело сообщения и поля, заданные параметром —г.—m minfieldsОпознавать начало сообщения по минимально допустимому количеству полей заголовка (minfields). По умолчанию требуется хотя бы 2 поля.— п Разрешить выполнение нескольких параллельных процессов formail.— р prefixЭкранировать строки префиксом prefix вместо символа— q He выводить сообщения об ошибках записи, дубликатахсообщений и неверных полях Content-Length. Режимзадан по умолчанию и отключается параметром — q— .—г Отбрасывать все существующие поля, оставляя толькополе X-Loop, взамен добавлять заголовок автоматическиАлфавитный перечень командсоздаваемого ответа на сообщение.
С помощью параметра—i можно принудительно сохранять необходимые поля.—s Этот параметр должен быть последним в списке; все, чтоследует за —s, считается аргументами параметра. Разде^лить ввод на несколько сообщений и передать их указанной почтовой программе либо (по умолчанию) сплошным блоком данных передать на стандартный вывод.—t Предполагать, что обратный адрес отправителя существует (по умолчанию formail отдает предпочтение автоматически созданным адресам).—u headerfieldУдалить все, кроме первого вхождения поля headerfield.—х headerfieldВыделить полю headerfield отдельную строку.-z По необходимости добавлять пробелы между названиями полей и содержимым. Удалять пустые поля.—A headerfieldДобавлять поле headerfield, даже если оно уже существует.—В Считать, что на вход поступает сообщение в BABYLформате rmail.—D maxlen idcacheСохранять идентификаторы сообщений в буфере idcache,размер которого не может превысить maxlen.