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 [номер страницы] <имя программы>

Система ищет программу с введенным именем в каталогах указанных в переменной 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 - показать идентификатор текущего пользователя

Переменые окружения (environment variables)

Поведение программ как внешних так и встроенных могут влиять значения переменных окружения. Переменные окружения создаются при входе пользователя в систему, и сбрасываются при выходе. Наиболее значимые: PATH, HOME, LANG, PS1

Просмотр значений все переменных:

$ printenv

Просмотр одной переменной:

$ echo $PATH

Установка значения переменной:

$ export LANG=ru_RU.KOI8-R


Пользователи, группы, права доступа, команды для работы с ними

  • вся настройка системы производится с помощью правки конфигурационных файлов (аналогия с 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