Linux: курс молодого бойца
Данный курс состоит из лекции (45 - 90 минут) и практического занятия (90 мимнут)
Содержание
План лекции
Работа в командной строке (15-20 мин)
Общая информация
- основным интерфейсом в ОС семейства UNIX является командная строка (аналогия с command.com и cmd.exe)
- Консольные оболочки UNIX (shell): sh, bash
- sh - наиболее распрастраненный из стандартных
- bash - расширенный sh, удобнее пользоваться (в стандартной поставке Solaris отсутствует, в Linux единственный)
(работает Backspace, Tab, стрелки вверх и вниз)
Коммандный интерпретатор - программа которая читает построчно команды пользователя и выполняет их, выводя результат на экран.
Команды бывают:
- встроенные (cd, pwd, echo, alias, unalias, exit, bg, fg, jobs, kill, export, set)
- внешние (ls, cp, mv, printenv, top)
Подавляющее большинство команд принимают различные ключи, модифицирующие их поведение.
Список основных ключей для программы можно получить, вызвав краткую справку выдаваемую самой программой:
$ <имя программы> --help
подробное руковосдство пользователя доступно в виде man-страниц (система помощи):
$ man [номер страницы] <имя программы>
Также на поведение программ влияют значения переменных окружения (environment variables),
список которых можно посмотреть по команде:
$ printenv
Наиболее значимые: PATH, HOME, LANG, PS1
Система ищет программу с введенным именем в каталогах указанных в переменной PATH в порядке их следования слева направо, и если не находит выдает ошибку.
Посмотреть текущий путь поиска можно командой:
$ echo $PATH
Следует обратить внимание, что текущий каталог («.») по-умолчанию в путь поиска не входит, поэтому для запуска программы находящейся в текущей директории требуется вызывать ее с указанием относительного пути к программе:
$ ./<имя программы>
Основные команды
- date - получение текущей даты
$ date Mon Nov 7 20:49:47 MSK 2005
- echo "текст" - ввод строки на стандартный выход
$ echo "Hello world!" Hello world!
- pwd - вывод абсолюьного пути к текущей директории
$ pwd /home/init
- ls - листинг текущего каталога (выводит список файлов за исключением скрытых)
- ls <путь> - листинг каталога путь к которому указан в качестве параметра
ключи:
- -a - показывать скрытые файлы
- -l - вывод подробной информации по каждому файлу
т.е. если вы хотите получить подробную информацию о скрытых файлах в данном каталоге, вы должны выполнить:
$ ls –l –a итого 36 drwx------ 4 step step 4096 Авг 26 18:40 ./ drwxr-xr-x 12 root root 4096 Окт 20 13:35 ../ -rw-r--r-- 1 step step 24 Янв 5 2004 .bash_logout -rw-r--r-- 1 step step 191 Янв 5 2004 .bash_profile -rw-r--r-- 1 step step 124 Янв 5 2004 .bashrc drwxr-xr-x 2 step step 4096 Авг 26 18:40 .gimp-1.2/ -rw-r--r-- 1 step step 141 Май 15 2001 .mailcap -rw-r--r-- 1 step step 3729 Дек 10 2003 .screenrc drwx------ 2 step step 4096 Сен 8 2003 tmp/
- cd <путь> - смена текущей папки на заданную в качестве параметра
Пример: перейти на каталог вверх:
$ cd ..
- cp <источник> <адресат> - копирование файлов или каталогов
ключи:
- -R - рекурсивно копировать каталоги, т.е. со всем содержимым
- mv <имя> <новое имя> - переименование/перемещение файла или каталога
- rm <путь> - удалить файл или каталог
ключи:
- -R - рекурсивно, т.е. удалять каталоги со всем содержимым
- mkdir <папка> - создать новый каталог c именем <папка>
- rmdir <папка> - удалить каталог c именем <папка>
- cat <имя файла> - вывод содержимого файла на экран
- tail <имя файла> - показывает несколько последних строк файла
(удобно для просмотра лог-файлов)
ключи:
- -l <количество строк> (solaris??? проверить)
- -n <количество строк> (linux)
- more <имя файла> - показывать файл постранично
удобно для просмотра больших файлов
- touch <путь к файлу> - тронуть файл(установить дату изменения на текущую), если файл не существует – создать (будет создан пустой файл)
- ln <имя файла> <имя файла ссылки> - создать жесткую (hard) ссылку на файл
- -s - создать мягкую (soft) ссылку
- ps - получение списка процессов в системе
- kill <pid> - завершение работы процесса с номером <pid>
- top - показывает топ активных процессов, в реальном времени (обновляет раз в несколько секунд)
- id - показать идентификатор текущего пользователя
Пользователи, группы, права доступа, команды для работы с ними
- вся настройка системы производится с помощью правки конфигурационных файлов (аналогия с autoexec.bat, config.sys)
- демоны из них читают конфигурацию при запуске, и пишут журналы в лог-файлы
- список пользователей системы хранится в файле /etc/passwd, групп в файле /etc/group
- аттрибуты файла, октеты: User, Group, Other
- исполняемые файлы (+x), скрытые файлы
- списки пользователей (/etc/passwd) и групп (/etc/group)
- основные команды:
...
Текстовый редактор vi (10 мин)
Без тектового редактора в UNIX не поправишь ни одного конфигурационного файла (вся система на них построена). vi cамый древний, очень нелогичный и неудобный для новичка, зато есть на всех UNIX машинах, потому и изучаем. Краткое руководство: ...
Настройка сети, команды для работы с сетью (10 мин)
разница между ручной настройкой и настройкой при загрузке компа - инизиализациооные скрипты указать пути ко всем необходимым файлам и их назначение Основные команды: ...
План практического занятия
- добавление нового пользователя и рабочей группы с пом. редактора vi (5-10 мин)
- создание папки общего доступа для этой группы (5 мин)
- горячая настройка сетевого интерфейса (5-10 мин)
- включение сервиса ftp и telnet (5 мин)
- вход на другую машину по telnet и ФТП (5 мин)
опционально:
- просмотр списка активных пользователей на машине
- чат в пределах локальной машины
- ps, top, netstat