Как стать автором
Обновить
42
0.6

Пользователь

Отправить сообщение

Запуск Bash в деталях

Время на прочтение3 мин
Количество просмотров34K
Если вы нашли эту страницу в поиске, то наверняка пытаетесь решить какую-то проблему с запуском bash.

Возможно, в вашем окружении bash не устанавливается переменная среды и вы не понимаете, почему. Возможно, вы засунули что-то в различные загрузочные файлы bash или в профили, или во все файлы наугад, пока это не сработало.

В любом случае, смысл этой заметки — как можно проще изложить процедуру запуска bash, чтобы вы могли справиться с проблемами.

Диаграмма


Эта блок-схема обобщает все процессы при запуске bash.



Теперь подробнее рассмотрим каждую часть.
Читать дальше →
Всего голосов 35: ↑29 и ↓6+23
Комментарии4

Linux Quest. Поздравляем победителей и рассказываем про решения заданий

Время на прочтение10 мин
Количество просмотров15K


25 марта мы открыли регистрацию на Linux Quest, это Игра для любителей и знатоков операционной системы Linux. Немного статистики: зарегистрировалось на игру 1117 человек, из них 317 — нашли хотя бы один ключ, 241 успешно справились с заданием первого этапа, 123 — второго и 70 прошли третий этап. Сегодня наша игра подошла к концу, и мы поздравляем наших победителей!
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии23

42 оператора расширенного поиска Google (полный список)

Время на прочтение15 мин
Количество просмотров299K
Те, кто давно занимается поисковой оптимизацией, хорошо знают об операторах расширенного поиска Google. Например, почти все знают об операторе site:, который ограничивает поисковую выдачу одним сайтом.

Большинство операторов легко запомнить, это короткие команды. Но уметь эффективно их использовать — совсем другая история. Многие специалисты знают основы, но немногие по-настоящему овладели этими командами.

В этой статье я поделюсь советами, которые помогут освоить поисковые операторы для 15 конкретных задач.
Читать дальше →
Всего голосов 127: ↑124 и ↓3+121
Комментарии40

Практические советы, примеры и туннели SSH

Время на прочтение13 мин
Количество просмотров225K

Практические примеры SSH, которые выведут на новый уровень ваши навыки удалённого системного администратора. Команды и советы помогут не только использовать SSH, но и более грамотно перемещаться по сети.

Знание нескольких трюков ssh полезно любому системному администратору, сетевому инженеру или специалисту по безопасности.
Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии29

Защита целостности кода с помощью PGP. Часть 2. Создание мастер-ключа

Время на прочтение6 мин
Количество просмотров9.3K
Перед вами перевод второй части серии материалов, посвящённых защите целостности кода с помощью PGP. В прошлый раз мы разобрали основы PGP, а сегодня поговорим о том, как создавать 4096-битные мастер-ключи RSA, и о том, как их защищать.


Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии2

Работа с массивами в bash

Время на прочтение8 мин
Количество просмотров112K
Программисты регулярно пользуются bash для решения множества задач, сопутствующих разработке ПО. При этом bash-массивы нередко считаются одной из самых непонятных возможностей этой командной оболочки (вероятно, массивы уступают в этом плане лишь регулярным выражениям). Автор материала, перевод которого мы сегодня публикуем, приглашает всех желающих в удивительный мир bash-массивов, которые, если привыкнуть к их необычному синтаксису, могут принести немало пользы.

image
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии5

Основы BASH. Часть 1

Время на прочтение5 мин
Количество просмотров1.4M
Безусловно, все те кто общается с ОС Linux хоть раз да имели дело(во всяком случае слышали точно) с командной оболочкой BASH. Но BASH не только командная оболочка, это еще и превосходный скриптовый язык программирования.
Цель этой статьи — познакомить поближе юзеров с bash, рассказать про синтаксис, основные приемы и фишки языка, для того чтобы даже обычный пользователь смог быстренько написать простой скрипт для выполнения ежедневной(-недельной, -месячной) рутинной работы или, скажем, «на коленке» наваять скриптик для бэкапа директории.
Читать дальше →
Всего голосов 146: ↑135 и ↓11+124
Комментарии114

