Один из способов издевательства над системой - Форк бомба
Это скрипт, который создает множество процессов, пока компьютер не зависнет.
Единственным решением остается отключение питания.
Что к чему:
Некоторые дистрибутивы способны предотвращать такую атаку путем ограничения количества процессов от одного пользователя.
:(){ :|:&};:Это скрипт, который создает множество процессов, пока компьютер не зависнет.
Единственным решением остается отключение питания.
Что к чему:
:() Определение функции.{ Открытие функции.:|: Далее, загружает копию функции «:» в память тем самым, будет вызывать само себя рекурсивно. Передает результат на другой вызов функции.‘:’ Худшая часть — функция, вызываемая два раза, чтобы «бомбить» вашу систему.& Помещает вызов функции в фоновом режиме, чтобы fork (дочерний процесс) не мог «умереть» вообще, тем самым это начнет есть системные ресурсы.} Закрытие функции.; Завершает определение функции. Разделяет команды.: Запускает функцию которая порождает fork bomb().Некоторые дистрибутивы способны предотвращать такую атаку путем ограничения количества процессов от одного пользователя.
Пара слов о дистрибутивах.
Linux Mint: продвинутый опыт не требуется. Прост в установке, прост в использовании.
Debian: действительно бесплатный дистрибутив без проприетарных драйверов, прошивки или ПО.
Ubuntu: современный дистрибутив Linux, который прост в установке и использовании.
openSUSE: стабильный, мощный. Не так просто установить, как Mint и Ubuntu, но тем не менее является очень хорошей альтернативой.
Fedora: самый современный дистрибутив Linux со всеми новыми концепциями.
Mageia: восстал из пепла некогда великой Mandriva Linux. Прост в установке и использовании.
CentOS: как и в Fedora, CentOS основан на коммерческом дистрибутиве Red Hat. В отличие от Fedora, он создан для стабильности.
Manjaro: основанный на Arch Linux. Отличный баланс между простотой использования и современным ПО.
LXLE: на основе легкого дистрибутива Lubuntu. Полнофункциональный дистрибутив для старого оборудования
Arch: rolling release дистрибутив означает, что вы не должны устанавливать новые версии ОС, потому что оно самостоятельно обновляется. Сложнее для нового пользователя в освоении, но очень мощный.
Elementary: Linux с интерфейсом в стиле Mac.
Linux Mint: продвинутый опыт не требуется. Прост в установке, прост в использовании.
Debian: действительно бесплатный дистрибутив без проприетарных драйверов, прошивки или ПО.
Ubuntu: современный дистрибутив Linux, который прост в установке и использовании.
openSUSE: стабильный, мощный. Не так просто установить, как Mint и Ubuntu, но тем не менее является очень хорошей альтернативой.
Fedora: самый современный дистрибутив Linux со всеми новыми концепциями.
Mageia: восстал из пепла некогда великой Mandriva Linux. Прост в установке и использовании.
CentOS: как и в Fedora, CentOS основан на коммерческом дистрибутиве Red Hat. В отличие от Fedora, он создан для стабильности.
Manjaro: основанный на Arch Linux. Отличный баланс между простотой использования и современным ПО.
LXLE: на основе легкого дистрибутива Lubuntu. Полнофункциональный дистрибутив для старого оборудования
Arch: rolling release дистрибутив означает, что вы не должны устанавливать новые версии ОС, потому что оно самостоятельно обновляется. Сложнее для нового пользователя в освоении, но очень мощный.
Elementary: Linux с интерфейсом в стиле Mac.
Какой символ или символы используются для перенаправление вывода программы на ввод другой программы?
Anonymous Quiz
46%
>
3%
<
32%
|
8%
<>
5%
||
6%
&
Каталог /run/
В дистрибутивах ОС на базе Linux появился сравнительно недавно, и этот факт обусловлен тем, что приложениям при запуске теперь предоставляется возможность сохранять в нем вспомогательные файлы (сокеты, идентификаторы процессов и т.д.), которые им понадобятся для дальнейшей работы.
Логично, что хранить такие файлы в каталоге /tmp/ нецелесообразно, т. к. они могут быть удалены системой еще до того, как приложение ими успеет воспользоваться.
В дистрибутивах ОС на базе Linux появился сравнительно недавно, и этот факт обусловлен тем, что приложениям при запуске теперь предоставляется возможность сохранять в нем вспомогательные файлы (сокеты, идентификаторы процессов и т.д.), которые им понадобятся для дальнейшей работы.
Логично, что хранить такие файлы в каталоге /tmp/ нецелесообразно, т. к. они могут быть удалены системой еще до того, как приложение ими успеет воспользоваться.
В файловой системе Linux
Anonymous Quiz
3%
Не более двух корневых каталогов
6%
Не более 13 корневых каталогов
12%
По одному корневому каталогу на каждый диск
79%
Один корневой каталог
Отобразит текущее системное значение в форматировании по умолчанию:
Пример форматированного вывода:
Весь список по %.. смотрим в
Строка даты принимает значения, такие как «завтра», «пятница», «последняя среда», «следующий вторник», «следующий месяц», «следующая неделя» .. и т. д.
или
Самостоятельно устанавливать дату и время - крайне не рекомендуется, но сделать это можно так:
Пример использования date в скриптах (взят с losst):
Если текущий день месяца — последний, сформировать отчет о занятости дискового пространства корневого и домашнего каталога в файл report.
dateПример форматированного вывода:
date +"Day: %d, Month: %m, Year: %Y" Весь список по %.. смотрим в
date --helpСтрока даты принимает значения, такие как «завтра», «пятница», «последняя среда», «следующий вторник», «следующий месяц», «следующая неделя» .. и т. д.
date -d "next sunday"или
date -d "15 days ago"Самостоятельно устанавливать дату и время - крайне не рекомендуется, но сделать это можно так:
date --set="19691228 16:25"Пример использования date в скриптах (взят с losst):
Если текущий день месяца — последний, сформировать отчет о занятости дискового пространства корневого и домашнего каталога в файл report.
#!/bin/bashif [[ $(date --date='next day' +%d) = '01' ]]; thendf -h / /home > reportКаталог /proc/
Специальный каталог. Не является фактической файловой системой, в том смысле, что файлы в этом каталоге не хранятся на жестком диске.
Это виртуальная файловая система, поддерживаемая ядром Linux. Файлы в ней являются «глазками», через которые можно заглянуть в ядро.
Эти файлы доступны для чтения и помогают «увидеть» компьютер глазами ядра.
Поскольку ядро создает содержимое файлов каталога /proc на лету (во время их считывания), большинство из них выглядят пустыми при их открытии с помощью команды
Для просмотра действительного содержимого этих файлов придется прибегнуть к командам
Однако будьте осторожны: некоторые файлы содержат двоичные данные либо ссылаются на двоичные данные, непосредственный просмотр которых может поставить в тупик эмулятор терминала.
Специальный каталог. Не является фактической файловой системой, в том смысле, что файлы в этом каталоге не хранятся на жестком диске.
Это виртуальная файловая система, поддерживаемая ядром Linux. Файлы в ней являются «глазками», через которые можно заглянуть в ядро.
Эти файлы доступны для чтения и помогают «увидеть» компьютер глазами ядра.
Поскольку ядро создает содержимое файлов каталога /proc на лету (во время их считывания), большинство из них выглядят пустыми при их открытии с помощью команды
ls -l. Для просмотра действительного содержимого этих файлов придется прибегнуть к командам
cat или less. Однако будьте осторожны: некоторые файлы содержат двоичные данные либо ссылаются на двоичные данные, непосредственный просмотр которых может поставить в тупик эмулятор терминала.
Бывает такое, когда рабочий стол не реагирует ни на клики мыши, ни на клавиатуру. В этом случае остаётся задействовать виртуальные терминалы, переключившись на один из них (вот тут про них)
После авторизации можно попытаться перезапустить графическую оболочку и/или X-сервер, например для Ubuntu:
Или:
Здесь lightdm или ssdm зависит от того, какая графическая оболочка используется. В последних версиях дистрибутивов Ubuntu в основном используется композитный менеджер ssdm.
После авторизации можно попытаться перезапустить графическую оболочку и/или X-сервер, например для Ubuntu:
sudo /etc/init.d/lightdm restartИли:
sudo /etc/init.d/ssdm restartЗдесь lightdm или ssdm зависит от того, какая графическая оболочка используется. В последних версиях дистрибутивов Ubuntu в основном используется композитный менеджер ssdm.
После установки:
Смотрим имеющиеся возможности:
Можем использовать утилиту в комплекте с любой другой командой. К примеру:
или выдать анимированный текст:
Пользы никакой, для развлечения, получается ..
sudo apt install lolcatСмотрим имеющиеся возможности:
lolcat -hМожем использовать утилиту в комплекте с любой другой командой. К примеру:
ping google.com | lolcatps | lolcatcal | lolcatили выдать анимированный текст:
echo Hello World | lolcat -a -d 500Пользы никакой, для развлечения, получается ..
Обычный архив формата TAR, TGZ, TBZ или TAZ, содержащий исходный код приложения, либо бинарные установочные файлы это...
Anonymous Quiz
26%
Репозиторий
33%
Дистрибутив
42%
Тарболл
Каталог
Директория для хранения системных библиотек (/lib/ и /lib64/ - 32 и 64-битные соответственно), необходимых для работы программ из директорий
В противном случае им надо было бы держать свои версии кода библиотек, в своих директориях, тратя на это дисковое пространство, так как это реализовано в Windows.
Кроме этого, в каталоге /lib/ хранятся модули ядра операционной системы.
/lib Директория для хранения системных библиотек (/lib/ и /lib64/ - 32 и 64-битные соответственно), необходимых для работы программ из директорий
/bin и /sbinВ противном случае им надо было бы держать свои версии кода библиотек, в своих директориях, тратя на это дисковое пространство, так как это реализовано в Windows.
Кроме этого, в каталоге /lib/ хранятся модули ядра операционной системы.
Каталог
В каталоге /home/ хранятся домашние каталоги каждого пользователя ОС Linux.
Если в вашей ОС заведена только одна учетная запись, то в этом каталоге будут как минимум: lost+found (подробнее про него тут) и каталог с именем вашей учетной записи.
В самом каталоге с именем вашей учетной записи хранятся файлы с пользовательскими данными, а также конфигурационные файлы и персональные настройки системы именно вашей учётки.
Каждый пользователь имеет право записи только в свой каталог. Право изменять и читать каталоги других учетных записей имеется только у пользователя root.
/home/ В каталоге /home/ хранятся домашние каталоги каждого пользователя ОС Linux.
Если в вашей ОС заведена только одна учетная запись, то в этом каталоге будут как минимум: lost+found (подробнее про него тут) и каталог с именем вашей учетной записи.
В самом каталоге с именем вашей учетной записи хранятся файлы с пользовательскими данными, а также конфигурационные файлы и персональные настройки системы именно вашей учётки.
Каждый пользователь имеет право записи только в свой каталог. Право изменять и читать каталоги других учетных записей имеется только у пользователя root.
Cacaview
Очень простой просмотрщик изображений рисунков с помощью символов ASCII.
Открывает большинство форматов, таких как JPEG, PNG, GIF и т.д. и выводит их в терминал.
Можно изменять масштаб, перемещаться по изображению, установить метод передачи полутонов или включить сглаживание.
Установить:
Запустить, передав изображение:
(Настолько адекватное изображение получить самостоятельно мне не удалось, пришлось брать готовую картинку в интернетах )
Очень простой просмотрщик изображений рисунков с помощью символов ASCII.
Открывает большинство форматов, таких как JPEG, PNG, GIF и т.д. и выводит их в терминал.
Можно изменять масштаб, перемещаться по изображению, установить метод передачи полутонов или включить сглаживание.
Установить:
sudo apt install caca-utilsЗапустить, передав изображение:
cacaview some_photo.jpg(Настолько адекватное изображение получить самостоятельно мне не удалось, пришлось брать готовую картинку в интернетах )
Alacritty
Самый быстрый эмулятор терминала (так сказал его разработчик, правда).
Использует OpenGL для оптимизации вычислений на вашем GPU. Функция, которую имеют очень немногие эмуляторы терминала.
Alacritty - с открытым исходным кодом посмотреть который можно на GitHub.
Установка. Добавляем репозиторий:
Далее
(я видел его со стороны, но не под высокими нагрузками. Даже после ручной регулировки. интерфейс - так себе .. )
Самый быстрый эмулятор терминала (так сказал его разработчик, правда).
Использует OpenGL для оптимизации вычислений на вашем GPU. Функция, которую имеют очень немногие эмуляторы терминала.
Alacritty - с открытым исходным кодом посмотреть который можно на GitHub.
Установка. Добавляем репозиторий:
sudo add-apt-repository ppa:mmstick76/alacrittyДалее
sudo apt install alacritty(я видел его со стороны, но не под высокими нагрузками. Даже после ручной регулировки. интерфейс - так себе .. )
Какова задача символов || в сценарии Linux:
Anonymous Quiz
28%
добавление
18%
выбор
49%
условие
6%
комментарий
This media is not supported in your browser
VIEW IN TELEGRAM
Одна из самых удобных функций, имеющихся в bash — автодополнение команд по клавише <Tab>. К этому быстро привыкаешь, помогает во многих моментах.
Для VSCode есть возможность дополнять аргументы для команд, реализуется это при помощи расширения Shell Completion.
Для VSCode есть возможность дополнять аргументы для команд, реализуется это при помощи расширения Shell Completion.
Признаки того, когда лучше отказаться от скриптов:
Список может быть бесконечным и очевидным, но мало ли ..
- Важна скорость/производительность.
- Скрипт содержит более нескольких сотен строк.
- Нужны структуры данных сложнее обычных массивов.
- Задолбало заниматься непотребствами с кавычками и экранированием.
- Необходимо обрабатывать/изменять много строковых переменных.
- Нет необходимости вызывать сторонние программы и нет необходимости в пайпах.
Список может быть бесконечным и очевидным, но мало ли ..
- Важна скорость/производительность.
- Скрипт содержит более нескольких сотен строк.
- Нужны структуры данных сложнее обычных массивов.
- Задолбало заниматься непотребствами с кавычками и экранированием.
- Необходимо обрабатывать/изменять много строковых переменных.
- Нет необходимости вызывать сторонние программы и нет необходимости в пайпах.
GRUB - программа управления процессом загрузки.
Для большинства дистрибутивов Linux - является загрузчиком по умолчанию. (Самостоятельный FreeBSD тебе сейчас машет ручкой..).
Есть две основные версии: GRUB Legacy, который давно уже не развивается (но какое-то время все же получал обновления в виде патчей безопасности) и GRUB 2, который является текущим стандартом.
Обе версии GRUB работают схожим образом ведь основная задача любого из GRUB — загрузить ядро Linux в память и запустить его.
К тому же, GRUB 2 имеет тот же загрузочный функционал, что и GRUB Legacy, но обладает значительной гибкостью на предзагрузочном этапе и нововведениями: от переносимости на разные архитектуры до поддержки скриптов.
Для большинства дистрибутивов Linux - является загрузчиком по умолчанию. (Самостоятельный FreeBSD тебе сейчас машет ручкой..).
Есть две основные версии: GRUB Legacy, который давно уже не развивается (но какое-то время все же получал обновления в виде патчей безопасности) и GRUB 2, который является текущим стандартом.
Обе версии GRUB работают схожим образом ведь основная задача любого из GRUB — загрузить ядро Linux в память и запустить его.
К тому же, GRUB 2 имеет тот же загрузочный функционал, что и GRUB Legacy, но обладает значительной гибкостью на предзагрузочном этапе и нововведениями: от переносимости на разные архитектуры до поддержки скриптов.
Как узнать, является ли порт хорошо известным? Начать стоит с просмотра файла services.
Это простой текстовый файл, который переводит значения хорошо известных портов в имена. Можно увидеть в нем записи вроде:
Первый столбец содержит имя, а во втором указаны номер порта и относящийся к нему протокол транспортного уровня (может отличаться от TCP).
В дополнение к файлу /etc/services существует онлайн-реестр портов, который регулируется документом RFC6335 о сетевых стандартах.
[ http://www.iana.org/ ]
cat /etc/services | lessЭто простой текстовый файл, который переводит значения хорошо известных портов в имена. Можно увидеть в нем записи вроде:
ssh 22/tcp # SSH Remote Login Protocol smtp 25/tcp domain 53/udp Первый столбец содержит имя, а во втором указаны номер порта и относящийся к нему протокол транспортного уровня (может отличаться от TCP).
В дополнение к файлу /etc/services существует онлайн-реестр портов, который регулируется документом RFC6335 о сетевых стандартах.
[ http://www.iana.org/ ]
Много лет назад на одном популярном англоязычном форуме, ныне покойном, предложили гениально простой способ нагреть проц и посчитать его скорость в попугаях.
Подгружаем в
Мой результат вычисления на
выдал:
time echo "scale=5000; 4*a(1)" | bc -lbc - Си-подобный интерактивный интерпретатор. Подгружаем в
bc математическую библиотеку опцией -l и просим выдать число π с точностью 5000 знаков после запятой. Мой результат вычисления на
AMD EPYC 7B12 2.3GHzвыдал:
real 0m0.002suser 0m0.001ssys 0m0.001s