Linux: курс молодого бойца — различия между версиями

Материал из Библиотека ТК МГТУ им. Н. Э. Баумана
Перейти к: навигация, поиск
()
()
Строка 8: Строка 8:
 
**sh - наиболее распрастраненный из стандартных
 
**sh - наиболее распрастраненный из стандартных
 
**bash - расширенный sh, удобнее пользоваться (в стандартной поставке Solaris отсутствует, в Linux единственный) <br>(работает Backspace, Tab, стрелки вверх и вниз)
 
**bash - расширенный sh, удобнее пользоваться (в стандартной поставке Solaris отсутствует, в Linux единственный) <br>(работает Backspace, Tab, стрелки вверх и вниз)
''Коммандный интерпретатор'' - программа которая читает построчно команды пользователя и выполняет их, выводя результат на экран
+
''Коммандный интерпретатор'' - программа которая читает построчно команды пользователя и выполняет их, выводя результат на экран.
  
 
Команды бывают:
 
Команды бывают:
 
*встроенные (cd, pwd, echo, alias, unalias, exit, bg, fg, jobs, kill, export, set)
 
*встроенные (cd, pwd, echo, alias, unalias, exit, bg, fg, jobs, kill, export, set)
 
*внешние (ls, cp, mv, printenv, top)
 
*внешние (ls, cp, mv, printenv, top)
 +
  
 
Подавляющее большинство команд принимают различные ключи, модифицирующие их поведение.
 
Подавляющее большинство команд принимают различные ключи, модифицирующие их поведение.
 
Список основных ключей для программы можно получить, вызвав краткую справку выдаваемую самой программой:
 
Список основных ключей для программы можно получить, вызвав краткую справку выдаваемую самой программой:
$ <имя программы> --help
+
 
 +
$ <имя программы> --help
 +
 
 
подробное руковосдство пользователя доступно в  виде man-страниц (система помощи):
 
подробное руковосдство пользователя доступно в  виде man-страниц (система помощи):
$ man [номер страницы] <имя программы>
+
 
 +
$ man [номер страницы] <имя программы>
 +
 
  
 
Также на поведение программ влияют значения переменных окружения (environment variables),  
 
Также на поведение программ влияют значения переменных окружения (environment variables),  
 
список которых можно посмотреть по команде:
 
список которых можно посмотреть по команде:
$ printenv
+
 
 +
$ printenv
 +
 
 
Наиболее значимые: PATH, HOME, LANG, PS1
 
Наиболее значимые: PATH, HOME, LANG, PS1
  
Система ищет программу с введенным именем в каталогах указанных в переменной PATH в порядке их следования слева направо, и если е находит выдает ошибку.
+
 
 +
Система ищет программу с введенным именем в каталогах указанных в переменной PATH в порядке их следования слева направо, и если не находит выдает ошибку.
 
Посмотреть текущий путь поиска можно командой:
 
Посмотреть текущий путь поиска можно командой:
$ echo $PATH
+
 
 +
$ echo $PATH
  
 
Следует обратить внимание, что текущий каталог («.») по-умолчанию в путь поиска не входит, поэтому для запуска программы находящейся в текущей директории требуется вызывать ее с указанием относительного пути к программе:
 
Следует обратить внимание, что текущий каталог («.») по-умолчанию в путь поиска не входит, поэтому для запуска программы находящейся в текущей директории требуется вызывать ее с указанием относительного пути к программе:
 +
 
$ ./<имя программы>
 
$ ./<имя программы>
  

Версия 23:57, 7 ноября 2005

Данный курс состоит из лекции (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