Пример 1.46. Печать именифайла, содержащего образец текста v100-1@beta:~> grep –l shall /usr/share/liblab/proverbs/spirit/mind/* /usr/share/liblab/proverbs/spirit/mind/philosph
v100-1@beta:~> grep show /usr/share/liblab/proverbs/spirit/mind/*
v100-1@beta:~>
Очевидным способом просмотра текста найденного файла явля-
ется: cat /usr/share/liblab/proverbs/spirit/mind/philosph, однако чтобы не набирать по многу раз команды с длинными путями, можно использовать результат работы grep –l в качестве параметра cat (пример 1.47). При этом вся команда grep –l заключается в обратные апострофы (другой регистр клавиши с волной «~»).
Пример 1.47. Просмотр файла, содержащего образец текста v100-1@beta:~> cat `grep -l shall /usr/share/liblab/proverbs/spirit/mind/*`
No fool as old fool.
Нет дурака хуже старого (дурака).
Nothing must be done hastily but killing of fleas.
Ничего не следует делать наспех, кроме избиения блох. ср. Спешка нужна только при ловле блох.
Where there's a will, there's a way.
Где есть желание, есть и средство.
Every dark cloud must have its silver lining.
У каждого темного облака должна быть своя серебристая подкладка. ср. Нет худа без добра.
As you sow, you shall mow.
Как посеешь, так и скосишь. По-русски, что посеешь, то и пожнешь. v100-1@beta:~>
По сути, результатом grep –l является выдаваемая в stdout текстовая строка, которая может быть преобразована, например, потоковым текстовым редактором sed (англ. Stream EDitor). Например, можно выполнить замену текста, используя внутреннюю команду s/что_заменять/на_что_заменять/. Пример 1.48 показывает, как, используя конвейер, изменить текстовую строку из stdout, добавив в конец строки (обозначается $) группу символов « . » (пробел, точка, пробел).
51
Пример 1.48. Добавление символов к строке, полученной из stdout v100-1@beta:~> grep -l shall /usr/share/liblab/proverbs/spirit/mind/* | sed s/$/" . "/ /usr/share/liblab/proverbs/spirit/mind/philosph .
v100-1@beta:~>
Полученная таким образом (см. пример 1.48) текстовая строка может быть использована в качестве аргумента (обрамленного обратными апострофами) для команды копирования cp (пример 1.49). Для копирования файла нужно предварительно создать в домашней директории каталог myproverbs и сделать его текущим.
Пример 1.49. Копирование файла, найденного по образцу текста v100-1@beta:~>mkdir myproverbs
v100-1@beta:~>cd myproverbs
v100-1@beta:~/ myproverbs > cp `grep -l shall /usr/share/liblab/proverbs/spirit/mind/* | sed s/$/" . "/`
v100-1@beta:~ / myproverbs > ls philosph
v100-1@beta:~ / myproverbs > ls
Применение команды grep –l shall к текущей директории выдаст в качестве результата текстовую строку philosph. Эту строку можно передать в качестве параметра команде chmod, устанавливающей права доступа к файлам (пример 1.50). Изменение прав доступа (перед и после) контролируется командой ls –l.
Пример 1.50. Изменение прав доступа к файлу, найденному по образцу текста
v100-1@beta:~/ myproverbs > ls –l
-rw-r--r-- 1 v100-1 v100 792 Ноя 3 11:45 philosph v100-1@beta:~/ myproverbs > chmod u-w `grep -l shall *` -r--r--r-- 1 v100-1 v100 792 Ноя 3 11:45 philosph v100-1@beta:~/ myproverbs >
1.4.ФАЙЛОВЫЙ МЕНЕДЖЕР MIDNIGHT COMMANDER
1.4.1.Внешний вид, начало и завершение работы
Файловый менеджер (англ. file manager) – компьютерная программа, предоставляющая интерфейс пользователя для работы с файловой системой и файлами. Файловый менеджер позволяет вы-
52
полнять наиболее частые операции над файлами: создание, удаление, исполнение, просмотр, редактирование, копирование, перемещение (переименование), а также изменение атрибутов и свойств, поиск файлов и управление правами доступа. Помимо основных функций многие файловые менеджеры включают ряд таких дополнительных возможностей, как работа с сетью и внешними устройствами.
Одним из самых распространенных файловых менеджеров для
UNIX-систем является Midnight Commander (рис. 1.9). Midnight Commander – двухпанельный файловый менеджер с текстовым интерфейсом. Каждая панель отображает содержимое одной директории (т.е. фактически панель – это каталог). Midnight Commander имеет удобный встроенный текстовый редактор, который позволяет создавать и редактировать текстовые файлы.
Рис. 1.9. Файловый менеджер Midnight Commander
Верхняя строка (1 рис. 1.9) представляет собой меню, активизируемое мышью или клавишей «F9». Далее вниз слева и справа расположены панели со списками файлов и подкаталогов директорий, имена которых указаны на верхних рамках панелей. Заголовок ак-
тивной панели (директория /user/home/groups/v100/v100-1) подсве-
чивается. В активной панели также находится светлый прямоугольный курсор (2 рис. 1.9), который можно перемещать по списку стрелками вверх и вниз, а также мышью. Смена панелей (назначение панели активной) осуществляется клавишей «Tab».
53
Самая нижняя строка (3 рис. 1.9) представляет собой ряд экранных кнопок, каждая из которых ассоциирована с одной из экранных кнопок с «F1» по «F9». Можно пользоваться этой строкой как подсказкой по использованию функциональных клавиш, а можно непосредственно запускать команды Midnight Commander, щелкая мышью по экранным кнопкам.
Ниже двух панелей Midnight Commander, над экранными кнопками, находится командная строка, в которой могут выполняться стандартные команды UNIX. При помощи клавиш «Ctrl+O» (не нуль!) можно выключать (а затем также включать) обе панели, оставляя только командную строку и при этом не выходя из Midnight Commander.
Для запуска Midnight Commander нужно набрать mc в командной строке UNIX (рис. 1.10).
Рис. 1.10. Запуск файлового менеджераMidnight Commander
Рис. 1.11. Выход изMidnight Commander
Для выхода из Midnight Commander можно воспользоваться клавишей «F10», после чего в появившемся окне подтверждения нужно выбрать «Да» или «Нет», переместив подсветку на нужный вариант стрелками или «Tab» (рис. 1.11).
54
Выбор подтверждается нажатием «Enter» или мышью. Отказаться от выхода можно дважды нажав «Esc». После выхода из Midnight Commander, для завершения сеанса UNIX, необходимо воспользоваться командой logout.
1.4.2. Работа с каталогами и файлами
Файловый менеджер Midnight Commander позволяет создавать и удалять директории и файлы в любой из двух панелей, а также осуществлять копирование и перемещение файлов и каталогов из одной панели в другую.
Новый каталог создается в активной панели (в которой находится курсор-подсветка) Midnight Commander. Для создания каталога нужно нажать клавишу «F7», после чего ввести его имя в появившееся окно (рис. 1.12).
Рис. 1.12. Создание нового каталога
Ввод имени подтверждается нажатием клавиши «Enter» или щелчком мыши по экранной кнопке «Дальше». Отказаться от создания каталога можно дважды нажав «Esc» или через выбор экранной кнопки «Прервать». Перемещение подсветки между активными элементами окна создания каталога осуществляется стрелками или клавишей «Tab» (управляющие клавиши в Midnight Commander одинаковы для всех диалоговых окон).
Поместив курсор-подсветку на имя каталога в списке и нажав «Enter» (или двойной щелчок мыши), пользователь входит в ката-
55