А знаете ли вы, что в Bash есть особая переменная "$_" ? Из описания можно узнать, что в переменную "$_" помещается последний аргумент последней команды.
Что-то знакомое? Конечно, в Python есть примерно тоже самое.
Мы знаем, что дата первого релиза Bash (8 июня 1989) несколько раньше чем первый релиз Python (20 февраля 1991). Если учесть, что по задумке автора Python это агрегация самых успешных практик отовсюду, можно ли сказать что именно эта фишка к нему пришла из Bash? Ни подтверждения ни опровержения я пока не нашел.
Давайте просто считать это совпадением 😉
А как это может быть полезно в Bash?
Приведу простой пример, который оценят те, кто часто работает в терминале.
Допустим, нам надо создать директорию и зайти в неё. Что обычно делаем?
:~$ mkdir foldername
:~$ cd foldername
:~/foldername$
Как это сделать в одну команду?
:~$ mkdir foldername && cd foldername
:~/foldername$
Уже лучше, но хочется короче, без повторов. Вот тут и пригодится наша переменная. Напомню, что в неё сохраняется последний аргумент предыдущей команды.
:~$ mkdir foldername && cd $_
:~/foldername$
_________________
PS.
Символы "&&"" разделяют команды и означают, что требуется выполнить вторую команду только если первая завершилась успешно.
#linux#tricks
👩💻 Книга: Linux From Scratch.
• В книге "Linux From Scratch" приведены объяснения и инструкции, нужные для того, чтобы спроектировать и собрать свою собственную систему. При этом вы вправе отклониться от инструкций в соответствии с собственными замыслами, что, в частности, является важной частью данного проекта. Управление остается за вами, автор просто протягиваем вам руку помощи с тем, чтобы вы начали на свое собственное турне.
• Специально собранные системы Linux будут полезны не только для того, чтобы удовлетворить конкретные требования пользователей, но также служат идеальным средством обучения, позволяющим программистам и системным администраторам повысить свои (уже существующие) навыки работы с Linux.
➡️Оригинальная версия книги [Eng].
➡️Перевод книги [RU].
• Книга состоит из следующих частей:
1️⃣ Часть — Введение: приводится несколько важных замечаний, касающихся того, как приступить к установке системы LFS. Здесь же также приведена мета-информация о книге.
2️⃣Часть — Подготовка к сборке: описывается, как подготовиться к процессу сборки — создать раздел, загрузить пакеты и откомпилировать временный набор инструментальных средств.
3️⃣Часть — Сборка системы LFS: читатель пройдет через этапы сборки системы LFS — один за другим откомпилирует и установит все пакеты, настроит скрипты загрузки и установит ядро. Результирующая система Linux будет основой, на которой можно собирать и устанавливать нужные вам программы. В конце книги для удобства использования приводятся списки всех программ, библиотек и важных файлов, которые были установлены.
#Linux
👩💻 Администрирование Linux.
• Нашел очень полезную подборку из 27 репозиториев на GitHub. Тут вам и коллекция полезных скриптов для автоматизации различных задач, и настройка безопасности, и даже различные задачки для повышения скила. В общем и целом, много крутых и полезных ресурсов, обязательно ознакомьтесь:
➡️https://github.com/topics/linux-administration
#Linux
👩💻 Test drive Linux distros online!
• Ещё один ресурс, где можно прямо в браузере протестировать работу разных дистрибутивов Linux:
➡️https://distrosea.com/
#Linux
👩💻 Траблшутинг Linux. Основные команды, примеры.
• Основные команды для быстрого поиска проблем (траблшутинга) сервера или виртуальной машины на Linux (Ubuntu, Debian, CentOS, Astra). Как диагностировать проблемы с дисками, процессами, оперативной памятью, сетью. Как смотреть логи в Linux.
- Мониторинг;
- Место на дисках;
- Состояние дисков;
- Нагрузка на диски;
- Процессор;
- Оперативная память;
- Процессы;
- Сеть;
- Логи.
#Linux
🥇 Understanding process thread priorities in Linux.
• Интересная статья о приоритетах в Linux: какие инструменты можно использовать для просмотра информации по приоритетам и о работе ядра с приоритетами.
➡️https://blogs.oracle.com/linux/post/task-priority
#Linux
👩💻 Understanding process thread priorities in Linux.
• Интересная статья о приоритетах процессов в Linux, о работе ядра c приоритетами, и о том какие инструменты можно использовать для просмотра информации о приоритетах:
➡️https://blogs.oracle.com/linux/post/task-priority
#Linux
👩💻 FHS (Filesystem Hierarchy Standard) — стандарт иерархии файловой системы.
• Раньше я очень любил простоту Windows. A:\ для флоппика, C:\ для системы, D:\ для дистрибутивов игр, фото и видео, E:\ для CD-ROM. Всё просто!
• А теперь обратите внимание на gif к этому посту, так наглядно показан минимальный минимум, который встретится Вам в большинстве UNIX-подобных систем.
• Если нужно подробное описание, то информация есть на вики: https://ru.wikipedia.org/wiki/FHS
#Linux
📚 Пошаговое руководство по внедрению эксплойта в ядро Linux.
• Сразу хочу обозначить, что данное руководство было опубликовано в 2018 году, но до сих пор является весьма ценным и будет очень полезным для новичков.
• В этом руководстве детально рассмотрен процесс по разработке и внедрению эксплойта в ядро Linux на основе CVE-описания. Эта информация в основном ориентирована на начинающих разработчиков, поскольку в большинстве статей, посвященных разработке эксплойтов уровня ядра, подразумевается, что читатель уже в теме. Мы же начнем с самых азов и рассмотрим основные структуры данных и важные участки кода ядра. После ознакомления со всем циклом подразумевается, что вы сможете досконально разобраться с эксплойтом, включая то, как влияет каждая строка кода на ядро.
• Рассматривайте это руководство как путеводитель по ядру в Linux, сопровождаемый практическим примером. Написание эксплойтов дает хорошее понимание схемы функционирования ядра. Кроме того, вы рассмотрите различные отладочные техники, инструменты, наиболее распространенные подводные камни и методы решения возникающих проблем.
#Linux