- •Оглавление
- •Введение
- •Лабораторная работа 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 условие
- •Библиографический список
2.3. Познакомимся с командой echo, и переменными оболочки
Команда echo, как было сказано выше, позволяет распечатать на экране значения отдельных переменных оболочки, в том числе и переменных окружения, задающих условия выполнения программ (в том числе и самой оболочки). Принято говорить, что такие переменные создают среду окружения. Выше мы приводили команду printenv, распечатывающую значения всех переменных оболочки. Их инициализация задается многими сценариями, выполняемыми в системе.
Приведем еще несколько переменных окружения и укажем на их роль. Дадим следующую команду.
echo $MAIL
Так можно узнать адрес, где хранятся файлы почтового ящика пользователя.
/var/spool/mail/root
Командная строка начинается всегда с информации, определяемой переменной $PS1. Напечатаем ее значение.
echo $PS1
[\u@\h \W]\$
После такого вывода ясно, что указывается в строке перед полем для набора команды (еще называемой строкой приглашения). При загрузке ASPLinux Live CD определена такая информация: \u – имя пользователя, \h – имя хоста (компьютера) и \W – текущая директория. Непосредственно перед полем ввода команд пользователя расположен знак $.
Еще одна специальная переменная оболочки PATH определяет список подкаталогов, где должны содержаться исполнимые файлы вызываемых команд. Используя команду
echo $PATH
получим список каталогов содержащих основные утилиты.
/usr/kerberos/sbin:/usr/kerberos/bin: /usr/local/sbin:/usr/local/bin:/sbin:/bin:
/usr/sbin:/usr/bin:/root/bin
Отметим отличия операционных систем семейства UNIX/Linux от Windows. Семейство последних так же имеет в своем составе переменную PATH (правда в последних версиях она теряет свое значение). При вызове программы в командном режиме Windows, сначала проверяются текущий каталог, а затем все каталоги, указанные в этой переменной окружения. В системах UNIX/Linux текущий каталог не проверяется. Поэтому, если в Linux надо вызвать команду, запустив файл, расположенный в каталоге не указанном в PATH, можно использовать несколько способов.
В первом указывается полный путь к файлу программы. Во втором задается относительный путь. Если активным является каталог, где расположена вызываемая программа, то относительный путь указывается так
./<имя файла>
Можно использовать символ точка для вызова команды из текущего каталога, набрав следующее.
. <имя файла>
(после точки надо обязательно вставить пробел).
Продолжим изучать системные команды. Теперь наберем команду, изменяющую текущий (активный) каталог на домашний.
cd ~
Далее воспользуемся такой командой
cat > script2
для того, чтобы набрать следующий текст
#!/bin/bash
echo PATH
Такой сценарий (мы упоминали этот термин в работе 1) после выполнения выводит PATH. При наборе в конце каждой строки нажимайте клавишу <Enter>, а по завершении – <Ctrl+D>. Надо придать файлу свойство, позволяющее выполнять его.
chmod u+x script2
Запустим этот сценарий, задавая полный путь к файлу
/root/script2
Относительный путь к файлу сценария, если он расположен в текущем каталоге, записывается так
./script2
Вызвать скрипт можно и по другому
. script2
Напомним, что в последнем случае между точкой и именем сценария следует поставить пробел. Во всех случаях результат будет таким
PATH
Если просто задать имя файла
script2
то выводится сообщение о том, что файла нет
bash: script2: command not found
Еще раз поясним, что каталог /root , где хранится сценарий, не указан в переменной PATH.
Задание 8.
Проделайте следующие действия. Добавьте в значение переменной PATH каталог /home. Перенесите туда созданный сценарий и опробуйте разные способы его выполнения.
Упомянутая ранее команда cd предназначена для смены активного каталога. Фактически она позволяет «путешествовать» в иерархической системе директорий. Для этого после команды указывайте имя выбранного каталога (спустимся на один уровень вниз) или две точки (поднимемся на один уровень вверх). Сделаем второе, предварительно определив текущий каталог
pwd
root
cd ..
Теперь мы находимся в корневом каталоге (точнее – текущим является корневой каталог «/»). Отсюда наш сценарий можно вызвать, указывая полный путь, как делали ранее, или используя относительный
root/script2
Вспомним, что в системе существует домашний каталог пользователя asplinux, расположенный в /home. Сделаем его активным.
cd home
cd asplinux
Команде cd можно задать полное имя
cd /home/asplinux
Перенесем в директорию /home сценарий script2 командой копирования файлов.
cp /root/script2 /home
Этой команде указывается сначала что копировать, а затем – куда. Активным является каталог, по отношению к которому сценарий находится на один уровень выше. Относительный путь для вызова задается следующим образом.
../script2
Задание 9.
Создайте сценарий, например, выводящий простую текстовую строку. Поместите две модификации такого файла, выводящие разные сообщения, в текущий каталог и указанный в переменной PATH. Попробуйте запустить сценарии в обоих каталогах, сделав их активными. Сделайте это в Linux и Windows и определите, какой из файлов с одинаковыми именами (или оба) выполняется при задании относительного имени. Для первой системы Вы знаете, как это сделать, а для второй, перезагрузив компьютер, сначала в меню «Пуск» выберите команду «Выполнить», а затем наберите и исполните такую команду
copy con files.bat
Команда copy в Windows аналогично cp в Linux. Сначала указывается, откуда копировать (в нашем случае - системная консоль), а затем куда – файл с расширением bat, являющийся аналогом сценария Linux и имеющий свойство исполнимого файла. Теперь команду можно выполнить так
files.bat
Вспомните об отличии в исполнении команд из текущего каталога двух операционных систем: Windows и Linux. Если теперь перейти в корневой каталог
сd \
то, указав полное имя файла, можно выполнить созданный сценарий, а короткое
files.bat
– нет.
Во втором случае будет выведено такое сообщение.
Файл “files.bat” не является внутренней или внешней командой, исполняемой программой или пакетным файлом
Для того чтобы завершить сеанс командного режима в Windows, выполните
exit
Вернемся в ОС ASP Linux, перезагрузив компьютер.
Теперь познакомимся с тем, как можно завести в системе собственные переменные. Значения, получаемые ими, можно выводить командой echo. Три следующие команды вводят переменные и придают им разные значения
a=5
b=1
c=one
Как видно переменные пользователя создаются при присваивании им значений. Два следующих оператора вводят еще две новые переменные, но их значение определяется значениями переменных, уже введенных ранее
d=$a+$b
e=$a+$c
Заметим, что по умолчанию переменные оболочки будут иметь текстовый тип, а значит, получат значения такого же типа. Приведенные далее операторы выводят значения всех пяти переменных. Обратите внимание на значения d и e, являющихся текстовыми.
echo $a $b $c
echo $d $e
5 1 one
5+1 5+one
В заключение этого пункта продемонстрируем для команды echo действие опции –n. Последняя позволяет осуществить вывод в одной строке результатов нескольких таких операторов
echo -n “First line - ”
echo $a $b $c
First line – 5 1 one
echo -n “Second line: ”
echo $d $e
Second line: 5+1 5+one