Искусство программирования на языке сценариев командной оболочки
Данное руководство не предполагает наличие у читателя познаний в области программирования на языке сценариев, однако, быстро восполняет этот недостаток . . . постепенно, шаг за шагом раскрывая мудрость и красоту UNIX. Это руководство может рассматриваться как учебник, предназначенный для самостоятельного изучения или как справочник по программированию на shell. Руководство снабжено серией хорошо прокомментированных примеров, поскольку
Данное руководство не предполагает наличие у читателя познаний в области программирования на языке сценариев, однако, быстро восполняет этот недостаток . . . постепенно, шаг за шагом раскрывая мудрость и красоту UNIX. Это руководство может рассматриваться как учебник, предназначенный для самостоятельного изучения или как справочник по программированию на shell. Руководство снабжено серией хорошо прокомментированных примеров, поскольку
лучший путь к изучению языка сценариев -- это написание сценариев.В начале июня состоялся релиз дистрибутива для цифровой криминалистики и тестирования систем безопасности Kali Linux 2021.2. Эта операционная система является клоном Debian, используя репозиторий Testing с наиболее свежими пакетами. Новые iso образы становятся доступными для загрузки каждые три месяца, предыдущим релизом был 2021.1, а следующим будет 2021.3.
Перейти к статьеУчетная запись суперпользователя root
Учетная запись root - это запись всемогущего административного пользователя UNIX. Она также называется учетной записью суперпользователя, хотя фактическое имя пользователя - root (корень).
Определяющей характеристикой учетной записи root является ее идентификатор UID, равный О. Ничто не мешает вам изменять имя пользователя в этой учетной записи или создавать дополнительные учетные записи, идентификаторы UID которых равны О; однако это плохие идеи. Такие изменения обычно создают непреднамеренные нарушения безопасности системы. Они также создают путаницу, когда другим людям приходится иметь дело со странным способом настройки вашей системы.
Традиционная система UNIX позволяет суперпользователю (т.е. любому процессу, для которого текущий идентификатор UID равен О) выполнять любую допустимую операцию для любого файла или процесса.
Перечислим некоторые примеры привилегированных операций.
• Создание файлов устройств.
• Установка системных часов.
• Повышение лимитов использования ресурсов и приоритетов процессов.
• Изменение имени хоста системы.
• Настройка сетевых интерфейсов.
• Открытие привилегированных сетевых портов (с номерами меньше 1024).
• Выключение системы.
Примером полномочий суперпользователя является способность принадлежащего ему процесса изменять свои идентификаторы UID и GID. Примером может служить программа входа в систему login и ее эквиваленты в виде графического пользовательского интерфейса; процесс, который запрашивает ваш пароль при входе в систему, изначально запускается с правами пользователя root. Если введенный вами пароль и имя пользователя являются законными, то программа входа в систему login изменяет свои UID и GID на ваши UID и GID и запускает среду оболочки или графический пользовательский интерфейс. Как только процесс root изменит своего владельца и станет обычным пользовательским процессом, он не сможет восстановить прежнее привилеги рованное состояние.
Учетная запись root - это запись всемогущего административного пользователя UNIX. Она также называется учетной записью суперпользователя, хотя фактическое имя пользователя - root (корень).
Определяющей характеристикой учетной записи root является ее идентификатор UID, равный О. Ничто не мешает вам изменять имя пользователя в этой учетной записи или создавать дополнительные учетные записи, идентификаторы UID которых равны О; однако это плохие идеи. Такие изменения обычно создают непреднамеренные нарушения безопасности системы. Они также создают путаницу, когда другим людям приходится иметь дело со странным способом настройки вашей системы.
Традиционная система UNIX позволяет суперпользователю (т.е. любому процессу, для которого текущий идентификатор UID равен О) выполнять любую допустимую операцию для любого файла или процесса.
Перечислим некоторые примеры привилегированных операций.
• Создание файлов устройств.
• Установка системных часов.
• Повышение лимитов использования ресурсов и приоритетов процессов.
• Изменение имени хоста системы.
• Настройка сетевых интерфейсов.
• Открытие привилегированных сетевых портов (с номерами меньше 1024).
• Выключение системы.
Примером полномочий суперпользователя является способность принадлежащего ему процесса изменять свои идентификаторы UID и GID. Примером может служить программа входа в систему login и ее эквиваленты в виде графического пользовательского интерфейса; процесс, который запрашивает ваш пароль при входе в систему, изначально запускается с правами пользователя root. Если введенный вами пароль и имя пользователя являются законными, то программа входа в систему login изменяет свои UID и GID на ваши UID и GID и запускает среду оболочки или графический пользовательский интерфейс. Как только процесс root изменит своего владельца и станет обычным пользовательским процессом, он не сможет восстановить прежнее привилеги рованное состояние.
СТАНДАРТНЫЕ КАТАЛОГИ LINUX
/bin Бинарные программы, основные программы для работы в системе: командные оболочки, файловые утилиты и.т.д./boot Ядро и файлы для его загрузки (образ ядра, файлы GRUB, LILO)./dev Файлы устройств: диски, принтеры, псевдотерминалы и т.д. /etc Системные конфигурационные файлы, стартовые сценарии, конфигурационные файлы графической системы и различных приложений./home Стандартные домашние каталоги пользователей (настройки интерфейса, личные файлы)./lib Библиотеки, совместно используемые библиотеки и команды, применяемые в каталогах /Ьin и / sЬin /lost+found Потерянные файлы, на которых не было ссылок ни в одной директории, хотя их inod не были помечены как свободные./media Точки монтирования файловых систем на съемных носителях (CD, Flash)./mnt Временные точки монтирования./opt Дополнительные (необязательные) пакеты программ и приложений./proc Информация о всех выполняющихся процессах./root Домашний каталог суперпользователя. Каталог должен быть в корневой ФС, чтобы администратор мог в него войти. (если будут проблемы с /home)/sbin Команды, необходимые для обеспечения минимальной работоспособности системы./srv Поля, зарезервированные для распределения через веб и другие серверы./sys Интерфейсы разных ядер (Liпux)./tmp Временные файлы. Каталог очищается при перезагрузке./usr Все установленные пакеты программ, документация, исходный код ядра и система X Window. Все пользователи кроме root имеют доступ только для чтения. Может быть смонтирована по сети и может быть общей для нескольких машин./var Здесь находятся часто меняющиеся данные (журналы ОС, системные log-файлы, cache-файлы и т. д.)MAC адрес
I/G - (Individual - 0 / Group - 1) тип адреса. Пакеты с групповым адресом получат все имеющие этот групповой адрес сетевые адаптеры.
U/L - (Universal - 0 / Local - 1) - определяет, как был присвоен адрес. Обычно - 0, Единица означает, что адрес задан не производителем, а админом локальной сети (перепрошит или назначен через драйвер устройства)
OUI - (Organizationally Unique Identifier) Идентификатор производителя. Назначается организацией IEEE.
OUA - (Organizationally Unique Address) Уникальный адрес карты для данного производителя.
UAA - Универсально управляемый адрес.
1бит 1бит 22 бита 24 битаMAC - адрес уникальная комбинация цифр и букв длиной 48 символов. Фактически, это аппаратный номер оборудования, который, присваивается сетевой карте устройства в момент производства.
------------------------------
|I/G |U/L | OUI | OUA |
------------------------------
<-- 46 бит UAA -->
I/G - (Individual - 0 / Group - 1) тип адреса. Пакеты с групповым адресом получат все имеющие этот групповой адрес сетевые адаптеры.
U/L - (Universal - 0 / Local - 1) - определяет, как был присвоен адрес. Обычно - 0, Единица означает, что адрес задан не производителем, а админом локальной сети (перепрошит или назначен через драйвер устройства)
OUI - (Organizationally Unique Identifier) Идентификатор производителя. Назначается организацией IEEE.
OUA - (Organizationally Unique Address) Уникальный адрес карты для данного производителя.
UAA - Универсально управляемый адрес.
Файловые системы Linux
Linux поддерживает много различных файловых систем. В качестве корневой файловой системы доступны: ext2, ext3, ext4, XFS, ReiserFS, JFS.
Ранее "родной" файловой системой Linux была ext2 (файловая система ext использовалась разве что в самых первых версиях Linux), затем ей на смену пришла журналируемая версия файловой системы — ext3.
Сегодня все современные дистрибутивы по умолчанию используют следующее поколение файловой системы — ext4.
Linux до сих пор поддерживает файловую систему ext, но она считается устаревшей, и рекомендуется воздержаться от ее использования.
Таким образом, в качестве корневой файловой системы и файловой системы других Linux-разделов используются файловые системы ext3, ext4, XFS, ReiserFS, JFS.
Все перечисленные файловые системы (кроме ext2) ведут журналы своей работы, что позволяет восстановить данные в случае сбоя.
Осуществляется это следующим образом — перед тем как выполнить операцию, журналируемая файловая система записывает эту операцию в журнал, а после выполнения операции удаляет запись из журнала.
Представим, что после занесения операции в журнал произошел сбой (например, выключили свет). Позже, когда сбой будет устранен, файловая система по журналу выполнит все действия, которые в него занесены.
Конечно, и это не всегда позволяет уберечься от последствий сбоя — стопроцентной гарантии никто не дает, но все же такая схема работы лучше, чем вообще ничего.
Файловые системы ext2 и ext3 совместимы. По сути, ext3 — та же ext2, только с журналом. Раздел ext3 могут читать программы (например, Total Commander и Ext2Fsd в Windows), рассчитанные на ext2. В свою очередь, ext4 — это усовершенствованная версия ext3.
В современных дистрибутивах по умолчанию задана файловая система ext4 (хотя в некоторых дистрибутивах все еще может использоваться ext3). При необходимости можно выбрать другие файловые системы.
Linux поддерживает много различных файловых систем. В качестве корневой файловой системы доступны: ext2, ext3, ext4, XFS, ReiserFS, JFS.
Ранее "родной" файловой системой Linux была ext2 (файловая система ext использовалась разве что в самых первых версиях Linux), затем ей на смену пришла журналируемая версия файловой системы — ext3.
Сегодня все современные дистрибутивы по умолчанию используют следующее поколение файловой системы — ext4.
Linux до сих пор поддерживает файловую систему ext, но она считается устаревшей, и рекомендуется воздержаться от ее использования.
Таким образом, в качестве корневой файловой системы и файловой системы других Linux-разделов используются файловые системы ext3, ext4, XFS, ReiserFS, JFS.
Все перечисленные файловые системы (кроме ext2) ведут журналы своей работы, что позволяет восстановить данные в случае сбоя.
Осуществляется это следующим образом — перед тем как выполнить операцию, журналируемая файловая система записывает эту операцию в журнал, а после выполнения операции удаляет запись из журнала.
Представим, что после занесения операции в журнал произошел сбой (например, выключили свет). Позже, когда сбой будет устранен, файловая система по журналу выполнит все действия, которые в него занесены.
Конечно, и это не всегда позволяет уберечься от последствий сбоя — стопроцентной гарантии никто не дает, но все же такая схема работы лучше, чем вообще ничего.
Файловые системы ext2 и ext3 совместимы. По сути, ext3 — та же ext2, только с журналом. Раздел ext3 могут читать программы (например, Total Commander и Ext2Fsd в Windows), рассчитанные на ext2. В свою очередь, ext4 — это усовершенствованная версия ext3.
В современных дистрибутивах по умолчанию задана файловая система ext4 (хотя в некоторых дистрибутивах все еще может использоваться ext3). При необходимости можно выбрать другие файловые системы.
Группы в Linux
Вы можете рассматривать группу как обычную учетную запись пользователя: операции, которые он и могут или не могут выполнять, а также их права доступа определяются правами доступа к файлам. Разница в том, что никто не может войти в систему Linux как группа. Тогда зачем создавать группы и какая у них цель? Вот объяснение.
Группы предоставляют мощный и очень эффективный способ организации ресурсов.
Приведу простой пример. Рассмотрим компанию с несколькими десятками сотрудников, которым нужен некий доступ к серверу, но не обязательно к одним и тем же ресурсам. Вы можете создать пару групп с названием dev и IT, к примеру. Когда пользователи изначально станут получать свои учетные записи, все разработчики будут добавляться в группу dev, а все системные администраторы окажутся добавлены в группу IТ. Теперь предположим, что используется файл конфигурации системы: вместо утомительного добавления прав доступа к файлам для каждого из 10 или 15 администраторов вы можете предоставить групповой доступ только группе IT.
Все члены IТ-группы будут автоматически добавлены, а все разработчики останутся исключенными.
Каждый пользователь системы вместе со многими приложениями автоматически получает свои собственные группы. Это объясняет, почему файлы, которые вы создаете, обычно принадлежат пользователю ваше_имя и входят в группу ваше_имя.
Вы можете рассматривать группу как обычную учетную запись пользователя: операции, которые он и могут или не могут выполнять, а также их права доступа определяются правами доступа к файлам. Разница в том, что никто не может войти в систему Linux как группа. Тогда зачем создавать группы и какая у них цель? Вот объяснение.
Группы предоставляют мощный и очень эффективный способ организации ресурсов.
Приведу простой пример. Рассмотрим компанию с несколькими десятками сотрудников, которым нужен некий доступ к серверу, но не обязательно к одним и тем же ресурсам. Вы можете создать пару групп с названием dev и IT, к примеру. Когда пользователи изначально станут получать свои учетные записи, все разработчики будут добавляться в группу dev, а все системные администраторы окажутся добавлены в группу IТ. Теперь предположим, что используется файл конфигурации системы: вместо утомительного добавления прав доступа к файлам для каждого из 10 или 15 администраторов вы можете предоставить групповой доступ только группе IT.
Все члены IТ-группы будут автоматически добавлены, а все разработчики останутся исключенными.
Каждый пользователь системы вместе со многими приложениями автоматически получает свои собственные группы. Это объясняет, почему файлы, которые вы создаете, обычно принадлежат пользователю ваше_имя и входят в группу ваше_имя.
Привилегированный режим работы программы
Anonymous Quiz
10%
режим монопольного владения процессором на время работы программы
7%
режим, при котором программа в любой момент может монопольно завладеть процессором
29%
режим неограниченного доступа ко всем ресурсам компьютера
54%
режим, при котором программа имеет привилегии перед другими программами в условиях многозадачности
ИМЕНА ПУТЕЙ
Файловая система - это единая иерархическая структура, которая начинается с каталога / и разветвляется, охватывая произвольное число подкаталогов. Каталог самого верхнего уровня называется корневым. Эта моноиерархическая система отличается от используемой в системе Windows, где применяется понятие пространства имен, основанное на принципе деления диска на разделы.
В графических пользовательских интерфейсах каталоги часто называются папками, даже в системах Linux. Папки и каталоги - одно и то же. Папка - это термин систем Windows и macOS. Тем не менее стоит отметить, что слово "папка" часто вызывает раздражение у некоторых экспертов. Не используйте его в технических контекстах, если не готовы ловить на себе иронические взгляды.
Цепочка имен каталогов, через которые необходимо пройти для доступа к заданному файлу, вместе с именем этого файла образуют путь к файлу. Путь может быть абсолютным (например, /t.mp/foo) или относительным (например, book4/filesystem). Последние интерпретируются начиная с текущего каталога. Возможно, многие считают, что текущий каталог задается интерпретатором команд. На самом деле текущий каталог есть у каждого процесса.
Термины имя файла и путь в той или иной степени являются взаимозаменяемыми. Соответственно, имена файлов и пути бывают абсолютными и относительными.
Файловое дерево может иметь произвольную глубину, однако каждый компонент имени файла должен состоять не более чем из 255 символов. Существует также ограничение на длину пути, который вы можете передавать ядру в качестве аргумента системного вызова (4095 байт в Linux и 1024 байт в BSD). Для того чтобы получить доступ к файлу, полное имя которого превышает эти ограничения, необходимо с помощью команды cd перейти в промежуточный каталог, а затем воспользоваться относительным путем к файлу.
Файловая система - это единая иерархическая структура, которая начинается с каталога / и разветвляется, охватывая произвольное число подкаталогов. Каталог самого верхнего уровня называется корневым. Эта моноиерархическая система отличается от используемой в системе Windows, где применяется понятие пространства имен, основанное на принципе деления диска на разделы.
В графических пользовательских интерфейсах каталоги часто называются папками, даже в системах Linux. Папки и каталоги - одно и то же. Папка - это термин систем Windows и macOS. Тем не менее стоит отметить, что слово "папка" часто вызывает раздражение у некоторых экспертов. Не используйте его в технических контекстах, если не готовы ловить на себе иронические взгляды.
Цепочка имен каталогов, через которые необходимо пройти для доступа к заданному файлу, вместе с именем этого файла образуют путь к файлу. Путь может быть абсолютным (например, /t.mp/foo) или относительным (например, book4/filesystem). Последние интерпретируются начиная с текущего каталога. Возможно, многие считают, что текущий каталог задается интерпретатором команд. На самом деле текущий каталог есть у каждого процесса.
Термины имя файла и путь в той или иной степени являются взаимозаменяемыми. Соответственно, имена файлов и пути бывают абсолютными и относительными.
Файловое дерево может иметь произвольную глубину, однако каждый компонент имени файла должен состоять не более чем из 255 символов. Существует также ограничение на длину пути, который вы можете передавать ядру в качестве аргумента системного вызова (4095 байт в Linux и 1024 байт в BSD). Для того чтобы получить доступ к файлу, полное имя которого превышает эти ограничения, необходимо с помощью команды cd перейти в промежуточный каталог, а затем воспользоваться относительным путем к файлу.
эволюция_linux.png
4.2 MB
Инфографика дерева эволюции ОС Linux.
(открывать не в тг, тогда все видно)
(открывать не в тг, тогда все видно)
Что такое дистрибутив?
Дистрибутив — это операционная система с набором приложений и тем, то есть прямо «с коробки» (установочного образа) вы получаете полностью готовую систему с различными программами для решения основных задач (создание документов, просмотр Web-сайтов, воспроизведение мультимедиа файлов и всех сопутствующих функций компьютера).
Так как Linux является свободным ПО, то любой человек может создать собственную версию Linux, поэтому и существует такое большое количество различных дистрибутивов.
Дистрибутив — это операционная система с набором приложений и тем, то есть прямо «с коробки» (установочного образа) вы получаете полностью готовую систему с различными программами для решения основных задач (создание документов, просмотр Web-сайтов, воспроизведение мультимедиа файлов и всех сопутствующих функций компьютера).
Так как Linux является свободным ПО, то любой человек может создать собственную версию Linux, поэтому и существует такое большое количество различных дистрибутивов.
К основным функциям операционных систем относятся:
Anonymous Quiz
15%
управ-е вкл/выкл компьютера, управ-е памятью, управ-е файлами и каталогами, управ-е пользователями
12%
управление памятью, выполнение команд пользователя, управление файлами и каталогами
23%
управление процессами, управление памятью, управление периферийными устройствами
50%
управление устройствами, управление данными, управление памятью, управление процессами
Регистр символов в именах файлов
В отличие от Windows и Mac 0S в системе Linux имена файлов чувствительны к регистру символов. В частности, вы можете встретить в одном каталоге все три приведенных ниже файла.
■
Чувствительность к регистру символов также означает, что при вводе команд они должны в точности совпадать с именами файлов, поддерживающих их. Так, например, удаляя файл с помощью команды
Из сказанного можно сделать вывод, что Linux требует точности. Кстати, точность — это совсем не плохо. В то же время Linux обеспечивает такую степень гибкости, которую нельзя получить при работе с другими системами.
Подобное сочетание необходимой точности и предоставляемой гибкости делает Linux очень удобным в применении, однако некоторые ламеры поначалу испытывают неудобства при работе с этой системой.
В отличие от Windows и Mac 0S в системе Linux имена файлов чувствительны к регистру символов. В частности, вы можете встретить в одном каталоге все три приведенных ниже файла.
■
bookstobuy.txt
■ BooksToBuy.txt
■ BoOkStObUy.txt
С точки зрения файловой системы Linux это различные имена. Если вы попытаетесь создать файлы с этими же именами в Windows или Mac OS, то для файла BooksToBuy.txt система предложит задать другое имя или отказаться от попыток создать его. Причина в том, что в каталоге на этот момент находится файл bookstobuy.txt.Чувствительность к регистру символов также означает, что при вводе команд они должны в точности совпадать с именами файлов, поддерживающих их. Так, например, удаляя файл с помощью команды
rm, нельзя вводить RM, Rm или rM. Надо также следить за написанием имен, задаваемых в качестве параметров. Если вы захотите удалить файл bookstobuy.txt , а укажете имя BooksToBuy.txt, вы лишитесь совсем не того файла, с которым предполагали расстаться.Из сказанного можно сделать вывод, что Linux требует точности. Кстати, точность — это совсем не плохо. В то же время Linux обеспечивает такую степень гибкости, которую нельзя получить при работе с другими системами.
Подобное сочетание необходимой точности и предоставляемой гибкости делает Linux очень удобным в применении, однако некоторые ламеры поначалу испытывают неудобства при работе с этой системой.
Дистрибутив операционной системы включает:
Anonymous Quiz
9%
только ОС и программу ее установки;
38%
ОС, программу ее установки и наиболее популярные прикладные программы;
30%
ОС, программу ее установки и настройки, сопровождение и регулярное обновление;
24%
ОС, программу ее установки и наиболее популярные системные утилиты от сторонних разработчиков.
Распространенные инструменты управления пакетам
Каждый дистрибутив использует собственные инструменты управления пакетами.
□ dpkg. --
Каждый дистрибутив использует собственные инструменты управления пакетами.
□ dpkg. --
Низкоуровневый инструмент управления пакетами, используемый в качестве основы семейства инструментов PMS (Система управления пакетами) на базе дистрибутива Debian. Может применяться непосредственно для установки, управления и удаления пакетов ПО. Тем не менее его функциональность ограниченна. Например, инструмент dpkg не может загружать программные пакеты из хранилищ.
□ rpm. -- Еще один низкоуровневый инструмент управления пакетами, функции которого аналогичны функциям инструмента dpkg . Тем не менее он используется в качестве основы системы управления пакетами Red Hat Linux. Несмотря на то что вы можете задействовать инструмент rpm для управления пакетами, для этой цели лучше применить утилиту PMS более высокого уровня.
□ apt - get. -- Это ТПИ (Текстовый пользовательский интерфейс) -инструмент для PMS Debian. С помощью apt - get можно установить пакет ПО из хранилища и удалить его из локальной системы Linux. Кроме того, вы можете обновить отдельные пакеты, все пакеты в вашей системе или весь дистрибутив. Тем не менее вам придется использовать ТПИ-инструмент apt - cache для получения информации, касающейся программных пакетов.
□ yum. -- Это ТПИ-инструмент для PMS Red Hat. Применяется к таким дистрибутивам, как Red Hat Enterprise Linux (RHEL), Fedora и CentOS. С помощью инструмента yum вы можете устанавливать программные пакеты из хранилища, удалять их из локальной системы Linux, обновлять и т. д. Кроме того, вы можете использовать данный инструмент для получения информации, касающейся программных пакетов и управления ими, например для отображения списка сконфигурированных хранилищ PMS.Интересные факты о Linux
-- Код ядра написан на языке программирования C с некоторыми расширениями GCC и ассемблере.
-- 17 сентября 1991 вышел Linux версии 0.01, который содержал всего 10’239 строк программного кода.
-- 9 мая 1996 в качестве символа Linux был выбран пингвин Tux. Его отличают желтые лапы и клюв.
-- Релиз Linux 1.0 состоялся 14 марта 1994 года, он содержал более 176’250 строк программного кода.
-- В 2011 году вышел релиз релиз Linux 3.0, который насчитывал уже более 14 млн. строк программного кода.
-- Linux стала первой операционной системой, в которой появились драйвера для поддержки USB 3.0. Код драйвера USB 3.0 впервые был включен в ядро 2.6.31.
-- Linux применяется в Голливуде. Например, визуальные эффекты для фильмов Титаник и Аватар были разработаны с использованием открытого ПО, работающего на Linux.
-- Linux широко используется в космической отрасли.
-- Более 500 самых быстрых суперкомпьютеров в мире работают на Linux.
-- В интервью изданию Wired Линус Торвальдс рассказал, что примерно в 2000 году Стив Джобс предложил ему место в Apple для работы над ядром на базе Unix и настаивал на том, чтобы Линус прекратил работу над Linux. Линус Торвальдс, конечно же отказался от предложения.
[
-- Код ядра написан на языке программирования C с некоторыми расширениями GCC и ассемблере.
-- 17 сентября 1991 вышел Linux версии 0.01, который содержал всего 10’239 строк программного кода.
-- 9 мая 1996 в качестве символа Linux был выбран пингвин Tux. Его отличают желтые лапы и клюв.
-- Релиз Linux 1.0 состоялся 14 марта 1994 года, он содержал более 176’250 строк программного кода.
-- В 2011 году вышел релиз релиз Linux 3.0, который насчитывал уже более 14 млн. строк программного кода.
-- Linux стала первой операционной системой, в которой появились драйвера для поддержки USB 3.0. Код драйвера USB 3.0 впервые был включен в ядро 2.6.31.
-- Linux применяется в Голливуде. Например, визуальные эффекты для фильмов Титаник и Аватар были разработаны с использованием открытого ПО, работающего на Linux.
-- Linux широко используется в космической отрасли.
-- Более 500 самых быстрых суперкомпьютеров в мире работают на Linux.
-- В интервью изданию Wired Линус Торвальдс рассказал, что примерно в 2000 году Стив Джобс предложил ему место в Apple для работы над ядром на базе Unix и настаивал на том, чтобы Линус прекратил работу над Linux. Линус Торвальдс, конечно же отказался от предложения.
[
pingvinus.ru ]htop
htop — продвинутый системный монитор для Linux. Он был предназначен заменить стандартную программу top. Htop показывает динамический список системных процессов, список обычно сортируется по использованию CPU. Htop, в отличие от top, показывает все процессы в системе. Также показывает время непрерывной работы, использование процессоров и памяти.
Htop часто применяется в тех случаях, когда информации, предоставляемой утилитой top, недостаточно, например, при поиске утечек памяти в процессах. Htop написан на языке Си и использует для отображения библиотеку Ncurses.
Установка:
USER - владелец процесса.
PRI - текущий приоритет (влияет на процессорное время, отводимое процессу, значение по умолчанию - 20; чем меньше приоритет, тем больше времени отводится процессу => он выполняется быстрее).
VIRT - размер виртуальной памяти, выделенной под процесс.
CPU% - использование процессора в процентном отношении.
MEM% - использование процессом памяти в процентном отношении.
TIME+ - время работы процесса.
Command - указывает на команду, которой был запущен процесс.
Управление производится с помощью функциональных клавиш (F1 - F10):
F1 - справка;
F2 - настройки;
F3 - поиск процесса;
F4 - сортировка списка процессов (от большего к меньшему или от меньшего к большему);
F5 - устанавливает древовидное отображение (корни - родительские процессы, а листья - дочерние) и наоборот;
F6 - открывает панель с выбором параметра сортировки процессов;
F7 - увеличить приоритет выполнения текущего процесса (реализовано вычитанием единицы из текущего значения nice);
F8 - уменьшить приоритет выполнения текущего процесса. Добавляет единицу к текущему значению nice (увеличение или уменьшение приоритета процесса доступно только суперпользователям).
F9 - убить процесс (ИСПОЛЬЗУЙТЕ ТОЛЬКО ТОГДА, КОГДА ТОЧНО ЗНАЕТЕ, ЧТО ДЕЛАЕТЕ)
F10 - выйти из программы
htop — продвинутый системный монитор для Linux. Он был предназначен заменить стандартную программу top. Htop показывает динамический список системных процессов, список обычно сортируется по использованию CPU. Htop, в отличие от top, показывает все процессы в системе. Также показывает время непрерывной работы, использование процессоров и памяти.
Htop часто применяется в тех случаях, когда информации, предоставляемой утилитой top, недостаточно, например, при поиске утечек памяти в процессах. Htop написан на языке Си и использует для отображения библиотеку Ncurses.
Установка:
sudo apt-get install htop
После установки запускаем командой htop
PID - идентификатор процесса.USER - владелец процесса.
PRI - текущий приоритет (влияет на процессорное время, отводимое процессу, значение по умолчанию - 20; чем меньше приоритет, тем больше времени отводится процессу => он выполняется быстрее).
VIRT - размер виртуальной памяти, выделенной под процесс.
CPU% - использование процессора в процентном отношении.
MEM% - использование процессом памяти в процентном отношении.
TIME+ - время работы процесса.
Command - указывает на команду, которой был запущен процесс.
Управление производится с помощью функциональных клавиш (F1 - F10):
F1 - справка;
F2 - настройки;
F3 - поиск процесса;
F4 - сортировка списка процессов (от большего к меньшему или от меньшего к большему);
F5 - устанавливает древовидное отображение (корни - родительские процессы, а листья - дочерние) и наоборот;
F6 - открывает панель с выбором параметра сортировки процессов;
F7 - увеличить приоритет выполнения текущего процесса (реализовано вычитанием единицы из текущего значения nice);
F8 - уменьшить приоритет выполнения текущего процесса. Добавляет единицу к текущему значению nice (увеличение или уменьшение приоритета процесса доступно только суперпользователям).
F9 - убить процесс (ИСПОЛЬЗУЙТЕ ТОЛЬКО ТОГДА, КОГДА ТОЧНО ЗНАЕТЕ, ЧТО ДЕЛАЕТЕ)
F10 - выйти из программы