Насколько хорошо ты знаешь bash?

Время на прочтение4 мин
Количество просмотров39K

Пользуешься командным интерпретатором каждый день? Готов решить несколько логических задачек и узнать что-то новое? Добро пожаловать под кат.
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии31

Google's Shell Style Guide (на русском)

Время на прочтение14 мин
Количество просмотров22K

Предисловие


Какой Shell использовать


Bash единственный язык shell скриптов, который разрешается использовать для исполняемых файлов.


Скрипты должны начинаться с #!/bin/bash с минимальным набором флагов. Используйте set для установки shell опций, что бы вызов вашего скрипта как bash <script_name> не нарушил его функциональности.


Ограничение всех shell скриптов до bash, дает нам согласованный shell язык, который установлен на всех наших машинах.


Единственное исключение составляет если вы ограничены условиями того под что вы программируете. Одним из примеров могут стать пакеты Solaris SVR4, для которых требуется использование обычного Bourne shell для любых скриптов.


Когда использовать Shell


Shell следует использовать только для небольших утилит или простых скрптов-оберток.


Хотя shell-скриптинг не является языком разработки, он используется для написания различных утилит во всем Google. Это руководство по стилю является скорее признанием его использования, а не предложением использовать его в широком применении.

Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии10

Комиксы о сисадминах: вся жизнь пронеслась перед глазами

Время на прочтение9 мин
Количество просмотров48K
Это было самое нецелевое использование рабочего времени в истории нашей команды… Но до этого в офисе прозвучала фраза: «Я тут комикс 1996 года нашёл! Про админов». В нас проснулся дух авантюризма и мы решили собрать разные комиксы и пронаблюдать, как эволюционировала система ценностей системных администраторов: что-то ушло в небытие, что-то новое появилось. Получилось много картинок, мало текста и немало смысла. В общем, Хабр, таким нельзя не поделиться. Даёшь ностальгию со слезами на глазах в середине рабочей недели!


Источник: Я плакалъ Первоисточник подсказали в комментариях
Читать дальше →
Всего голосов 59: ↑44 и ↓15+29
Комментарии50

Стать мэинтейнером. Часть первая

Время на прочтение5 мин
Количество просмотров6K
Когда я прочитал эту и эту статьи, мне захотелось рассказать, как человек может внести свой маленький вклад в распространение своей любимой программы среди пользователей всеми любимой операционной системы. Полистав Убунтариум, я увидел, что статей на эту тему вроде бы не было, поэтому я решил смело приняться за дело.
(Части 2, 3 и 4)
Почитать дальше
Всего голосов 51: ↑50 и ↓1+49
Комментарии26

Добываем Wi-Fi соседа стандартными средствами MacOS

Время на прочтение5 мин
Количество просмотров365K
Я всегда был фанатом багов и уязвимостей «на поверхности», всегда завидовал чувакам, которые пишут эксплойты для самых защищённых ОС, а сам умел только скрипткиддить (термин из нулевых). Однако мой пост про уязвимости в системах контроля версий набрал более 1000 лайков на Хабре и остаётся топ1 постом за всю историю Хабра, несмотря на то, что был написан 9(!) лет назад.

И сегодня я хотел бы на пальцах показать и рассказать про такую штуку, как вардрайвинг. А точнее, как стандартными средствами MacOS можно добыть пароли от Wi-Fi соседей. Нелёгкая забросила меня на очередную квартиру. Как-то исторически сложилось, что я ленивый. Пару лет назад я уже писал, что моя лень, новая квартира и провод Beeline (бывшая Corbina) помогли мне найти багу у Билайна и иметь бесплатно интернет в их сети. «Сегодня» происходит «подобное», я на новой квартире, нет даже провода, но есть много сетей у соседей.


Заколебавшись расходовать мобильный трафик, я решил, что «соседям надо помогать», и под «соседями» я имел введу себя…
Читать дальше →
Всего голосов 163: ↑151 и ↓12+139
Комментарии249

Обзор вариантов организации доступа к сервисам корпоративной сети из Интернет

