- •Оглавление
- •Введение
- •Лабораторная работа 1 Операционная система Linux в графическом режиме
- •1.1. Изучим элементы рабочего стола gnome
- •1.2. Познакомимся с авторами интегрированной среды gnome и других программ
- •1.3. Создадим панель и изучим порядок изменения ее свойств
- •1.4. Освоим порядок изменения свойств программы Наутилус
- •1.5. Изучим управление свойствами окна в графической среде gnome
- •1.6. Сохраним в виде графического файла содержимое экрана
- •1.7. Освоим программу создания архивов в графическом режиме
- •1.8. Используем простой текстовый редактор для подготовки командного файла – сценария
- •1.9. Изучим действия, позволяющие ассоциировать документ с приложением
- •Лабораторная работа 2 Основы использования командной строки
- •2.1. Выполним первые действия в командном режиме
- •2.2. Изучим команды, сообщающие информацию о программно-аппаратном комплексе компьютера
- •2.3. Познакомимся с командой echo, и переменными оболочки
- •2.4. Изучим систему помощи в командном режиме семейства unix/Linux
- •2.5. Изучим, что такое команда
- •2.5.1. Рассмотрим типы и количество команд
- •2.5.2. Рассмотрим параметры командной строки
- •2.5.3. Рассмотрим использование нескольких опций одной команды
- •2.6. Рассмотрим использование специальных символов оболочки
- •2.7. Изучим историю набранных команд и средства редактирования командной строки
- •2.8. Рассмотрим простейшее использование текстового редактора VI
- •VI file_one
- •2.9. Ознакомимся с основами работы с программой Midnight Commander
- •Лабораторная работа 3 файловая система
- •3.1. Изучим иерархическую файловую систему
- •3.2. Рассмотрим права доступа к файлам
- •3.3. Рассмотрим типы файлов
- •3.4. Рассмотрим примеры файлов разного типа
- •3.5. Рассмотрим команды работы с каталогами
- •3.5.1. Научимся создавать каталоги
- •VI script3
- •VI script4
- •3.5.2. Научимся удалять каталоги
- •3.5.3. Научимся копировать и перемещать файлы и каталоги
- •3.5.4. Изучим возможность выполнять разные операции над каталогами с разными правами доступа
- •3.6. Рассмотрим использование ссылочных файлов
- •3.7. Изучим понятие таблицы иноде (inode)
- •3.8. Расширим понимание и умение использовать команды less и more
- •3.9. Рассмотрим сортировку содержимого файлов
- •3.10. Познакомимся с командой grep
- •3.11. Познакомимся с командой diff
- •3.12. Познакомимся с командой find
- •1) Find / -name echo
- •4.1. Рассмотрим классификацию процессов Linux
- •4.2. Изучим команды получения информации о загруженности системы и активных пользователях
- •VI working
- •4.3. Познакомимся с командами top и ps
- •Vim topfile
- •4.4. Рассмотрим работу в фоновом режиме
- •4.5. Рассмотрим управление приоритетами процессов
- •4.6. Изучим простые возможности обмена информацией между пользователями
- •4.7. Рассмотрим средства управление ресурсами пользователя
- •Лабораторная работа 5 Сценарии в операционной системе Linux
- •If условие
- •If условие
- •If условие
- •Библиографический список
3.10. Познакомимся с командой grep
Еще одна команда (grep), связанная с содержимым файлов, позволяет искать в нем некоторую подстроку. Ее имя произошло от Globally find Regular Expressions and Print. Для изучения команды сначала создадим файл file1 следующего содержания (для этого можно воспользоваться командой cat или текстовым редактором vi).
1One
2 One
3 OneFirst
4 One First
5 FirstOne
6 first one
7 one first one
Если выполнить команду
grep One file1
то результат будет таким
1One
2 One
3 OneFirst
4 One First
5 FirstOne
У команды grep есть параметр –i, который снимет различие регистров при сравнении. Следующая команда
grep –i One file1
приведет к такому результату (добавились строки 6 и 7).
1One
2 One
3 OneFirst
4 One First
5 FirstOne
6 first one
7 one first one
Еще один параметр –w обеспечивает выделение строки поиска с разделителями, например, пробелами. Команда
grep –w One file1
выведет две строки (в которых искомая комбинация символов выделена пробелами).
2 One
4 One First
А такая
grep –iw One file1
четыре строки
2 One
4 One First
6 first one
7 one first one
Создадим второй файл file2 из первого и изменим его. Он должен содержать такие строки.
1One
2One
3 OneFirst
4 One First
5 FirstOne
6 first one
7 Two first one
Изменены строка два (удален пробел) и строка семь (заменено первое слово). Изучаемая команда может искать строку-образец в нескольких файлах.
grep One file1 file2
Эта команда ищет строку-образец в двух файлах и выведет следующее
file1:1One
file1:2 One
file1:3 OneFirst
file1:4 One First
file1:5 FirstOne
file2:1One
file2:2One
file2:3 OneFirst
file2:4 One First
file2:5 FirstOne
Команде grep (как и многим другим утилитам) для поиска подстроки кроме перечисления файлов, можно задать шаблон имени. В следующем примере поиск будет выполнен для всех файлов активного каталога, а строка-образец, заключенная в двойные кавычки, требует вхождения в них двух слов.
grep “One First” *
Везде в содержимом файлов между символьными группами-образцами расставляйте только по одному пробелу.
Команда grep часто используется для выбора некоторой части строк из результата выполнения другой команды. Покажем, как ее используют, например, с командой ps. Ниже приведен пример выбора процессов, связанных с виртуальным терминалом 1.
ps -ef | grep “tty1“
3.11. Познакомимся с командой diff
Научимся использовать команду diff – сравнение файлов. Эта операция выполняется только для двух текстовых файлов. Для ее изучения воспользуемся файлами file1 и file2, созданными в предыдущем пункте.
Если выполнить такую команду
diff file1 file2
то результат будет следующим
2c2
< 2 One
---
> 2one
7c7
< 7 one first one
---
> 7 Two first one
Опцию –i изучаемой команды позволяет считать буквы верхнего и нижнего регистра одинаковыми. Если во второй строке файла file2 между 2 и one добавить пробел, а в третьей поставить пробел между One и First, а далее исполнить такую команду
diff -i file1 file2
то результат будет другим (вторые строки файлов будут восприниматься как эквивалентные).
3c3
< 3 OneFirst
---
> 3 One First
7c7
< 7 one first one
---
> 7 Two first one
Но применение опции -w (игнорировать пробелы при сравнении строк)
diff -iw file1 file2
приведет к такому выводу на экран
7c7
< 7 one first one
---
> 7 Two first one
Задание 30.
Это задание надо выполнять в режиме пользователя root.
Создайте файлы listfile1 и listfile2 содержащие списки файлов в двух каталогах: /root и /home/asplinux. Далее с помощью команды diff сравните содержимое этих каталогов.
ls –l /root > listfile1
ls –l /home/asplinux listfill2
diff listfile1 listfill2
Разные опции команды diff позволяют указать, что надо сделать, что бы файлы были одинаковыми. Если этой команде дать только один файл, то сравнение осуществляется со стандартным вводом (т.е. с клавиатурой). Если после строки образца ввести имена трех файлов, то программа сообщает об ошибке.
Среди утилит UNIX имеется еще несколько команд, сравнения файлов, например, diff3 и cmp. Первая позволяет сравнивать три файла, а вторая была предназначена для сравнения бинарных файлов.