Историческая справка.
К счастью для Unix, молодой финский программист Линус Торвальдс решил написать собственную версию Unix. Он позаимствовал у оригинальной системы многие принципы и идеи, но не кодовую базу и тем самым избежал юридических сложностей. Он рекрутировал в добровольные помощники многих программистов со всего мира, воспользовался развитыми инструментами GNU, уже существовавшими к тому времени, и вскоре родилась ОС Linux (а вместе с ней современное движение за ПО с открытым исходным кодом).
Когда настала эра интернета, многие компании (например, Google, Amazon, Facebook и другие) выбрали Linux, поскольку она распространялась свободно и ее можно было модифицировать под свои нужды; трудно представить, что все эти компании добились бы такого успеха, если бы подобной системы не существовало. Когда смартфоны стали доминирующей платформой, ориентированной на пользователя, Linux закрепилась и там тоже (посредством Android) – и по тем же причинам. А Стив Джобс забрал свою основанную на Unix операционную среду NeXTStep в Apple и тем самым сделал Unix популярной на настольных компьютерах (хотя многие пользователи технологий Apple, возможно, и не подозревают об этом).
Таким образом, Unix продолжает здравствовать и даже более важна, чем когда-либо прежде.
К счастью для Unix, молодой финский программист Линус Торвальдс решил написать собственную версию Unix. Он позаимствовал у оригинальной системы многие принципы и идеи, но не кодовую базу и тем самым избежал юридических сложностей. Он рекрутировал в добровольные помощники многих программистов со всего мира, воспользовался развитыми инструментами GNU, уже существовавшими к тому времени, и вскоре родилась ОС Linux (а вместе с ней современное движение за ПО с открытым исходным кодом).
Когда настала эра интернета, многие компании (например, Google, Amazon, Facebook и другие) выбрали Linux, поскольку она распространялась свободно и ее можно было модифицировать под свои нужды; трудно представить, что все эти компании добились бы такого успеха, если бы подобной системы не существовало. Когда смартфоны стали доминирующей платформой, ориентированной на пользователя, Linux закрепилась и там тоже (посредством Android) – и по тем же причинам. А Стив Джобс забрал свою основанную на Unix операционную среду NeXTStep в Apple и тем самым сделал Unix популярной на настольных компьютерах (хотя многие пользователи технологий Apple, возможно, и не подозревают об этом).
Таким образом, Unix продолжает здравствовать и даже более важна, чем когда-либо прежде.
Вывод пользовательских процессов через команду
Расшифровка их заголовков приведена ниже.
ps -axu в удобном для восприятия виде, отобразится в виде 11-ти колонок. Расшифровка их заголовков приведена ниже.
Основные компоненты ядра
Сигналы. Ядро использует сигналы для обращения к процессу. Например, сигналы используются для уведомления процесса о некоторых ошибках, таких как деление на нуль;
Системные вызовы. Системный вызов является средством, с помощью которого процесс запрашивает определенную службу ядра. Существует несколько сотен системных вызовов, которые можно грубо сгруппировать в такие категории: файловая система, процессы, планирование, межпроцессное взаимодействие, сокеты и пр;
Процессы и планировщик. Создает, управляет и планирует процессы.
Виртуальная память. Выделяет виртуальную память для процессов и управляет ею.
Файловая система. Предоставляет глобальное иерархическое пространство имен для файлов, каталогов и других объектов, связанных с файлами и функциями файловой системы.
Сетевые протоколы. Поддержка пользовательского интерфейса сокетов для набора протоколов TCP/IP.
Драйверы символьных устройств. Управление устройствами, которые требуют от ядра отправки или получения данных по одному байту, например терминалами, принтерами или модемами.
Драйверы блочных устройств. Управление устройствами, которые читают и записывают данные блоками, как, например, различные виды вторичной памяти (магнитные диски, CD-ROM и т.п.).
Драйверы сетевых устройств. Управление картами сетевых интерфейсов и коммуникационными портами, которые подключаются к сетевым устройствам, таким как мосты или роутеры.
Ловушки и отказы. Обработка генерируемых процессором прерываний, как, например, при сбое памяти.
Физическая память. Управляет пулом кадров страниц и выделяет страницы для виртуальной памяти.
Прерывания. Обработка прерываний от периферийных устройств.
Сигналы. Ядро использует сигналы для обращения к процессу. Например, сигналы используются для уведомления процесса о некоторых ошибках, таких как деление на нуль;
Системные вызовы. Системный вызов является средством, с помощью которого процесс запрашивает определенную службу ядра. Существует несколько сотен системных вызовов, которые можно грубо сгруппировать в такие категории: файловая система, процессы, планирование, межпроцессное взаимодействие, сокеты и пр;
Процессы и планировщик. Создает, управляет и планирует процессы.
Виртуальная память. Выделяет виртуальную память для процессов и управляет ею.
Файловая система. Предоставляет глобальное иерархическое пространство имен для файлов, каталогов и других объектов, связанных с файлами и функциями файловой системы.
Сетевые протоколы. Поддержка пользовательского интерфейса сокетов для набора протоколов TCP/IP.
Драйверы символьных устройств. Управление устройствами, которые требуют от ядра отправки или получения данных по одному байту, например терминалами, принтерами или модемами.
Драйверы блочных устройств. Управление устройствами, которые читают и записывают данные блоками, как, например, различные виды вторичной памяти (магнитные диски, CD-ROM и т.п.).
Драйверы сетевых устройств. Управление картами сетевых интерфейсов и коммуникационными портами, которые подключаются к сетевым устройствам, таким как мосты или роутеры.
Ловушки и отказы. Обработка генерируемых процессором прерываний, как, например, при сбое памяти.
Физическая память. Управляет пулом кадров страниц и выделяет страницы для виртуальной памяти.
Прерывания. Обработка прерываний от периферийных устройств.
Существует три режима работы журналируемой файловой системы ехtЗ/ext4:
Оптимальным балансом между надежностью и производительностью является используемый по умолчанию режим
Самый медленный режим
Самый быстрый режим writeback, но в нем, по сути, журнал не будет использоваться и у вас не будет никакой защиты, например, от той же перезагрузки.
joumal, ordered и writeback. Оптимальным балансом между надежностью и производительностью является используемый по умолчанию режим
ordered.В этом режиме в журнал будет заноситься информация только об изменении метаданных. Самый медленный режим
journal. В журнал записывается максимум информации, которая понадобится при восстановлении в случае сбоя. Использовать его следует только, если безопасность для вас важнее, чем производительность. Самый быстрый режим writeback, но в нем, по сути, журнал не будет использоваться и у вас не будет никакой защиты, например, от той же перезагрузки.
Особенность работы с командой
Хотя вы можете добавлять параметры для
Поэтому вполне можно использовать команду
tar связана с тем, что она была создана еще до возникновения стандартов использования параметров. Хотя вы можете добавлять параметры для
tar с помощью дефиса, это не всегда является обязательным условием. Поэтому вполне можно использовать команду
tar, (к примеру: tar xvf ) без дефиса, обозначающего ввод параметра.Даже если вы хорошо знакомы с командой
ls, вам могут быть незнакомы многие полезные параметры этой команды, которые позволяют получать большое количество информации, касающейся файлов вашей системы.Для получения информации о пользователях - достаточно знать три родственные команд:
Выводят следующую информацию:
• команда
• команда
• команда
w, who и whoamiВыводят следующую информацию:
• команда
w — список пользователей, подключенных к системе; виртуальный терминал, с которого работает пользователь; время входа в систему для каждого пользователя; статистику использования системы (IDLE — время простоя, JCPU — использование процессора); выполняемые каждым пользователем за дачи;• команда
who — список пользователей, подключенных к системе; время и дату входа каждого пользователя;• команда
whoami — имя пользователя, который ввел команду.Команда su
Команда
Понятно, что в большинстве случаев этим пользователем будет сам пользователь
После этого нужно будет ввести пароль пользователя
Чтобы закрыть сессию
Команда
su позволяет получить доступ к консоли с правами root любому пользователю (даже если пользователь не внесен в файл /etc/sudoers) при условии, что он знает пароль root. Понятно, что в большинстве случаев этим пользователем будет сам пользователь
root, — не станете же вы всем пользователям доверять свой пароль? Поэтому команда su предназначена, в первую очередь, для администратора системы, a sudo — для остальных пользователей, которым иногда нужны права root (чтобы они меньше отвлекали администратора от своей работы). Использовать команду su просто: su После этого нужно будет ввести пароль пользователя
root, и вы сможете работать в консоли как обычно. Использовать su удобнее, чем sudo, потому что вам не потребуется вводить su перед каждой командой, которая должна быть выполнена с правами root. Чтобы закрыть сессию
su, нужно или ввести команду exit, или просто закрыть окно терминала.SYSLINUX — это еще один загрузчик для систем Linux. Обычно он не используется для установленных систем Linux. Однако применяется в качестве загрузчика для установочных CD и DVD Linux. SYSLINUX особенно хорошо подходит для загрузки образов CD ISO9660 (isolinux) и USB-накопителей (syslinux), а также для работы на старом оборудовании или загрузки PXE (pxelinux) системы по сети.Обычно команды
Примеры некоторых сигналов.
kill и killall применяются для завершения запущенного процесса, однако они могут отправлять запущенному процессу любую допустимую инструкцию. Помимо отправки сигнала завершения, команда может сообщить процессу о необходимости пересмотреть файлы конфигурации, приостановиться (остановиться) или продолжить выполнение после приостановки, и это еще не все варианты. Сигналы представляются как числами, так и именами. Примеры некоторых сигналов.
Система SELinux
Хотя режим по умолчанию не оказывает большого влияния на большинство приложений, запускаемых в Linux, он значительно влияет на большую часть основных служб.
Основная функция SELinux заключается в защите содержимого системы Linux от процессов, запущенных в системе. Другими словами, SELinux гарантирует, что веб-сервер, FTP-сервер, сервер Samba или DNS-сервер могут получить доступ только к ограниченному набору файлов в системе (определяется содержимым файлов), и разрешает лишь ограниченный набор функций (определяется логическими значениями и ограниченным доступом к порту).
Fedora, Red Hat Enterprise Linux и другие дистрибутивы Linux поставляются с подключенной функцией Security Enhanced Linux (SELinux) в принудительном режиме (Enforcing). Хотя режим по умолчанию не оказывает большого влияния на большинство приложений, запускаемых в Linux, он значительно влияет на большую часть основных служб.
Основная функция SELinux заключается в защите содержимого системы Linux от процессов, запущенных в системе. Другими словами, SELinux гарантирует, что веб-сервер, FTP-сервер, сервер Samba или DNS-сервер могут получить доступ только к ограниченному набору файлов в системе (определяется содержимым файлов), и разрешает лишь ограниченный набор функций (определяется логическими значениями и ограниченным доступом к порту).
Горячие клавиши терминала в Linux
Управление процессами
Перемещение курсора
Редактирование текста
Вырезание и вставка текста
Дополнение команды
Поиск команд в истории
Управление процессами
Ctrl + C - прервать процесс (послать сигнал Interrupt).Ctrl + Z - приостановить процесс (послать сигнал Stop).Перемещение курсора
Ctrl + A - переместить курсор в начало строки.Ctrl + E - переместить курсор в конец строки (E - End).Alt + F - переместить курсор на одно слово вперед (F - Forward).Alt + B - переместить курсор на одно слово назад (B - Back).Ctrl + F - переместить курсор на один символ вперед (F - Forward).Ctrl + B - переместить курсор на один символ назад (B - Back).Редактирование текста
Ctrl + L - очистить экран. Аналог команде clear.Ctrl + D - удалить символ под курсором (D - Delete).Alt + T - поменять местами два слова. Слово под курсором меняется со словом слева от курсора (T - Translocate)Ctrl + T - поменять местами два символа. Символ под курсором меняется с символом слева от курсора (T - Translocate).Alt + L - перевести символы в нижний регистр, начиная с символа под курсором и до конца слова (L - Lowercase).Alt + U - перевести символы в верхний регистр, начиная с символа под курсором и до конца слова (U - Uppercase).Вырезание и вставка текста
Ctrl + K - вырезать текст от курсора до конца строки (K - Kill).Ctrl + U - вырезать текст от курсора до начала строки.Alt + D - вырезать слово от курсора до его конца (D - Delete).Alt + Backspace - вырезать слово от курсора до его начала. Если курсор находится на начале слова, то удаляется предыдущее слово.Ctrl + Y - вставить вырезанный текст из буфера обмена на место курсора.Дополнение команды
Tab - дополнить текст команды. (ls essa => ls essay.txt)Alt + ? - вывести все варианты дополнения (тоже если нажать Tab дважды).Alt + * - вставить все варианты дополнения в аргументы команды.Поиск команд в истории
Ctrl + R - начать поиск команд в истории. Нажмите еще раз чтобы двигаться вверх по истории. Нажмите Enter чтобы выполнить найденную команду.Ctrl + J - вставить найденную команду в терминал, без выполнения.Ctrl + G - прекратить поиск команд в истории.Ctrl + P - показать предыдущую запись в истории. Аналог клавише со стрелкой вверх. (P - uP).Ctrl + N - показать следующую запись в истории. Аналог клавише со стрелкой вниз. (N - dowN).Alt + < - перейти к первой записи в истории.Alt + > - перейти к последней записи в истории.Alt + N - поиск в прямом порядке (ввести команду и нажать Enter).Alt + P - поиск в обратном порядке (ввести команду и нажать Enter).Ctrl + O - выполнить команду из истории и перейти к выполнению следующей по списку. Работает только в поиске Ctrl+R.Разложение на простые множители
Команда
Синтаксис
Пример:
Получим:
Также можно передать несколько чисел в качестве аргумента:
Получим:
Команда
factor в Linux дает простые множители числа.Синтаксис
factor [число]Пример:
factor 20Получим:
20: 2 2 5Также можно передать несколько чисел в качестве аргумента:
factor 20 30 40Получим:
20: 2 2 530: 2 3 540: 2 2 2 5Команда
w - это утилита, которая отображает информацию о пользователях, вошедших в систему в данный момент, и о том, что каждый из них делает. Также дает информацию о том, как долго работает система, текущее время и среднюю загрузку системы.
Синтаксис:
Если передать одно имя пользователей в качестве аргументов, вывод будет ограничен указанными пользователями.
Аргументы:
ww - это утилита, которая отображает информацию о пользователях, вошедших в систему в данный момент, и о том, что каждый из них делает. Также дает информацию о том, как долго работает система, текущее время и среднюю загрузку системы.
Синтаксис:
w [OPTIONS] [USER]Если передать одно имя пользователей в качестве аргументов, вывод будет ограничен указанными пользователями.
Аргументы:
-h - указывает w не печатать заголовок, выводится только информация о авторизованных пользователях-f - переключает поле FROM(Имя хоста или IP-адрес, с которого пользователь вошел в систему). Отображение или скрытие этого поля по умолчанию зависит от используемого вами дистрибутива.-o - вывод в старом стиле -s - вывод в коротком стиле-i - всегда показывает IP-адрес вместо имени хоста в поле FROM .deb-пакеты
Программы для
Обычно архив содержит 3 файла:
-
-
-
Стандартная программа для управления —
Программы для
Ubuntu поставляются в виде так называемых deb-пакетов. Это обычный архив, содержащий файлы устанавливаемого приложения и различную вспомогательную информацию. Начиная с Debian версии 0.93 deb файл представляет собой архив формата ar. Обычно архив содержит 3 файла:
-
debian-binary - текстовый файл, содержащий версию формата deb-пакета -
control.tar - tar-архив, содержащий информацию и скрипты установки пакета -
data.tar - tar-архив, содержащий дерево устанавливаемых файлов пакета Стандартная программа для управления —
dpkgКоманда du
Позволяет вывести размер всех файлов в определённой папке в байтах или в более удобном формате.
Синтаксис:
Параметры:
•
•
•
•
•
•
•
•
•
•
Позволяет вывести размер всех файлов в определённой папке в байтах или в более удобном формате.
Синтаксис:
du [параметр] /путь/к/папкеПараметры:
•
-a - выводит размер для всех файлов, а не только для директорий•
-c - выводить в конце общий размер всех папок;•
-d - максимальная глубина вложенности директорий;•
-h - выводит размер в единицах измерения удобных для человека(мегабайты, килобайты и байты);•
-S - не включает размер подпапок в размер папки;•
-s - выводить только общий размер;•
-t - не учитывать файлы и папки с размером меньше указанного;•
--time - отображать время последней модификации для файла или папки, вместо времени модификации можно выводить такие метки: atime, access, use, ctime;•
-X - исключить файлы из подсчёта;•
--version - вывести версию утилиты.Команда tac
Команда
Однако существует команда, которая точно противоположна тому, что делает
Команда
cat в основном используется для отображения [ содержимого файла ].Однако существует команда, которая точно противоположна тому, что делает
cat - tac. Противоположна в том смысле, что вывод, который она производит, представлен таким образом, что последняя строка отображается первой, затем следует предпоследняя строка и так далее.AlterOS, RedOS, Astra, Alt, Rosa: Яндекс обновил свой корпоративный браузер, который можно настроить под ОС на базе Linux, а также Windows.
Теперь можно быстро настраивать и конфигурировать компьютеры сотрудников под разные задачи — Яндекс добавил в браузер в два раза больше групповых политик, среди них: выбор каталога кеша на диске, настройка белого списка расширений, запрет перехода со страницы предупреждения безопасного просмотра. К тому же, теперь работает специальная линия поддержки для сисадминов.
Для систем на Linux работает поддержка Ansible и Puppet. Браузер также работает с сайтами с шифрованием по ГОСТ TLS – позволяет заходить на ресурсы в домене .gov и тендерные площадки, работает с международными и национальными сертификатами безопасности сайтов.
Теперь можно быстро настраивать и конфигурировать компьютеры сотрудников под разные задачи — Яндекс добавил в браузер в два раза больше групповых политик, среди них: выбор каталога кеша на диске, настройка белого списка расширений, запрет перехода со страницы предупреждения безопасного просмотра. К тому же, теперь работает специальная линия поддержки для сисадминов.
Для систем на Linux работает поддержка Ansible и Puppet. Браузер также работает с сайтами с шифрованием по ГОСТ TLS – позволяет заходить на ресурсы в домене .gov и тендерные площадки, работает с международными и национальными сертификатами безопасности сайтов.
Команда TIME
Утилита запускает заданную пользователем команду и после этого выводит информацию о времени ее выполнения.
Синтаксис:
•
•
•
•
•
Утилита запускает заданную пользователем команду и после этого выводит информацию о времени ее выполнения.
Синтаксис:
time [параметр] команда_для_выполнения аргументы•
-o – сохранять данные в выбранный файл вместо стандартного вывода в терминале.•
-a – добавлять в файл новую информацию, а не перезаписывает старую (опция полезна только в сочетании с -o)•
-f – выбрать определенный формат вывода. •
-v – выводить подробную информацию о выполнении программы.•
-V – вывести версию утилиты time.Dpkg - основная программа управления пакетами в Debian linux и производных дистрибутивах. Он используется для установки, сборки, удаления и управления пакетами.
Для получения списка пакетов, установленных в системе:
Можно пропустить выходной поток через
Замените
Для получения списка файлов, установленных пакетом (в нашем случае
Для установки локального .deb файла:
Удаление пакета:
Удаление пакетов с использованием
Для получения списка пакетов, установленных в системе:
dpkg -lМожно пропустить выходной поток через
grep чтобы увидеть установлен ли определенный пакет:dpkg -l | grep apacheЗамените
apache на любое имя пакета, часть имени или иное регулярное выражение.Для получения списка файлов, установленных пакетом (в нашем случае
pack):dpkg -L packДля установки локального .deb файла:
sudo dpkg -i имя_пакета.debУдаление пакета:
sudo dpkg -r packУдаление пакетов с использованием
dpkg в большинстве случаев не рекомендуется. Команда удалит пакет, однако пакеты, зависящие от него, останутся установленными и более не смогут работать правильно.