Время на прочтение11 мин
Количество просмотров163K

© Кившенко Алексей, 1880

Данная статья содержит обзор пяти вариантов решения задачи организации доступа к сервисам корпоративной сети из Интернет. В рамках обзора приводится анализ вариантов на предмет безопасности и реализуемости, что поможет разобраться в сути вопроса, освежить и систематизировать свои знания как начинающим специалистам, так и более опытным. Материалы статьи можно использовать для обоснования Ваших проектных решений.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии23

Защита личных данных на Android-телефоне

Время на прочтение26 мин
Количество просмотров118K
Мобильных компьютеров уже давно больше, чем стационарных. И наших личных данных на них так же значительно больше, чем на стационарных. При этом текущий дизайн OS мобильных устройств создаёт впечатление, что одна из их основных задач — как можно сильнее упростить доступ третьим лицам (в основном — корпорациям и государству, но и мелким разработчикам мобильных приложений тоже обламывается от этого пирога) к вашим личным данным.

Частичная открытость Android немного улучшает ситуацию, но полноценного решения проблемы утечки приватных данных пока не существует. Основная проблема в том, что пока на устройстве используются блобы нет никаких гарантий, что в них нет закладок (вроде обнаруженных в прошивках Samsung Galaxy). Аналогичная проблема с проприетарными приложениями без открытых исходников (вроде всего пакета GApps, начиная с самого Google Play Маркет). По сути всё как раз наоборот — крайне высока вероятность, что закладки там есть. Нередко их даже не пытаются скрывать, выдавая за удобные «фичи» для синхронизации и/или бэкапа ваших данных, обеспечивания вас полезной рекламой, и «защиту» от вредоносного софта или на случай утери устройства. Один из самых надёжных способов защиты своих данных описан в статье Mission Impossible: Hardening Android for Security and Privacy, но там речь не о телефоне, а о планшете, причём с поддержкой только WiFi (мобильных чипов без блобов по-моему вообще пока ещё нет, для мобильного инета вместе с этим планшетом предлагается использовать отдельный 3G-модем, блобы в котором никому не навредят т.к. на этом модеме личных данных просто нет), и, на всякий случай, физически отрезанным микрофоном. Но, несмотря на невозможность полноценно защитить личные данные на телефоне, я считаю что стоит сделать максимум возможного: прикрыть столько каналов утечек, сколько получится — ведь мало кто может позволить себе не использовать мобильный телефон или не держать на нём личные данные (хотя бы контакты и историю звонков).

Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии56

Нехватка оперативной памяти в Linux на рабочем ПК: оптимизация и действия при зависании

Время на прочтение5 мин
Количество просмотров86K
На любой операционной системе часто не хватает оперативной памяти. Рассмотрим, как и сэкономить на увеличении аппаратных ресурсов машины с Linux, и продолжить более-менее комфортно пользоваться компьютером с Linux в условиях нехватки памяти.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии36

Загадки и мифы SPF

Время на прочтение10 мин
Количество просмотров55K


SPF (Sender Policy Framework), полное название можно перевести как «Основы политики отправителя для авторизации использования домена в Email» — протокол, посредством которого домен электронной почты может указать, какие хосты Интернет авторизованы использовать этот домен в командах SMTP HELO и MAIL FROM. Публикация политики SPF не требует никакого дополнительного софта и поэтому чрезвычайно проста: достаточно добавить в зону DNS запись типа TXT, содержащую политику, пример записи есть в конце статьи. Для работы с SPF есть многочисленные мануалы и даже онлайн-конструкторы.


Первая версия стандарта SPF принята более 10 лет назад. За это время были созданы многочисленные реализации, выработаны практики применения и появилась свежая версия стандарта. Но самое удивительное, что почему-то именно SPF, более чем любой другой стандарт, оброс за 10 лет невероятным количеством мифов и заблуждений, которые кочуют из статьи в статью и с завидной регулярностью выскакивают в обсуждениях и ответах на вопросы на форумах. А протокол, казалось бы, такой простой: внедрение занимает всего пару минут. Давайте попробуем вспомнить и разобрать наиболее частые заблуждения.


