mirror of
https://github.com/Yaslonane/lpic_1-101.git
synced 2026-05-19 17:48:32 +03:00
Created new structure
This commit is contained in:
+66
@@ -0,0 +1,66 @@
|
||||
##### 101.1 Определение и настройка аппаратной части
|
||||
Студент должен разбираться в управлении основными комплектующими ПК.
|
||||
**Изучаем:**
|
||||
• включение и выключение устройств;
|
||||
• настройку системы без периферийных устройств;
|
||||
• устройства хранения информации;
|
||||
• понятие горячей замены;
|
||||
• определение параметров устройств;
|
||||
• инструменты просмотра сведений об устройствах;
|
||||
• инструменты управления USB;
|
||||
• понятия sysfs, udev, dbus.
|
||||
|
||||
**Термины и утилиты:**
|
||||
• /sys/
|
||||
• /proc/
|
||||
• /dev/
|
||||
• modprobe
|
||||
• lsmod
|
||||
• lspci
|
||||
• lsusb
|
||||
|
||||
Аппаратная часть современных компьютерных устройств — это отдельный полноценный курс. В данном уроке поверхностно рассматриваются базовые манипуляции с комплектующими ПК из ОС Linux.
|
||||
|
||||
При работе с устройствами Linux можно столкнуться со следующими понятиями:
|
||||
• **HAL** – демон, представляющий слой абстрагирования от конкретной АЧ, благодаря которому ОС может обращаться к устройствам через их абстрактные представления (конкретную инструкцию устройству будет передавать драйвер), на данный момент является устаревшим;
|
||||
• **Dbus** - шина, через которую процессы обмениваются информацией, в частности приложения получают через нее информацию об оборудовании из ядра;
|
||||
• **udev** - менеджер устройств, пришедший на смену HAL.
|
||||
|
||||
_Преимущества udev:_
|
||||
- работает на уровне пользователя (больше свободы действий);
|
||||
- событийно-управляемый (а не опрашивает ядро по расписанию как HAL);
|
||||
- удобные файлы конфигурации (а не xml как у HAL);
|
||||
- содержит в системе только файлы активных устройств (а не всех устройств как HAL);
|
||||
- содержит имена устройств неизменными (в HAL имя зависит от порядка подключения).
|
||||
|
||||
В директории **/dev** находится информация об интерфейсах работы с драйверами ядра, например:
|
||||
**/dev/sda** - первый жесткий диск;
|
||||
**/dev/sr0** - CD-ROM;
|
||||
_Примечание_: в каталоге /dev, как правило, отсутствует информация о сетевых картах и видеокартах, так как работа с ними немного сложнее чем простые операции чтения-записи.
|
||||
В /dev лежат специальные файлы устройств, которые можно считать указателями на драйверы. При помощи этих файлов происходит обращение к устройствам.
|
||||
|
||||
База данных подключенных устройств хранится в директории **/sys**, где они расположены по каталогам и именуются автоматически согласно идентификаторам, например:
|
||||
**/sys/block** - перечень блочных устройств;
|
||||
**/sys/bus** - перечень шин;
|
||||
Если /dev содержит файлы устройств для работы с приложениями, то /sys содержит информацию об этих устройствах. **Метафора: /sys это упаковка, а /dev – содержимое.**
|
||||
|
||||
Информация о состоянии ОС и всех запущенных процессах находится в директории **/proc**, например:
|
||||
**/proc/cpuinfo** - информация о процессоре;
|
||||
**/proc/mounts** - подключенные файловые системы;
|
||||
Самая интересная директория - **/proc/sys**, так как она не только содержит информацию о системе, но и позволяет ее редактировать «на лету».
|
||||
|
||||
---
|
||||
|
||||
Для работы с модулями ядра (драйверами устройств) предназначены следующие команды:
|
||||
• lsmod – информация о модулях ядра;
|
||||
• lspci – информация об устройствах PCI;
|
||||
• lspcmciа – информация об устройствах PCMCIA;
|
||||
• lsusb – информация о шине USB;
|
||||
• lshw – детальная информация о комплектующих;
|
||||
• rmmod – удалить модуль;
|
||||
• insmod – установить модуль;
|
||||
• modprobe– установить модуль и все зависимости.
|
||||
Примечание: в Centos для работы lsusb нужно установить пакет usbutils, а для работы lshw пакет lshw.
|
||||
|
||||
Процессор получает информацию от устройств при помощи прерываний (IRQ), номера которых можно увидеть в файле /proc/interrupts
|
||||
При этом процессор считывает и записывает информацию через адреса устройств ввода-вывода (IO). Адресация IO бывает в оперативной памяти (/proc/iomem) и по портам (/proc/ioports).
|
||||
+64
File diff suppressed because one or more lines are too long
+136
File diff suppressed because one or more lines are too long
+92
File diff suppressed because one or more lines are too long
+39
File diff suppressed because one or more lines are too long
+32
@@ -0,0 +1,32 @@
|
||||
**102.3** Управление библиотеками
|
||||
|
||||
Студент должен уметь управлять определять необходимые для работы библиотеки и устанавливать их.
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- типы библиотек;
|
||||
- месторасположение библиотек;
|
||||
- загрузку библиотек.
|
||||
|
||||
**Термины и утилиты:**** **
|
||||
|
||||
- ldd
|
||||
- ldconfig
|
||||
- /etc/ld.so.conf
|
||||
- LD\_LIBRARY\_PATH
|
||||
|
||||
Библиотеки — это набор функций, используемый ПО при работе. Библиотеки могут входить в состав программного обеспечения, а могут храниться отдельно, загружаясь в оперативную память по мере необходимости. Как правило процесс установки библиотеки - это обычный процесс установки пакета ПО. Но иногда бывает нужно прописать путь к библиотеке, посмотреть используемые файлы и т.д.
|
||||
|
||||
В Linux библиотеки располагаются тут:
|
||||
|
||||
- **/**** lib** - библиотеки для ПО, располагаемого в /bin;
|
||||
- **/usr/lib** - библиотеки для ПО, располагаемого в /usr/bin;
|
||||
- прочие пути, указанные в файле **/**** etc/ld.so.conf **_(по умолчанию это_**/ ****etc**** / ****ld****. ****so****. ****conf****. ****d** _)_;
|
||||
|
||||
Кроме того, набор возможных расположений библиотек определяется значением переменной **LD\_LIBRARY\_PATH**.
|
||||
|
||||
Активные библиотеки располагаются в кэше (_файл_ **/**** etc ****/**** ld ****.**** so ****.**** cache**), для обновления которого необходимо выполнить команду**ldconfig** (заново загрузит библиотеки в кэш).
|
||||
|
||||
Для определения используемых двоичным файлов программы библиотек необходимо выполнение команды ldd, например:
|
||||
|
||||
**ldd** **/**** bin ****/**** ls **** ** _(показать библиотеки, используемые командой / __bin__ / __ls__ );_
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
**102.4** Управление пакетами ПО в Debian
|
||||
|
||||
Студент должен уметь управлять ПО в Debian системах.
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- установку, обновление и удаление пакетов ПО;
|
||||
- получение информации о пакете ПО;
|
||||
- состав и расположение файлов в пакетах ПО.
|
||||
|
||||
**Термины и утилиты:**** **
|
||||
|
||||
- /etc/apt/sources.list
|
||||
- dpkg
|
||||
- dpkg-reconfigure
|
||||
- apt-get
|
||||
- apt-cache
|
||||
- aptitude
|
||||
|
||||
Семейство Debian обладает своими инструментами для работы с пакетами программного обеспечения (и свой формат этих пакетов: deb). Как и у прочих Linux систем, Debian предлагает мощный инструмент для работы с пакетами и несколько облегченных, предлагающих простые варианты решения наиболее частых задач.
|
||||
|
||||
Для работы с пакетами ПО в Debian системах предназначена утилита **dpkg** , являющая громоздким инструментом автоматизации работы с пакетами. Файл конфигурации менеджера пакетов располагается в файле **/**** etc ****/**** dpkg ****/**** dpkg ****.**** cfg**. Примеры использования:
|
||||
|
||||
**dpkg –l ** _(вывести информацию об установленных пакетах);_
|
||||
|
||||
**dpkg –s firefox ** _( __статус__ пакета_ _firefox);_
|
||||
|
||||
**dpkg** **–**** i ****webmin**** ** _(установить пакет_ _webmin__);_
|
||||
|
||||
**dpkg** **–**** r ****webmin**** ** _(удалить пакет_ _webmin__);_
|
||||
|
||||
**dpkg**** - ****reconfigure**** webmin **** ** _(переустановить пакет_ _webmin__);_
|
||||
|
||||
Большей популярностью, чем dpkg, при работе с пакетами ПО в Debian пользуется **apt**. Он умеет автоматически разрешать зависимости и работать с сетевыми репозиториями, в отличии от низкоуровневого dpkg. Примеры ее использования:
|
||||
|
||||
**apt**** - ****get**** update** _(обновить информацию о репозиториях);_
|
||||
|
||||
**apt**** - ****get**** upgrade**_(обновить пакеты);_
|
||||
|
||||
**apt-get install webmin** _( __установить__ пакет_ _webmin);_
|
||||
|
||||
**apt-get remove webmin** _( __удалить__ пакет_ _webmin);_
|
||||
|
||||
Для поиска пакетов используется команда apt-cache, например:
|
||||
|
||||
**apt-cache search webmin ** _( __найти__ пакет_ _webmin);_
|
||||
|
||||
**apt**** - ****cache**** show ****webmin** ** ** _(показать информацию о пакете_ _webmin__);_
|
||||
|
||||
**apt**** - ****cache**** depends ****webmin**** ** _(показать зависимости пакета_ _webmin__);_
|
||||
|
||||
Настройки менеджера пакетов apt находятся в файле **/**** etc ****/**** apt ****/**** apt ****.**** conf **, а перечень репозиториев в файле** / ****etc**** / ****apt**** / ****sources****. ****list****.**
|
||||
|
||||
Также для работы с пакетами в Debian системах можно использовать менеджер **aptitude** , имеющий диалоговой псевдографический интерфейс.
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
**102.5** Управление пакетами ПО в RedHat
|
||||
|
||||
Студент должен уметь управлять ПО в RedHat системах.
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- установку, обновление и удаление пакетов ПО;
|
||||
- получение информации о пакете ПО;
|
||||
- состав и расположение файлов в пакетах ПО.
|
||||
|
||||
**Термины и утилиты:**** **
|
||||
|
||||
- rpm
|
||||
- rpm2cpio
|
||||
- /etc/yum.conf
|
||||
- /etc/yum.repos.d/
|
||||
- yum
|
||||
- yumdownloader
|
||||
|
||||
Семейство RedHat обладает своими инструментами для работы с пакетами программного обеспечения (и свой формат этих пакетов: rpm). Как и у прочих Linux систем, RedHat предлагает мощный инструмент для работы с пакетами и несколько облегченных, предлагающих простые варианты решения наиболее частых задач.
|
||||
|
||||
Для работы с пакетами ПО в RedHat системах предназначена утилита **rpm** , являющая громоздким инструментом автоматизации работы с пакетами, например:
|
||||
|
||||
**r**** pm – ****i**** webmin **** ** _(установить пакет_ _webmin__);_
|
||||
|
||||
**rpm** **–**** e ****webmin**** ** _(удалить пакет_ _webmin__);_
|
||||
|
||||
** ** **rpm –V openssh-client ** _( __проверить__ пакет_ _openssh-client);_
|
||||
|
||||
** r**** pm –qa ** _(показать установленные пакеты);_
|
||||
|
||||
Для конвертации пакета в набор исходных двоичных файлов можно воспользоваться командой **rpm**** 2 ****cpio** , например:
|
||||
|
||||
**rpm**** 2 ****cpio**** ssh **** > **** bin ****.**** cpio**_(достать исходники пакета_ _ssh_ _в архив_ _bin __.__ cpio__);_
|
||||
|
||||
Большей популярностью, чем rpm, при работе с пакетами ПО в RedHat пользуется **yum**. Он умеет автоматически разрешать зависимости и работать с сетевыми репозиториями, в отличии от низкоуровневногоrpm. Примеры его использования:
|
||||
|
||||
**yum**** install ****vim** _ (установить_ _vim__);_
|
||||
|
||||
**yum**** remove ****vim** _ (удалить_ _vim__);_
|
||||
|
||||
**yum search vim ** _ (__найти_ _vim);_
|
||||
|
||||
**yum**** upgrade **** ** _(обновить пакеты ПО);_
|
||||
|
||||
Для поиска информации о пакетах yum пользуется репозиториями, конфигурация которых расположена в виде отдельных файлов в директории **/**** etc ****/**** yum ****.**** repos ****.**** d ****/** _,_ например файл **CentOS**** - ****Base****. ****repo** содержит несколько абзацев, указывающих на имя хранилища пакетов, его адрес и ключи для проверки.
|
||||
|
||||
Настройки самого менеджера пакетов yum хранятся в файле **/**** etc ****/**** yum ****.**** conf**
|
||||
|
||||
Для скачивания пакетов можно воспользоваться утилитой **yumdownloader** , например:
|
||||
|
||||
**yumdownloader**** resolve ****openssh**** ** _(скачать пакет_ _openssh_ _и все его зависимости)._
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
**103.1** Работа в командной строке
|
||||
|
||||
Студент должен уметь работать с командными оболочками и командами в командной строке
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- работу с оболочками и командами для выполнения основных задач;
|
||||
- использование и изменение среды оболочки, в том числе переменных среды;
|
||||
- работу с историей выполненных команд;
|
||||
- работу с командами исходя из текущего месторасположения.
|
||||
|
||||
**Термины и утилиты:**** **
|
||||
|
||||
- bash
|
||||
- echo
|
||||
- env
|
||||
- export
|
||||
- pwd
|
||||
- set
|
||||
- unset
|
||||
- man
|
||||
- uname
|
||||
- history
|
||||
- .bash\_history
|
||||
|
||||
Работа администратора с Linux заключается прежде всего в оперировании в командной строке. Командная строка, или консоль — это отдельная программируемая среда со своими настройками, возможностями и инструментами. Существует множество различных оболочек, в данном уроке рассматривается bash, используемая в большинстве современных ОС.
|
||||
|
||||
Увидеть название оболочки, используемой пользователем по умолчанию, можно в конце каждой строки файла **/**** etc ****/**** passwd **. Глобальные настройки командной строки находятся в файле** / ****etc**** / ****profile** , а настройки для каждого пользователя в файлах его домашней директории.
|
||||
|
||||
При этом существует несколько вариантов расположения настроек, в зависимости от семейства ОС. В общем виде поиск настроек осуществляется в следующем порядке: **~/.bash\_profile, ~/.bash\_login** , и **~/.profile** (настройки берутся из первого обнаруженного файла).
|
||||
|
||||
При работе в консоли используются следующие распространенные команды (их больше, но в данной теме LPI почему-то заостряет внимание на этих):
|
||||
|
||||
- **cat** – вывод содержимого файла в консоль;
|
||||
- **cd** – переход в каталог;
|
||||
- **ls** – вывод содержимого каталога;
|
||||
- **echo** – вывод текста в консоль;
|
||||
- **touch** – обновление времени редактирования файла или создание нового пустого файла;
|
||||
- **uname ** – вывод имени ОС;
|
||||
|
||||
Консоль, как отдельная рабочая среда содержит свои переменные: переменные среды (глобальные переменные, использующиеся в ОС) и обычные переменные (работают в пределах запущенного сеанса консоли). Для просмотра переменных доступны команды:
|
||||
|
||||
- **env** – вывод переменных среды;
|
||||
- **export** – превращение переменной в переменную среды;
|
||||
- **unset** – отключение переменной;
|
||||
|
||||
Для создания переменной используется простой синтаксис **имя\_переменной=значение\_переменной**. Для обращения к переменной указывается знак **$** , например:
|
||||
|
||||
**X**** =12 ** _(задать переменной_ _X_ _значение 12);_
|
||||
|
||||
**echo** **$**** X **** ** _(вывести значение переменной_ _X__);_
|
||||
|
||||
Для выполнения команды в текущем каталоге (его можно узнать командой **pwd** ), нужно указывать полный путь к команде (_например, / __home__ / __semaev__ /__script_), если текущий каталог не перечислен в значениях переменной среды **PATH**.
|
||||
|
||||
Для получения справочной информации доступны команды:
|
||||
|
||||
- **man** – справка по команде;
|
||||
- **file** – справка по файлу;
|
||||
- **whatis** – справка по названию;
|
||||
- **history** – вывод истории команд (список хранится в .bash\_history);
|
||||
|
||||
Отдельно следует упомянуть команду **exec** , позволяющую выполнять команду за пределами текущей оболочки, сбрасывая права суперпользователя.
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
**103.2** Управление текстовым потоком
|
||||
|
||||
Студент должен уметь управлять фильтровать текстовый поток
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- применение текстовых фильтров с использованием встроенных команд UNIX
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- cat
|
||||
- cut
|
||||
- expand
|
||||
- fmt
|
||||
- head
|
||||
- join
|
||||
- less
|
||||
- nl
|
||||
- od
|
||||
- paste
|
||||
- pr
|
||||
- sed
|
||||
- sort
|
||||
- split
|
||||
- tail
|
||||
- tr
|
||||
- unexpand
|
||||
- uniq
|
||||
- wc
|
||||
|
||||
Множество файлов в Linux неудобны для восприятия без предварительного форматирования, кроме того процесс обработки текстовой информации часто требует ее форматирования, обрезания, сортировки и т.д. Linux предлагает широкий набор инструментов редактирования текстового вывода, при этом следует заметить что указанные инструменты не затрагивают исходный файл (или текстовый поток), а форматируют его, выдавая полученный результат в консоль или другой файл.
|
||||
|
||||
Простой вывод текста (без корректировки содержимого):
|
||||
|
||||
Для вывода содержимого файла или объединения нескольких файлов на выводе используется команда **cat** , например:
|
||||
|
||||
**с**** at **** 1. ****txt** **2.**** txt **** > 3. ****txt**** ** _(передать содержимое двух файлов в третий);_
|
||||
|
||||
Команда **join** объединяет строки нескольких файлов по общему полю и отправляет их на стандартный вывод.
|
||||
|
||||
Команда **less** загружает файл постепенно и также отправляет его на вывод (удобно для больших файлов).
|
||||
|
||||
Команда **nl** нумерует строки.
|
||||
|
||||
Команда **pr** показывает, как содержимое файла будет выглядеть при выводе его на печать.
|
||||
|
||||
Команда **paste** вставляет строки из одного файла в другой и отправляет результат на стандартный вывод.
|
||||
|
||||
Команда **head** показывает первые строки файла, а **tail** – последние.
|
||||
|
||||
Например:
|
||||
|
||||
**head** **–**** n **** 2 / ****var**** / ****log**** / ****syslog**** ** _(вывести первые две строчки файла);_
|
||||
|
||||
**tail** **–**** f **** / ****var**** / ****log**** / ****syslog**** ** _(показывать последние строки файла, отображая содержимое в реальный момент времени);_
|
||||
|
||||
Команда **sort** может отсортировать содержимое файла по какому-нибудь признаку, например:
|
||||
|
||||
**sort** **1.**** txt **** ** _(отсортировать строки по алфавиту);_
|
||||
|
||||
Команда **wc** позволяет посчитать количество символов и т.д. в текстовом потоке, например:
|
||||
|
||||
**wc** **1.**** txt** _(посчитать количество строк, символов, слов);_
|
||||
|
||||
|
||||
|
||||
Вывод форматированного текста (с корректировкой содержимого):
|
||||
|
||||
Команда **cut** используется для обрезания содержимого файлов на выводе, например:
|
||||
|
||||
**с**** ut **** – ****c** **2,3,4,5,10 1.**** txt **** ** _(показывать только символы на указанных позициях: 2,3,4,5,10);_
|
||||
|
||||
Команда **expand** превращает символы табуляции в несколько пробелов, а **unexpand** наоборот – пробелы в символы табуляции.
|
||||
|
||||
Команда **fmt** предназначена для форматирования текста различными способами, например:
|
||||
|
||||
**fmt** **1.**** txt **** ** _(вывести содержимое файла в одну строку);_
|
||||
|
||||
**fmt** **–**** w **** 10 1. ****txt**** ** _(вывести содержимое файла в строки не больше 10 символов каждая);_
|
||||
|
||||
Команда **od** предназначена для конвертации текста в другой формат, например:
|
||||
|
||||
**od** **–**** c **** 1. ****txt**** ** _(отобразить в кодировке_ _ASCI__);_
|
||||
|
||||
Команда **tr** предназначена для замены и удаления символов в текстовом потоке, например:
|
||||
|
||||
**echo** **"**** HELLO ****" |** **tr** **–**** t ****L**** l **** ** _(заменить " __L__" на " __l__" в полученном на вводе тексте);_
|
||||
|
||||
Команда **split** может разбить файла по каким-либо критериям, например:
|
||||
|
||||
**split** **–**** l **** 2 1. ****txt** _(разбить содержимое файла по две строчки);_
|
||||
|
||||
Команда **uniq** предназначена для поиска повторяющихся строк, например:
|
||||
|
||||
**uniq** **–**** u **** 1. ****txt** _(показать только уникальные строки);_
|
||||
|
||||
**Sed** – отдельный мощный инструмент, понимающий групповые символы, шаблоны и т.д. Будет рассмотрен немного подробнее в дальнейших урока. Работает, например, так:
|
||||
|
||||
**sed –e 's/socks/people/' 1.txt ** _( __заменить__ в __файле__ слово_ _"socks"_ _на_ _"people");_
|
||||
+107
@@ -0,0 +1,107 @@
|
||||
**103.3** Основные операции с файлами
|
||||
|
||||
Студент должен уметь управлять файлами и каталогами при помощи основных команд Linux
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- копирование, перенос и удаление файлов и каталогов;
|
||||
- копирование нескольких файлов и каталогов, в том числе рекурсивно;
|
||||
- удаление файлов и каталогов, в том числе рекурсивно;
|
||||
- групповые символы (wildcard);
|
||||
- отбор файлов по типу, размеру, датам и т.д.;
|
||||
- работу с tar, cpio и dd.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- cp
|
||||
- find
|
||||
- mkdir
|
||||
- mv
|
||||
- ls
|
||||
- rm
|
||||
- rmdir
|
||||
- touch
|
||||
- tar
|
||||
- cpio
|
||||
- dd
|
||||
- file
|
||||
- gzip
|
||||
- gunzip
|
||||
- bzip2
|
||||
- xz
|
||||
- групповые символы
|
||||
|
||||
Частой задачей администратора в Linux является работа с файлами и каталогами: создание, копирование, перемещение и удаление. Использование групповых символов вместе с инструментами консоли позволяют осуществлять эти действия с максимальной эффективностью.
|
||||
|
||||
Для создания директорий используется команда **mkdir**** имя\_каталога **, для удаления пустого каталога -** rmdir ****имя\_каталога**. Просмотр содержимого текущей директории – **ls**. Например:
|
||||
|
||||
**ls** **–**** l**_ (просмотреть содержимое текущего каталога);_
|
||||
|
||||
**ls**** fol ****\*** _ (посмотреть содержимого каталогов, имена которых начинаются с " __fol__");_
|
||||
|
||||
Для копирования используется команда **cp** **что\_копировать куда\_копировать** , например:
|
||||
|
||||
**cp** **–**** R ****Folder**** NewFolder**_ (скопировать директорию " __Folder__" со всем содержимым в текущий каталог с именем новой директории " __NewFolder__");_
|
||||
|
||||
Для переноса используется команда **mv** **что\_переносить куда\_переносить** , например:
|
||||
|
||||
**mv**** file ****.**** txt ****folder**** 1/** _(перенести " __file__. __txt__" в каталог " __folder__ 1" в текущей директории);_
|
||||
|
||||
Для удаления используется команда **rm**** что\_удалить**, например:
|
||||
|
||||
**rm** **–**** rf ****folder**** 1 ** _(удалить каталог_ _folder__1 вместе с содержимым);_
|
||||
|
||||
Для создания пустого файла, или обновления метки доступа существующего, используется команда **touch** **имя\_файла,** а для получения информации о файле – команда **file**** имя\_файла**.
|
||||
|
||||
Групповые символы, использующиеся при работе с текстовыми данными:
|
||||
|
||||
- _\* – любое количество любых символов;_
|
||||
- **? ** _ – любой символ;_
|
||||
- **! ** _– не (любой символ кроме указанных);_
|
||||
- **[****ac****] ** _– __a_ _или_ _c__ ;_
|
||||
- **[****a ****-**** c****]** _ –_ _a __,_ _b__ ,_ _c__._
|
||||
|
||||
Например:
|
||||
|
||||
**ls** **\* ** _(вывести содержимое всех каталогов);_
|
||||
|
||||
**ls** **?**** at ****.**** txt **** ** _(вывести содержимое файла с именем: любая первая буква, остальная часть имени " __at__. __txt__");_
|
||||
|
||||
**ls** **\***** at ****.**** txt **** ** _(вывести содержимое файла с именем, оканчивающимся на " __at__. __txt__");_
|
||||
|
||||
**ls** **![****ab****]\* ** _(вывести содержимое файла или каталога с именем, начинающимся с любых символов, кроме " __a__" и " __b__");_
|
||||
|
||||
Для поиска информации используется команда **find** , например:
|
||||
|
||||
**find** **. –**** name ****"\ *****A**** \*" ** _(искать в текущей директории объекты, имеющие в имени символ " __A__");_
|
||||
|
||||
**find** **/**** etc **** – ****size** ** -5**** M **** ** _(искать в директории "/ __etc__" объекты размером менее 5 Мб);_
|
||||
|
||||
**find** ** . –**** type ****l** _(искать в текущей директории ссылки);_
|
||||
|
||||
В среде Linux существует несколько распространённых архиваторов, использующихся для распаковки и упаковки объектов в единый файл:
|
||||
|
||||
- **с**** pio** - двоичный архиватор, копирующий информацию в архив и обратно;
|
||||
- **dd** - копирование по блокам;
|
||||
- **gzip** и **gunzip** - утилита сжатия и восстановления файлов (контейнер одного файла);
|
||||
- bzip2 и bunzip2 - утилита сжатия и восстановления файлов (контейнер одного файла);
|
||||
- xz и unxz - утилита сжатия и восстановления файлов (контейнер одного файла);
|
||||
- tar - архиватор (работает с набором файлов и каталогов).
|
||||
|
||||
Например:
|
||||
|
||||
**find** **. –**** name ****"\*. ****txt****" | **** cpio **** – ****o** **> ../**** test ****.**** cpio** _(найти в текущей папке все файлы с расширением ". __txt__" и упаковать их в архив_ _test __.__ cpio__, расположив его на уровень выше текущей_ _директории);_
|
||||
|
||||
**cpio** **-**** id **** < **** test ****.**** cpio**_ (распаковать в текущий каталог архив " __test__. __cpio__", создавая при необходимости структуру директорий);_
|
||||
|
||||
**dd**** if ****=/**** dev ****/**** sdb ****of**** = ****drive****. ****img**** ** _(скопировать носитель / __dev__ / __sdb_ _в образ_ _drive__. __img__ , располагающийся в текущей директории);_
|
||||
|
||||
**gzip**** drive ****.**** img **** ** _(сжать образ " __drive__. __img__" до " __drive__. __img__. __gz__", удалив исходный файл);_
|
||||
|
||||
**bunzip**** 2 **** drive ****.**** img ****.**** bz ****2 ** _(распаковать архив " __drive__. __img__. __bz__ 2" в текущий каталог);_
|
||||
|
||||
**unxz**** drive ****.**** img ****.**** xz **** ** _(распаковать архив " __drive__. __img__. __xz__" в текущий каталог);_
|
||||
|
||||
**tar**** cvf ****arch****. ****tar** ** **** folder** _(упаковать каталог " __folder__" в архив " __arch__. __tar__")._
|
||||
|
||||
**tar** **–**** xvf ****archive****. ****tar**** ** _(распаковать архив " __archive__. __tar__")._
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
**103.4** Потоки, конвейеры и перенаправления
|
||||
|
||||
Студент должен уметь управлять потоками для обработки текстовых данных
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- перенаправление стандартных ввода, вывода и ошибок;
|
||||
- передачу вывода одной команды на ввод другой;
|
||||
- использование вывода одной команды в качестве аргументов другой;
|
||||
- получение выходных данных в файл и на стандартный вывод.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- tee
|
||||
- xargs
|
||||
|
||||
- stdin
|
||||
- stout
|
||||
- stderr
|
||||
|
||||
Linux традиционно использует потоки для ввода, вывода и ошибок. Обычно ввод – это клавиатура или файлы, а вывод ошибок и результатов происходит в консоль. Но часто бывает нужно объединить последовательность команд в конвейер, или отправить результат в какой-нибудь файл.
|
||||
|
||||
Для того чтобы послать на ввод программы некоторые данные используется знак " **<**", например:
|
||||
|
||||
**wc** **<** **file**** 1. ****txt**** ** _(использовать в качестве ввода для программы_ _wc_ _файл_ _file __.__ txt__);_
|
||||
|
||||
Для того чтобы послать вывод программы куда-нибудь, кроме стандартного направления, используется знак " **>**", например:
|
||||
|
||||
**ls** **>** **list****. ****txt** _(перезаписать содержимое файла_ _list __.__ txt_ _результатом команды_ _ls__);_
|
||||
|
||||
**ls** **>>** **list****. ****txt** _(дописать в файл_ _list __.__ txt_ _результат команды_ _ls__);_
|
||||
|
||||
Для ввода, вывода и ошибок используются следующие обозначения:
|
||||
|
||||
- **Stdin** _– стандартный ввод программы (обозначение "0");_
|
||||
- **Stdout** – _стандартный вывод программы (обозначение "1");_
|
||||
- **Stderr** – _стандартные ошибки программы (обозначение "2");_
|
||||
|
||||
Например:
|
||||
|
||||
**l**** s bob 2> error.txt**
|
||||
|
||||
**ls**** bob **** > **** result ****.**** txt **** 2> **** error ****.**** txt**
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
**103.5** Управление процессами в Linux
|
||||
|
||||
Студент должен уметь создавать, отслеживать и завершать процессы
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- запуск задач в активном и фоновом режимах;
|
||||
- настройку выполнения задачи после выхода из системы;
|
||||
- способы отслеживания и сортировки активных процессов;
|
||||
- завершение процессов.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- &
|
||||
- bg
|
||||
- fg
|
||||
- jobs
|
||||
- kill
|
||||
- nohup
|
||||
- ps
|
||||
- top
|
||||
- free
|
||||
- uptime
|
||||
- pgrep
|
||||
- pkill
|
||||
- killall
|
||||
- screen
|
||||
|
||||
Linux содержит в себе множество инструментов для управления запущенными процессами: от сортировки, отслеживания состояния и загрузки системы до перевода процессов в фоновый режим и обратно.
|
||||
|
||||
Посмотреть запущенные процессы в текущей консоли можно при помощи команды **jobs**. Для вывода всех запущенных в данный момент процессов (независимо от консоли) используется команда ps с различным набором ключей, например:
|
||||
|
||||
**Ps**** aux** _(вывести процессы всех пользователей);_
|
||||
|
||||
Можно вывести процессы в консоль, отображая иерархию из взаимосвязи командой **pstree**.
|
||||
|
||||
Для отображения идентификаторов процессов по определенному критерию можно использовать команду **pgrep** , например:
|
||||
|
||||
**pgrep** **-**** l **** - ****u**** root **** ** _(отобразить все процессы пользователя_ _root__)_
|
||||
|
||||
Чтобы запустить процесс в фоновом режиме необходимо указать ключ **&** , например:
|
||||
|
||||
**Sleep** **999 & ** _(запустить задачу_ _sleep_ _999 в фоновом режиме);_
|
||||
|
||||
Для перевода процесса из фонового режима в активный используется команда **fg** , обратно – **bg**. В качестве аргумента команды следует указать номер процесса (_его можно увидеть на выводе команды_ _jobs_).
|
||||
|
||||
Для того чтобы процесс продолжал выполняться после выхода пользователя из системы, его следует запускать командой **nohup** , например:
|
||||
|
||||
**nohup** ** **** sleep **** 1000 & ** _(запустить процесс "__sleep_ _1000" в фоновом режиме, и выполнять его даже в случае выхода пользователя из системы);_
|
||||
|
||||
Для остановки процесса используется команда **kill** , например:
|
||||
|
||||
**kill** **2625** _ (выключить процесс с_ _PID__=2625);_
|
||||
|
||||
**killall**** sleep **** ** _(выключить все процессы с именем_ _sleep_ _для текущего пользователя)_ **;**
|
||||
|
||||
Для остановки процессов по указанному критерию можно использовать команду **pkill** , например:
|
||||
|
||||
**pkill**** refox **** ** _(остановить процесс, в имени которого есть символы " __refox__");_
|
||||
|
||||
Для просмотра информации о работающих процессах в режиме реального времени используется диспетчер задача **top**. Используя его можно сортировать запущенные задачи по различным критериям и останавливать их _(клавиша_ _K__)_ мягко _(__sigterm__)_ и жестко _(__sigkill__)_.
|
||||
|
||||
Для отображения информации о времени работы системы и среднем времени загрузки АЧ используется команда **uptime**.
|
||||
|
||||
Для отображения информации о загрузке ОЗУ и раздела подкачки используется команда **free**.
|
||||
|
||||
Кроме того, Linux поддерживает работу с несколькими «экранами» при помощи команды **screen**. Она позволяет, в числе всего прочего, сворачивать запущенные приложения в консоли, в рамках той же консоли, например:
|
||||
|
||||
**screen** **-**** S ****yandex**** ping ****ya****. ****ru**** ** _(создать экран с именем_ _yandex_ _для команды_ _ping __ya__. __ru__ );_
|
||||
|
||||
**screen** **–**** ls **** ** _(показать свернутые экраны);_
|
||||
|
||||
**screen** **-**** r ****yandex**** ** _(развернуть экран с именем_ _yandex__)._
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
**103.6** Изменение приоритетов процессов
|
||||
|
||||
Студент должен уметь менять приоритеты выполняющихся процессов
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- приоритеты по умолчанию создаваемых процессов;
|
||||
- запуск программ с повышенным и пониженным приоритетом;
|
||||
- изменение приоритета уже запущенной программы.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- nice
|
||||
- ps
|
||||
- renice
|
||||
- top
|
||||
|
||||
Несмотря на то, что Linux является довольно стабильной системой, которая умеет автоматически подстраиваться под текущие условия работы, иногда приходится вручную управлять приоритетами процессов, для контроля над ресурсами ПК.
|
||||
|
||||
Для просмотра текущих процессов используется команда **ps** , например:
|
||||
|
||||
**p**** s aux** _(отобразить процессы по всем пользователям);_
|
||||
|
||||
**ps** **–**** eo ****user**** , ****pid**** , ****pcpu**** , ****nice**** , ****comm** _(отобразить процессы, выводя указанные данные);_
|
||||
|
||||
Приоритет процесса определяется параметром **nice** (в Ubuntu может принимать значения от -20 до +19): чем ниже значение, тем выше приоритет. По умолчанию значение nice для каждого процесса равно "-10".
|
||||
|
||||
Для запуска процесса с указанным приоритетом используется команда **nice** , например:
|
||||
|
||||
**nice** **–**** n **** -20 **** ping ****ya****. ****ru**** ** _(запустить процесс с приоритетом "-20");_
|
||||
|
||||
Для изменения приоритета запущенного процесса используется команда **renice** , например:
|
||||
|
||||
**renice 15 –p 10241 ** _(изменить приоритет процесса с_ _PID_ _"10421");_
|
||||
|
||||
**renice** **-15 –**** u ****semaev**** ** _(изменить приоритет процессов пользователя " __semaev__");_
|
||||
|
||||
Также для использования доступен диспетчер задач **top** , выводящий сведения о запущенных процессах в реальном режиме в консоль. Для изменения критерия сортировки процессов используются символы "<" и ">".
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
**103.7** Поиск информации при помощи регулярных выражений
|
||||
|
||||
Студент должен уметь осуществлять поиск необходимых файлов и информации внутри них.
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- создание простых регулярных выражений;
|
||||
- инструменты, опирающиеся на эти выражения, для поиска файлов.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- grep
|
||||
- egrep
|
||||
- fgrep
|
||||
- rgrep
|
||||
- sed
|
||||
- регулярные выражения.
|
||||
|
||||
Частой задачей в Linux является поиск необходимых файлов и сортировка информации внутри них. Для этой задачи служат регулярные выражения – специальный язык поиска и изменения информации, обладающий своим синтаксисом.
|
||||
|
||||
При отборе информации можно использовать стандартные групповые символы:
|
||||
|
||||
- **^** _ - начало строки;_
|
||||
- **$ ** _ - конец строки;_
|
||||
- **. ** _ - любой символ;_
|
||||
- **\<**** a **** ** _- слово, начинающееся с " __a__";_
|
||||
- **\>**** a **** ** _-_ _c __лово, заканчивающееся на "__ a__";_
|
||||
- **a**** - ****z**** ] **** -** _диапазон от " __a__" до " __z__";_
|
||||
- **[^t]**** **** -** _не буква " __t__";_
|
||||
- **a|z**** **** -** _" __a__" __или "__ z __"__ ;_
|
||||
- и т.д.;
|
||||
|
||||
Для простой сортировки набора строк используется команда **grep** , например:
|
||||
|
||||
**grep**** oo ****file****. ****txt** _(отобразить в файле текст с двумя буквы « __o__ » подряд);_
|
||||
|
||||
**ls** **|** **grep**** ile** _(вывести названия содержимого каталога с набором символов ' __ile__');_
|
||||
|
||||
**grep**** ple ****$** **file****. ****txt** _(отобразить в файле_ _file __.__ txt_ _строки, заканчивающиеся на ' __ple__');_
|
||||
|
||||
Для расширенной сортировки и поиска по сложным регулярным выражениям используется команда **egrep** (также можно использовать **grep** **-**** E**), например:
|
||||
|
||||
**egrep** **'^(****b ****|**** d****)'** **file****. ****txt** _(все строки, что начинаются с " __b__" или " __d__");_
|
||||
|
||||
**egrep** **'^[****a ****-**** k****]'** **file****. ****txt** _(все строки, что начинаются с " __a__" по " __k__");_
|
||||
|
||||
Для быстрой сортировки и поиска по набору символов без регулярных выражений используется команда **fgrep** (также можно использовать **grep** **-**** F**), например:
|
||||
|
||||
**fgrep**** c ****$** **file****. ****txt** _ (отобразить в_ _file __.__ txt_ _последовательность символов " __c__ $");_
|
||||
|
||||
Для рекурсивной (включая вложенные каталоги и файлы) сортировки и поиска по набору символов используется команда **rgrep** (также можно использовать **grep** **-**** R**), например:
|
||||
|
||||
**rgrep** ** **** word**_ (вывести позиции содержащие « __word__ » в текущем и всех вложенных каталогах__);_
|
||||
|
||||
Для изменения текстового потока согласно заданным правилам используется редактор sed, например:
|
||||
|
||||
**sed** **–**** e ****' ****s**** / ****oo**** / ****aa**** /' ****file****. ****txt** _(заменить в_ _file __.__ txt_ _все " __oo__" на " __aa__" );_
|
||||
|
||||
**sed** **–**** re ****' ****s**** /^( ****B**** | ****b**** )/ ****C****' ****file****. ****txt** **>** **newfile****. ****txt** _(в строках, начинающихся с « __B__ » или « __b__ », заменить первую букву на «С» и сохранить результат в_ _newfile __.__ txt__);_
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
**103.8 Текстовый редактор** **Vi****.**
|
||||
|
||||
Студент должен уметь редактировать файлы в vi, и ориентироваться в нем.
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- навигацию по документу с использованием vi;
|
||||
- использование основных режимов работы vi;
|
||||
- вставку, редактирование, удаление, копирование и поиск текста.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- vi
|
||||
- /, ?
|
||||
- h,j,k,l
|
||||
- i, o, a
|
||||
- c, d, p, y, dd, yy
|
||||
- ZZ, :w!, :q!, :e!
|
||||
|
||||
Так как все основные настройки в Linux выполняются редактированием файлов, все журналы, устройства, демоны и т.д. тоже по сути являются файлами, то текстовый редактор является одним из важнейших инструментов управления ОС. Существует множество редакторов с различными возможностями, здесь же будет рассмотрен редактор Vi.
|
||||
|
||||
**Vi** имеет **модальный** интерфейс и одни и те же клавиши в разных режимах выполняют разные действия. По умолчанию работа начинается в **командном режиме**.
|
||||
|
||||
Для перемещения по документу используются следующие символы:
|
||||
|
||||
- **h** _или_ **←** _(перемещение на символ влево);_
|
||||
- **j** _или_ **↓** _(перемещение на символ вниз);_
|
||||
- **k** _или_ **↑** _(перемещение на символ вверх);_
|
||||
- **l** _или_ **→** _(перемещение на символ вправо);_
|
||||
- **b**** ** _(перемещение в начало слова);_
|
||||
- **e**** ** _(перемещение в конец слова);_
|
||||
- **( ** _(перемещение в начало предложения);_
|
||||
- **) ** _(перемещение в конец предложения);_
|
||||
- **{ ** _(перемещение в начало абзаца);_
|
||||
- **} ** _(перемещение в конец абзаца);_
|
||||
- **^ ** _(перемещение в начало строки);_
|
||||
- **$ ** _(перемещение в конец строки);_
|
||||
- **1**** G **** ** _(перемещение в начало файла);_
|
||||
- **G**** ** _(перемещение в конец файла)._
|
||||
|
||||
Для перехода в режим вставки можно воспользоваться следующими символами:
|
||||
|
||||
- **I**** ** _(режим вставки перед текущим символом);_
|
||||
- **a**** ** _(режим вставки после текущего символа);_
|
||||
- **o**** ** _(вставить новую строчку);_
|
||||
- **s ** _(стереть символ и вставить)._
|
||||
|
||||
Для возврата в командный режим можно использовать клавишу **Esc** или сочетание **Ctrl**** + ****C**
|
||||
|
||||
Находясь в режиме редактирования можно использовать буфер обмена:
|
||||
|
||||
- **y** _ (скопировать)__;_
|
||||
- **d** _ ( __вырезать__ )__;_
|
||||
- **c** _ ( __изменить__ )__;_
|
||||
- **p** _ (вставить)._
|
||||
|
||||
Также возможны комбинации с символами перемещения по тексту и обозначениями **d** (строка), **w** (слово) и **l** (символ); например
|
||||
|
||||
**yw** _ (скопировать слово);_
|
||||
|
||||
**dd** _ (вырезать строку);_
|
||||
|
||||
**cl** _ (изменить символ);_
|
||||
|
||||
**d**** $**_ (удалить с текущего места до конца строки);_
|
||||
|
||||
**y**** }**_ (скопировать с текущего места до конца абазца);_
|
||||
|
||||
Для поиска информации доступны символы:
|
||||
|
||||
- **/ ** _ (искать ниже по тексту набор символов, указанных после «/»);_
|
||||
- **? ** _ (искать выше по тексту набор символов, указанных после «?»);_
|
||||
- **n**** ** _ (показать следующий результат поиска);_
|
||||
- **N**** ** _ (показать предыдущий результат поиска)._
|
||||
|
||||
Для завершения работы с файлом:
|
||||
|
||||
- **:e!** _ (отменить все изменения, где «!» - игнорировать все предупреждения);_
|
||||
- **:**** w ****!** _ (записать изменения);_
|
||||
- **:q ** _(выйти из файла);_
|
||||
|
||||
Как всегда, возможны комбинации, например:
|
||||
|
||||
**:**** wq ****! newfile.txt ** _(сохранить под именем_ _newfile __.__ txt_ _и выйти);_
|
||||
|
||||
Также доступны сокращенные команды:
|
||||
|
||||
- **ZZ ** _(сохранить и выйти)__;_
|
||||
- **ZQ**** ** _(не сохранять и выйти);_
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
**104.1 Создание файловых систем.**
|
||||
|
||||
Студент должен научиться разбивать диск на разделы, создавать на них файловые системы и управлять разделом подкачки.
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- управление таблицами разделов MBR;
|
||||
- создание файловых систем mkfs (ext, XFS, VFAT);
|
||||
- знакомство с ReiserFS и Btrfs;
|
||||
- базовые навыки работы с GPT.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- fdisk
|
||||
- gdisk
|
||||
- parted
|
||||
- mkfs
|
||||
- mkswap
|
||||
|
||||
Linuх поддерживает работу с различными файловыми системами. Для возможности работы с файловыми системами, кроме классической ext, необходим набор соответствующих инструментов, устанавливаемых вместе с набором ПО для каждой файловой системы.
|
||||
|
||||
Утилита **fdisk** предназначена для работы с носителями информации, использующими классическую таблицу разделов MBR (последние версии умеют работать и с GUID). Используя эту утилиту можно в интерактивном режиме создавать, удалять и изменять разделы жесткого диска, например:
|
||||
|
||||
**fdisk** **–**** l**_(вывести информацию о текущих разделах дисков);_
|
||||
|
||||
Утилита **gdisk** предназначена для работы с носителями информации, использующими таблицу разделов GUID. Используя эту утилиту можно в интерактивном режиме создавать, удалять, изменять и конвертировать разделы жесткого диска, например:
|
||||
|
||||
**gdisk** **/**** dev ****/**** sdb**_(начать работу с носителем / __dev__. __sdb__ );_
|
||||
|
||||
Для создания файловой системы используется утилита **mkfs** , вызывающая специализированные инструменты для каждой отдельной файловой системы, например:
|
||||
|
||||
**mkfs** **–**** t ****ext**** 2 / ****dev**** / ****sdb**** 1** _(отформатировать раздел /dev/sdb1 в_ _ext__2);_
|
||||
|
||||
**mkfs****. ****ext**** 2 / ****dev**** / ****sdb**** 1** _(отформатировать раздел /dev/sdb1 в_ _ext__2);_
|
||||
|
||||
Для расширенных возможностей управления различными файловыми системами (сжатие, расширение, перенос, копирование и т.д.) используется утилита **parted** , или ее релиз с графическим интерфейсом – **gparted**.
|
||||
|
||||
Для работы с нестандартными файловыми системами нужно ставить соответствующие им наборы ПО, например **xfsprogs** (для файловой системы XFS), **reiserfsprogs** (для файловой системы ReiserFS) или **btrfs**** - ****tools** (для файловой системы BTRFS)_._ После установки этих пакетов ПО стандартные инструменты Linux смогут создавать и редактировать разделы с указанными файловыми системами.
|
||||
|
||||
Также следует отметить, что в Linux используется отдельный раздел подкачки, используемый в качестве временного хранилища информации в том случае, если оперативная память ПК заполнена. Для работы с ним используются следующие инструменты:
|
||||
|
||||
**mkswap** _(создать файловую систему для раздела подкачки);_
|
||||
|
||||
**swapon** _(включить раздел подкачки);_
|
||||
|
||||
**swapoff** _(выключить раздел подкачки)._
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
**104.2 Проверка целостности файловых систем.**
|
||||
|
||||
Студент должен умет управлять стандартной файловой системой, и понимать принципы работы с журналируемой файловой системой.
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- проверку целостности файловой системы;
|
||||
- отслеживание айнодов и свободного пространства;
|
||||
- исправление простых проблем с файловой системой.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- du
|
||||
- df
|
||||
- fsck
|
||||
- e2fsck
|
||||
- mke2fs
|
||||
- debugfs
|
||||
- dumpe2fs
|
||||
- tune2fs
|
||||
- инструменты XFS
|
||||
|
||||
Linuх использует умеет работать с различными файловыми системами. Для поддержки всех возможностей отдельных файловых систем необходимо устанавливать соответствующие наборы ПО, содержащие дополнительные инструменты.
|
||||
|
||||
Утилита **df** (diskfree) показывает свободное место в файловых системах, например:
|
||||
|
||||
**df** _ (показывает в блоках килобайт)_
|
||||
|
||||
**df –h** _(показывает в мегабайтах и т.д.)_
|
||||
|
||||
**d**** f –i**_(показывает в_ _inode__)_
|
||||
|
||||
Inode (индексный дескриптор) – идентификатор файла, содержащий о нем всю необходимую информацию.
|
||||
|
||||
Утилита **du** (diskusage) показывает занятое место в файловых системах, например:
|
||||
|
||||
**d**** u**_(показывает размер текущей директории в блоках килобайт)_
|
||||
|
||||
**d**** u –h**_(показывает в мегабайтах и т.д., включая вложенные папки)_
|
||||
|
||||
**d**** u –h /home/\***_(показывает размер директории / __home__ , отображая размер всех подкаталогов)_
|
||||
|
||||
**d**** u –h –summarize /home/\*** _(показывает размер директории / __home__ , включая все подкаталоги)_
|
||||
|
||||
Утилита **fsck** предназначена для проверки файловых систем. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты проверки. Проверку осуществляют для демонтированных файловых систем, неактивных в данный момент, например:
|
||||
|
||||
**f**** sck /dev/sdb1** _(будет вызван инструмент проверки файловой системы, например для_ _ext_ _это будет инструмент_ _e __2__ fsck__);_
|
||||
|
||||
**fsck** **–**** t ****ext**** 4 / ****dev**** / ****sdb**** 1 **_(можно сразу указать формат файловой системы, если он известен)_
|
||||
|
||||
Утилита **mkfs** предназначена для создания файловых систем. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты, например:
|
||||
|
||||
**mkfs** **–**** t ****xfs** **–**** f **** / ****dev**** / ****sdb**** 1 **_(создать файловую систему_ _xfs_ _на устройстве / __dev__ / __sdb__ 1);_
|
||||
|
||||
**mke2fs –t ext2 /dev/sdb1** _(создать файловую систему_ _ext __2 на устройстве /__ dev __/__ sdb__1);_
|
||||
|
||||
Для работы с файловой системой **XFS** (сейчас centos7 использует ее в качестве файловой системы по умолчанию), к примеру, используются следующие инструменты:
|
||||
|
||||
- **xfs**** \_ ****check** _для проверки;_
|
||||
- **xfs**** \_ ****repair** _для восстановления;_
|
||||
- **xfs\_info** _для получения информации_ **;**
|
||||
- **xfs\_metadump** _для создания дампа._
|
||||
|
||||
Для отладки классической файловой системы используется утилита **debugfs**. Этот инструмент в интерактивном режиме позволяет работать с айнодами файловой системы, например, в нем доступны следующие инструменты:
|
||||
|
||||
- **ls** _– просмотреть данные в системе;_
|
||||
- **lsdel** _– показать удаленные файлы;_
|
||||
- **undel** _– отменить удаление._
|
||||
|
||||
Для вывода детальной информации о файловой системе (суперблоки, цилиндры, размер блока и т.д.) используется утилита **dumpfs**. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты проверки, например:
|
||||
|
||||
**dumpe2fs /dev/sdb1 >** **output****. ****txt** ** ** _(вывести информацию о файловой системе_ _ext_ _в файл_ _output __.__ txt__)_
|
||||
|
||||
Утилита **tunefs** предназначена для настройки изменяемых параметров файловых систем. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты настройки. Настройку осуществляют для демонтированных файловых систем, неактивных в данный момент, например:
|
||||
|
||||
**tune**** 2 ****fs** **–**** O ****has**** \_ ****journal** **/**** dev ****/**** sdb ****1** _(включить журналирование на устройстве / __dev__ / __sdb__ 1)_
|
||||
|
||||
Журналирование: опция введения журнала изменений для возможности их отката.
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
**104.3 Монтирование файловых систем.**
|
||||
|
||||
Студент должен уметь настраивать подключение файловых систем.
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- ручное подключение и отключение файловых систем;
|
||||
- автоматическое монтирование при загрузке;
|
||||
- настройку подключаемых портативных файловых систем.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- /etc/fstab
|
||||
- /media
|
||||
- mount
|
||||
- umount
|
||||
|
||||
Linuх использует файловую систему с единым корнем (в отличии от Windows, где каждый носитель информации имеет свой корень). Таким образом каждое отдельно устройство хранения информации подключается в единую корневую файловую систему через точки монтирования в иерархической древовидной структуре.
|
||||
|
||||
Для подключения устройства необходимо создать точку монтирования – любой пустой каталог. Традиционно такие точки монтирования создаются в каталоге **/**** mnt**(для временного монтирования пользовательских файловых систем) или**/ ****media** (для подключения портативных устройств), например:
|
||||
|
||||
**mkdir /mnt/hard\_drive ** _( __создать__ каталог_ _/mnt/hard\_drive)_
|
||||
|
||||
Для подключения файловой системы с носителя информации используется команда **mount** , например:
|
||||
|
||||
**mount** **–**** t ****ext**** 3 / ****dev**** / ****sdb**** 1 / ****mnt**** / ****hard**** \_ ****drive** _(подключить устройство / __dev__ / __sdb__ 1 с типом файловой системы_ _ext __3 в каталог /__ mnt __/__ hard __\___ drive__)_
|
||||
|
||||
Команда **mount** , используемая без аргументов, выводит перечень смонтированных файловых систем (в том числе и виртуальных).
|
||||
|
||||
Для отключения файловой системы используется команда **umount** , например:
|
||||
|
||||
**umount** **/**** mnt ****/**** hard ****\_**** drive **** ** _(в качестве аргумента можно указывать имя устройства или точку монтирования)_
|
||||
|
||||
_\_\_\__
|
||||
|
||||
Для автоматического подключения файловых систем используется файл /etc/fstab, в котором на каждой строке указаны id или имя устройства, точка монтирования, файловая система и дополнительные опции, например:
|
||||
|
||||
**/**** dev ****/**** sdb ****1** _(имя устройства)_ **/**** mnt ****/**** hard ****\_**** drive**_(точка подключения)_**ext ****3** _(файловая система)_ **defaults** _(опции по умолчанию)_ **0** _(выключение дампа)_ **2** _(порядок проверки)_
|
||||
|
||||
Часто используемые опции монтирования:
|
||||
|
||||
- auto / noauto _(подключение при загрузке ОС);_
|
||||
- exec / noexec _(разрешение выполнения двоичных файлов с устройства);_
|
||||
- ro _(только для чтения);_
|
||||
- rw _(чтение и запись);_
|
||||
- user / nouser _(разрешение подключения всем пользователям)._
|
||||
|
||||
Наборопций **defaults** _:_ **rw,suid,dev,exec,auto,nouser,async** _._
|
||||
|
||||
Дамп (значения 1 и 0), говорит о включенном или выключенном резервном копировании устройства при помощи команды dump.
|
||||
|
||||
Порядок проверки указывает последовательность проверки файловых систем (0 – не проверять, 1 – корневая файловая система, 2 – все остальные).
|
||||
|
||||
После добавление записи в файл **/**** etc ****/**** fstab **указанное устройство можно монтировать при помощи команды** mount**, указывая только один аргумент – устройство или точку монтирования (так как все остальные опции уже указаны в /etc/fstab).
|
||||
|
||||
Часто вместо указания тома по адресу подключения (/dev/sda1 и т.д.) используется указание на том по UUID. Адресация /dev/sda1 и т.д. зависит от того, на какой порт какого контроллера жестких дисков подключен носитель информации, соответственно при переподключении дисков на другие порты – все может слететь. UUID же уникален, узнать его можно при помощи команды **blkid**
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
**104.4 Управление квотами дисков.**
|
||||
|
||||
Студент должен уметь управлять квотами дисков для пользователей.
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- установку квоты;
|
||||
- работу с отчетами по квотам.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- quota
|
||||
- edquota
|
||||
- repquota
|
||||
- quotaon
|
||||
|
||||
Использование квот позволяет управлять использованием дискового пространства как отдельных пользователей и групп, так и всех в целом. В данном руке рассматривается квотирование классической файловой системы ext.
|
||||
|
||||
Для возможности работы с квотами необходим пакет ПО **quota****.**
|
||||
|
||||
Для того чтобы начать использовать квоты на устройстве, необходимо в опциях его монтирования в файле **/**** etc ****/**** fstab **дописать опции** usrquota **и** grpquota**.
|
||||
|
||||
Включить и выключить квоту можно командами **quotaon** и **quotaoff** , например:
|
||||
|
||||
**quotaon** **/**** mnt ****/**** disk ****1 ** _(включить квоту для устройства подключенного к / __mnt__ / __disk__ 1);_
|
||||
|
||||
**quotaoff** **/**** mnt ****/**** disk ****1 ** _(выключить квоту для устройства подключенного к / __mnt__ / __disk__ 1);_
|
||||
|
||||
Для редактирования квоты используется команда **edquota** , например:
|
||||
|
||||
**edquota** **–**** u ****semaev** _(изменить настройки квоты для пользователя_ _semaev__);_
|
||||
|
||||
**edquota** **–**** g ****users** _(изменить настройки квоты для группы_ _users__);_
|
||||
|
||||
При этом можно указать ограничение по объему занятого места, или по количеству файлов и папок. Квоты бывают следующих видов:
|
||||
|
||||
- жесткая – невозможно превысить;
|
||||
- мягкая – можно превышать в течении недели.
|
||||
|
||||
Для получения отчета об использовании квот предназначена команда repquota, например:
|
||||
|
||||
**repquota**** / ****mnt**** / ****disk**** 1 ** _(посмотреть отчет по квоте для устройства подключенного к / __mnt__ / __disk__ 1);_
|
||||
+139
File diff suppressed because one or more lines are too long
+53
@@ -0,0 +1,53 @@
|
||||
**104.6 Жесткие и мягкие (символические) ссылки.**
|
||||
|
||||
Студент должен уметь создавать и управлять ссылками на файлы.
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- создание ссылок;
|
||||
- разницу между мягкими и жесткими ссылками;
|
||||
- разницу между копированием и созданием ссылок;
|
||||
- использование ссылок для выполнения административных задач.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- ln
|
||||
- ls
|
||||
|
||||
|
||||
|
||||
Существует множество файловых систем, с различными принципами работы. В данном уроке будет рассмотрена классическая линуксовая файловая система ext, позволяющая прозрачно работать с адресацией диска.
|
||||
|
||||
Ключевым понятием при работе с ссылками является **айнод** (inode – индексный дескриптор): набор информации об объекте файловой системы. Айнод может содержать информацию о:
|
||||
|
||||
- размер объекта;
|
||||
- id устройства, на котором расположен объект;
|
||||
- id владельца объекта;
|
||||
- id группы владельцев;
|
||||
- права доступа;
|
||||
- временные метки доступа;
|
||||
- указатель на месторасположение на диске;
|
||||
- размер блока;
|
||||
- количество блоков;
|
||||
- счетчик ссылок на объект и т.д.
|
||||
|
||||
Посмотреть айноды в текущем каталоге можно при помощи команды **ls** **–**** li**
|
||||
|
||||
На объекты файловой системы можно создавать ссылки:
|
||||
|
||||
- **жесткие** – указывают на расположение файла на физическом устройстве (работают в пределах одного раздела носителя информации, но всегда указывают на файл, даже если он переименован, или перемещен внутри файловой системы носителя в другие каталоги);
|
||||
- **мягкие** – указывают на расположение файла в файловой системе (работают между файловыми системами, но если исходный объект переместить или переименовать, ссылка работать перестает).
|
||||
|
||||
Создать жесткую ссылку можно командой **ln** , например:
|
||||
|
||||
**ln file.txt hard.txt**
|
||||
|
||||
Создать мягкую ссылку можно командой **ln** **-**** s**, например:
|
||||
|
||||
** ln –s file.txt soft.txt **
|
||||
|
||||
Жесткие ссылки нельзя создавать для каталогов.
|
||||
|
||||
Если создать жесткую ссылку на файл, и удалить файл, то к нему все еще можно получить доступ по созданной жесткой ссылке. То есть для удаления файла необходимо удаление всех жестких ссылок на него.
|
||||
|
||||
Созданная жесткая ссылка на файл выглядит в файловой системе как копия исходного файла. Чтобы увидеть разницу между скопированным файлом и жесткой ссылкой на него необходимо посмотреть их айноды (жесткая ссылка и оригинал будут иметь одинаковые).
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
**104.7 Поиск и стандартное расположение системных файлов.**
|
||||
|
||||
Студент должен ознакомиться с FHS (стандартная иерархия файловой системы), включая стандартное расположение файлов и предназначение папок.
|
||||
|
||||
**Изучаем** :
|
||||
|
||||
- стандартную структуру файловой системы;
|
||||
- способы поиска файлов и команд.
|
||||
|
||||
**Термины и утилиты: **
|
||||
|
||||
- find
|
||||
- locate
|
||||
- updatedb
|
||||
- whereis
|
||||
- which
|
||||
- type
|
||||
- /etc/updatedb.conf
|
||||
|
||||
|
||||
|
||||
Все UNIX-подобные системы имеют схожее название, расположение и предназначение директорий в файловой системе. Стандарт иерархии файловой системы (FHS) – позволяет пользователям и разработчикам ПО ориентироваться в различных дистрибутивах Linux.
|
||||
|
||||
Не все каталоги можно найти в каждом дистрибутиве Linux, но в целом можно говорить о следующих стандартных расположениях:
|
||||
|
||||
**/**** bin **** ** - базовые двоичные файлы команд;
|
||||
|
||||
**/**** boot **** ** - файлы загрузчика;
|
||||
|
||||
**/**** dev** - устройства;
|
||||
|
||||
**/**** etc **** ** - конфигурация ПК;
|
||||
|
||||
**/**** home **** ** - домашние папки;
|
||||
|
||||
**/**** lib** - библиотеки и модули ядра;
|
||||
|
||||
**/**** proc** - информация о работающей системе;
|
||||
|
||||
**/**** media ** - монтирование носителей;
|
||||
|
||||
**/**** mnt** - монтирование носителей;
|
||||
|
||||
**/**** opt** - дополнительное ПО;
|
||||
|
||||
**/**** root** - домашняя папка админа;
|
||||
|
||||
**/**** sbin** - основные программы настройки системы;
|
||||
|
||||
**/**** srv** - данные для системных служб;
|
||||
|
||||
**/**** tmp** - временные файлы;
|
||||
|
||||
**/**** usr** - бинарники файлы пользователей;
|
||||
|
||||
**/var** - переменные.
|
||||
|
||||
Для поиска информации в текущий момент используется команда **find**. Для поиска проиндексированной информации (поиск осуществляется намного быстрее) используется команда **locate**.
|
||||
|
||||
Индексацию информации для быстрого поиска можно выполнить принудительно командой **updatedb**. Выбрать каталоги для индексации можно редактированием конфигурационного файла **/**** etc ****/**** updatedb ****.**** conf**
|
||||
|
||||
Для поиска информации и командах и утилитах пользуются следующими командами:
|
||||
|
||||
- **which** – выводит путь к исполняемым файлам команды;
|
||||
- **type** – показывает исполняемые файлы, псевдонимы, функции и т.д.;
|
||||
- **whereis** – показывает исполняемые файлы, исходники, мануалы.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Просмотреть информацию о процессоре и модулях оперативной памяти.
|
||||
2) Определить модель жесткого диска.
|
||||
3) Вывести сведения обо всех платах расширения на шине PCIEx.
|
||||
4) Отключить звуковую карту.
|
||||
5) Выключить контроллер usb.
|
||||
@@ -0,0 +1,7 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Выяснить какой загрузчик ОС использется в вашей системе.
|
||||
2) Просмотреть журнал событий ядра.
|
||||
3) Изменить носитель по умолчанию, используемый для загрузки ОС.
|
||||
4) Попробовать загрузить ОС в режиме, отличающемся от режима по умолчанию.
|
||||
5) Узнать какой из стилей инициализации используется в вашей ОС.
|
||||
@@ -0,0 +1,7 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Изменить режим запуска по умолчанию ОС.
|
||||
2) Переключиться между несколькими режимами работы.
|
||||
3) Убрать из автозапуска по умолчанию службу сети.
|
||||
4) Проверить статус службы аудио.
|
||||
5) Перезагрузить ПК через работу с уровнями выполнения или таргетами.
|
||||
@@ -0,0 +1,9 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Подключить пустой диск и создать на нем два основных и два логических раздела.
|
||||
2) Смонтировать в них несколько пустоых корневых каталогов.
|
||||
3) Перенести каталог /home на отдельный раздел.
|
||||
4) Создать еще один раздел подкачки.
|
||||
5) Добавить еще два диска и создать на нем несколько логических томов (LVM).
|
||||
6) Попробовать переносить тома с одного жесткого диска на другой без остановки ОС.
|
||||
7) Определить точную версию ядра ОС.
|
||||
@@ -0,0 +1,6 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Добавить таймаут на старт операционной системы в 10 секунд.
|
||||
2) Изменить текст выбора операционной системы.
|
||||
3) Попробовать подключить жесткий диск с Windows и указать вашему загрузчкику на возможность загружаться с добавленного диска.
|
||||
4) Установить загрузку Windows опцией по умолчанию.
|
||||
@@ -0,0 +1,5 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Посмотреть текущие пути к библиотекам.
|
||||
2) Добавить свою домашнюю папку к каталогам нахождения библиотек.
|
||||
3) Рассмотреть библиотеки, используемые утилитой ifconfig.
|
||||
@@ -0,0 +1,7 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Добавить в репозитории информацию для работы с пакетом java.
|
||||
2) Установить java со всеми зависимостями.
|
||||
3) Удалить java.
|
||||
4) Установить webmin.
|
||||
5) Обновить все пакеты ПО.
|
||||
@@ -0,0 +1,7 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Добавить в репозитории информацию для работы с пакетом java.
|
||||
2) Установить java со всеми зависимостями.
|
||||
3) Удалить java.
|
||||
4) Установить webmin.
|
||||
5) Обновить все пакеты ПО.
|
||||
@@ -0,0 +1,8 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Вывести содержимое домашней папки пользователя в файл с именем "list" в текущей папке.
|
||||
2) Вывести содержимое домашней папки пользователя в файл с именем "list" на уровень выше текущей папки.
|
||||
3) Добавить к переменной среды PATH путь к домашней папке пользователя.
|
||||
4) Изменить цвет и размер шрифта по умолчанию в консоли вашего пользователя.
|
||||
5) Вывести полную версию ОС в файл /os_version.txt.
|
||||
6) Вывести информацию о созданном файле в отедльный файл /abou_os_version.txt.
|
||||
@@ -0,0 +1,12 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Пронумеровать строчки системного лога.
|
||||
2) Посмотреть, как системный лог будет выглядеть на печати.
|
||||
3) Посмотреть первые шесть событий любого журнала.
|
||||
4) Посмотреть последние двадцать событий любого журнала.
|
||||
5) Отсортировать любой журнал событий по алфавиту.
|
||||
6) Показать в логе событий системы только уникальные строки.
|
||||
7) Вывести из журналов событий только собтия входа в систему в отедльный файл.
|
||||
8) Из созданного файла создать несколько файлов по событиям входа кажддого отдельного пользователя (на каждого пользователя свой журнал).
|
||||
9) Отсортируйте информацию так, чтоб был виден только логин и время входа/выхода.
|
||||
10) Замените в созданных файлах логин на полное имя пользователя.
|
||||
@@ -0,0 +1,8 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Найти все файлы больше 100Мб в вашей ОС.
|
||||
2) Найти все файлы больше 1Мб в домашней папке пользователя и перенести в корневую папку, предварительно сжав.
|
||||
3) Найти в домашней папке все файлы, начианющиеся с букв "a" по "z" и скопировать их в папку temp в домашнем "каталоге".
|
||||
4) Сделать резервную копию загрузочного сектора диска.
|
||||
5) Удалить все ненужные временные файлы.
|
||||
6) Удалить все созданные в течении выполнения ДЗ каталоги.
|
||||
@@ -0,0 +1,7 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Вывести результат команды ping ya.ru (десять пакетов) в файл ping.txt.
|
||||
2) Дописать результат команды ping r0.ru (десять пакетов) в тот же файл.
|
||||
3) Запустить команду с ошибкой pOng r0.ru, отправив ошибки выполнения в файл error.txt.
|
||||
4) Вывести результат команды ping it-semaev.ru (десять пакетов) в файл ping.txt и в консоль одновременно.
|
||||
5) Вывести результат команды ping it-semaev.ru в консоль, отображая только последние пять символов каждой строки..
|
||||
@@ -0,0 +1,8 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Отобразить все процессы в системе.
|
||||
2) Отобразить процессы только своего пользователя.
|
||||
3) Запустить диспечтер задач top в фоновом режиме.
|
||||
4) Остановить диспечтер задач, запущенный в фоновом режиме.
|
||||
5) Остановить все запущенные процессы активного в данный момент пользователя.
|
||||
6) Запустить процесс трассировки до ya.ru и свернуть его в отдельный screen.
|
||||
@@ -0,0 +1,7 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Запустить процесс трассировки маршрута до сайта yandex.ru с приоритетом "-10".
|
||||
2) Понизить приоритет до "5".
|
||||
3) Повысить приоритет до "-18".
|
||||
4) Отслеживать запущенные процессы по количеству используемой оперативной памяти.
|
||||
5) Вывести в консоль запущенные процессы, отображая только их id, и того, от кого они запущены.
|
||||
@@ -0,0 +1,8 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Найти в журналах событий /var/log логи, содержащие ваш логин.
|
||||
2) Найти в журналах событий файлы, содержащие слово ubuntu.
|
||||
3) Найти в любом заполненном журнале событий строки, начинающиеся с заглавной S.
|
||||
4) Найти в любом заполненном журнале событий строки, начинающиеся с заглавной и прописной s.
|
||||
5) Найти в любом заполненном журнале событий строки, начинающиеся с цифр.
|
||||
6) Сохранить строчки лога, содержащие ваш логин, как отдельный файл, заменив при этом логин на слово "His Majesty".
|
||||
@@ -0,0 +1,10 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Набрать стихотворение в vi.
|
||||
2) Поменять местами четные строчки с нечетными.
|
||||
3) Последнюю строку продублировать.
|
||||
4) Вставить первую строку поле последней.
|
||||
5) Найти несколько слов выше и ниже по тексту.
|
||||
6) Поменять во второй строчке первое и последнее слова местами.
|
||||
7) Вставить первое слово в начало каждого абзаца.
|
||||
8) Сохранить изменения в файле под новым именем.
|
||||
@@ -0,0 +1,9 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Инициализировать новый диск в формате MBR.
|
||||
2) Создать на отдельном диске два основных отдела и один расширенный.
|
||||
3) На расширенном разделе создать еще три раздела.
|
||||
4) Создать на каждом разделе отдельную файловую систему, один из разделов сделать разделом swap.
|
||||
5) Переконвертировать диск в формат GUID.
|
||||
6) Удалить расширенный раздел.
|
||||
7) Увеличить один из оставшихся разделов на освобожденное место.
|
||||
@@ -0,0 +1,10 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Установить инструменты работы с NTFS.
|
||||
2) Отформатировать свободный том в формат NTFS.
|
||||
3) Проверить том NTFS.
|
||||
4) Вывести информацию о томе NTFS в отдельный файл.
|
||||
5) Попробовать выключить журнал на томе NTFS.
|
||||
6) Попробовать удалить и восстановить информацию на томе NTFS.
|
||||
7) Посмотреть количество свободного места на этом томе.
|
||||
8) Посмотреть занятое место на этом томе.
|
||||
@@ -0,0 +1,7 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Создать точку монтирования в корневой файловой системе.
|
||||
2) Вручную подключить в нее устройство и создать на нем текстовый файл, после чего отключить.
|
||||
3) Создать настройку автоматического монтирования указанной файловой системы.
|
||||
4) Подключить сетевое устройство в файловую систему.
|
||||
5) Подключить том Windows в файловую систему.
|
||||
@@ -0,0 +1,7 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Установить для диска с домашними папками квоту для пользователя системы в 100 Мб мягкую.
|
||||
2) Установить для диска с домашними папками квоту для группы пользователей системы, в которую входит ваш пользователй, в 100 объектов жесткую.
|
||||
3) Копируя и вставляя файлы попробовать превысить обе квоты.
|
||||
4) Посмотреть отчет об использовании квот.
|
||||
5) Отключить квоту на носителе информации.
|
||||
@@ -0,0 +1,9 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Создать текстовый файл.
|
||||
2) Установить владельцем и группой владельцев суперпользователя root.
|
||||
3) Запретить всем остальным доступ к файлу и проверить что доступ пропал.
|
||||
4) Установить маску создания файлов так, чтобы у владельца были полные права, а у остальных никакого. Проверить работу маски.
|
||||
5) Создать папку и сделать владельцем суперпользователя.
|
||||
6) Разрешить всем полный доступ к папке.
|
||||
7) Установить на папку sticky-бит, убедиться что никто кроме владельца не может изменить ее структуру.
|
||||
@@ -0,0 +1,10 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Создать текстовый файл.
|
||||
2) Создать копию этого файла, мягкую и жесткую ссылки на него.
|
||||
3) Перенести оригинал и внести в него изменения.
|
||||
4) Проверить, что: мягкая ссылка сломалась, копия содержит устаревшую информацию, а жесткая ссылка указывает на актуальный файл.
|
||||
5) Перенести файл на другой (второй) раздел жесткого диска, убедиться в том, что жесткая ссылка перестала работать.
|
||||
6) Создать на файл на новом (втором) разделе новую жесткую и мягкую ссылки.
|
||||
7) Перенести ссылки на другой (первый) раздел и убедиться в том что мягкая ссылка работает, а жесткая сломалась.
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
Перед выполнением заданий важно самостоятельно повторить шаги, выполняемые на уроке.
|
||||
|
||||
1) Расписать предназначение всех корневых папок вашего дистрибутива.
|
||||
2) Найти исполняемые файлы команды hostname.
|
||||
3) Найти мануал команды ifconfig.
|
||||
4) Добавить в индексированные месторасположения каталог лог-файлов.
|
||||
5) Проверить налчие псевдонимов у команды date.
|
||||
|
||||
Reference in New Issue
Block a user