TL;DR — рекомендации в конце.

Читать дальше →
Всего голосов 58: ↑57 и ↓1+56
Комментарии27

Сказ о sysctl’ях (народная пингвинская история)

Время на прочтение8 мин
Количество просмотров68K
Очень часто администраторы выполняют настройку системы просто настройкой базовых вещей — ip,dns,hostname, поставить софт, а все остальное уже настройки приложений. В большинстве случаев так оно и есть, поскольку в linux’е очень разумные умолчания и, в большинстве случаев, этих умолчаний хватает и все живут счастливо. Среди совсем начинающих ходят легенды о неких sysctl’ях, а те, кто поопытнее видели и даже чего-то правили.

Но приходит момент, когда админ в своих походах по системе встречает этого зверя — sysctl. Вероятнее всего он встречает кого-то из семейства net.ipv4 или vm, даже вероятнее всего net.ipv4.ip_forward, если поход за роутером или vm.swappinness, если он обеспокоен подросшим swap’ом своего пингвина. Первый зверь разрешает пингвину принимать пакеты одним крылом и отдавать другим (разрешает маршрутизацию), а второй помогает справиться с использованием swap’а в спокойной системе и регулировать его использование — в нагруженной.



Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии23

Почта России для чайников

Время на прочтение6 мин
Количество просмотров306K
Почта России — это большая, сложная и не очень дружественная структура. На неё принято плеваться в социальных сетях, а поход за письмом или посылкой часто превращается в маленький квест. Про такое говорят: «Жизнь меня к этому не готовила».



Хочешь отправить книжку в подарок другу. Приходишь в отделение, а уставшая женщина спрашивает: «Как отправляем, заказной бандеролью с объявленной ценностью или первым классом?». И ты понимаешь, что это будет посложнее высоконагруженных систем, больших данных и нейросетей.

Мы в «Дадате» сильно связаны с почтой: исправляем адреса и неплохо разбираемся в особенностях её работы. Написали подробный гид по услугам Почты России, для чайников. Автор статьи — Сергей Король, редактор и почтовый гик.

Почта. Инструкция по применению
Всего голосов 68: ↑63 и ↓5+58
Комментарии62

О выборе структур данных для начинающих

Время на прочтение18 мин
Количество просмотров177K
image

Часть 1. Линейные структуры


Массив


Когда вам нужен один объект, вы создаёте один объект. Когда нужно несколько объектов, тогда есть несколько вариантов на выбор. Я видел, как многие новички в коде пишут что-то типа такого:

// Таблица рекордов
int score1 = 0;
int score2 = 0;
int score3 = 0;
int score4 = 0;
int score5 = 0;

Это даёт нам значение пяти рекордов. Этот способ неплохо работает, пока вам не потребуется пятьдесят или сто объектов. Вместо создания отдельных объектов можно использовать массив.

// Таблица рекордов
const int NUM_HIGH_SCORES = 5;
int highScore[NUM_HIGH_SCORES] = {0};

Будет создан буфер из 5 элементов, вот такой:



Заметьте, что индекс массива начинается с нуля. Если в массиве пять элементов, то они будут иметь индексы от нуля до четырёх.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии32

Немного предпятничных задачек на Bash

Время на прочтение7 мин
Количество просмотров23K
image

Привет Хабр!



В bash частенько можно столкнуться с ситуацией, когда вроде как уже разобрался, и тут внезапно какая-то магия. Ковырнешь ее, а там еще целый пласт вещей, о которых раньше и не подозревал…
Под катом — несколько забавных задачек на bash, которые (надеюсь) могут оказаться интересными даже для середнячков. Удивить гуру я не надеюсь.., но все же перед тем как залезть под кат, сперва пообещайте ответить на задачки хотя бы для себя вслух — без man/info/google.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии25

Информация

В рейтинге
1 798-й
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

System Administration, DevOps
Middle
Git
Bash
Linux
Nginx
Docker
Kubernetes
Elasticsearch
RabbitMQ
Apache Kafka
MySQL