Media is too big
VIEW IN TELEGRAM
Разжёванный курс по Linux для чайников. Часть 2
0:10 Введение. Ответы на вопросы.
6:00 Негативный поиск(echo, grep, регулярки)
24:36 Код возврата приложений
31:42 Логическое И, ИЛИ
38:38 Цикл FOR (Однострочная конструкция)
53:07 Перекур
1:05:16 Понятие скрипта. Скрипт файл.
1:15:09 Переменные окружения (SPATH)
1:30:16 Команда hash
1:42:56 /dev/null
1:48:28 Планировщик задач (Сron)
2:09:34 дом зад
2:16:01 вводный урок. Веб-сервисы.
3:17:03 Реш дом зад(логи регулярки)
4:32:27 Разбор дом зад и непонятных вопросов.
4:39:23 Настройка выделенного сервера
7:03:27 SOA и введение в Docker
👉 @i_linux
0:10 Введение. Ответы на вопросы.
6:00 Негативный поиск(echo, grep, регулярки)
24:36 Код возврата приложений
31:42 Логическое И, ИЛИ
38:38 Цикл FOR (Однострочная конструкция)
53:07 Перекур
1:05:16 Понятие скрипта. Скрипт файл.
1:15:09 Переменные окружения (SPATH)
1:30:16 Команда hash
1:42:56 /dev/null
1:48:28 Планировщик задач (Сron)
2:09:34 дом зад
2:16:01 вводный урок. Веб-сервисы.
3:17:03 Реш дом зад(логи регулярки)
4:32:27 Разбор дом зад и непонятных вопросов.
4:39:23 Настройка выделенного сервера
7:03:27 SOA и введение в Docker
👉 @i_linux
👍5
Уроки по Linux
Команда AWK bash скрипты по-взрослому.
Редактируем текст в linux c SED
GREP регулярные выражения. Поиск в Linux
Менеджер пакетов apt. Установка из ppa virtualbox
Запуск задач по расписанию linux. Cron и его маленький секрет
Процессы Linux. От рождения до смерти. Делаем процесс милым (nice, renice)
источник
👉 @i_linux
Команда AWK bash скрипты по-взрослому.
Редактируем текст в linux c SED
GREP регулярные выражения. Поиск в Linux
Менеджер пакетов apt. Установка из ppa virtualbox
Запуск задач по расписанию linux. Cron и его маленький секрет
Процессы Linux. От рождения до смерти. Делаем процесс милым (nice, renice)
источник
👉 @i_linux
👍4❤2
Примеры использования команды grep в Linux
Поиск файлов с помощью команды grep
Команда dpkg -l выводит на экран установленные пакеты с расширением *.deb. Результат вывода с помощью символа передается по конвейеру команде grep. При этом опция -i позволяет команде игнорировать регистр в названиях.
Фильтрация содержимого файлов с помощью команды grep (игнорирование закомментированных строк)
Опция –v указывает команде, что на экран нужно выводить те строки, в которых нет искомого выражения.
Обнаружение всех файлов с расширением .mp3 с помощью команды grep
find — утилита поиска файлов в файловой системе;
. — указывает, что поиск следует вести относительно текущего рабочего каталога;
–name — проверяет название файлов на соответствие заданному шаблону;
"*.mp3" — шаблон, соответствующий файлам искомого формата;
| — объединяет команды в конвейер (вывод первой команды передается на ввод второй — и так далее);
grep с опцией –i — поиск по выводу команды find с игнорированием регистра;
"ABC" — шаблон, по которому осуществляется поиск;
grep –vi — поиск по выводу предыдущей команды grep и исключение результатов, соответствующих заданному шаблону;
"remix" — шаблон, по которому осуществляется поиск.
Отображение строк до или после строки с результатом поиска
-A (от англ. After) — указанное количество строк до шаблона;
-B (от англ. Before) — указанное количество строк после шаблона.
Выведение заданного числа всех соседних строк с помощью команды grep
В том случае, если Вы точно не знаете, какие именно соседние строки (до или после строки, содержащей шаблон) Вам нужны — воспользуйтесь командой grep с опцией -C. Следующая комбинация команд выведет на экран по 2 строки до и после строчки вывода команды ifconfig, содержащей шаблон lo:
Подсчет числа строк, содержащих искомое выражение
В некоторых случаях Вам могут понадобится не сами строчки, включающие заданное выражение, а их общее количество. В таком случае воспользуйтесь опцией -c. Следующая комбинация команд выведет на экран количество строк в выводе команды ifconfig, включающих шаблон inet6.
👉 @i_linux
Поиск файлов с помощью команды grep
# dpkg -l | grep -i pythonКоманда dpkg -l выводит на экран установленные пакеты с расширением *.deb. Результат вывода с помощью символа передается по конвейеру команде grep. При этом опция -i позволяет команде игнорировать регистр в названиях.
Фильтрация содержимого файлов с помощью команды grep (игнорирование закомментированных строк)
# grep –v "#" /etc/apache2/sites-available/default-sslОпция –v указывает команде, что на экран нужно выводить те строки, в которых нет искомого выражения.
Обнаружение всех файлов с расширением .mp3 с помощью команды grep
# find . –name "*.mp3" | grep –i "ABC" | grep –vi "remix"find — утилита поиска файлов в файловой системе;
. — указывает, что поиск следует вести относительно текущего рабочего каталога;
–name — проверяет название файлов на соответствие заданному шаблону;
"*.mp3" — шаблон, соответствующий файлам искомого формата;
| — объединяет команды в конвейер (вывод первой команды передается на ввод второй — и так далее);
grep с опцией –i — поиск по выводу команды find с игнорированием регистра;
"ABC" — шаблон, по которому осуществляется поиск;
grep –vi — поиск по выводу предыдущей команды grep и исключение результатов, соответствующих заданному шаблону;
"remix" — шаблон, по которому осуществляется поиск.
Отображение строк до или после строки с результатом поиска
# ifconfig | grep –A 4 eth0-A (от англ. After) — указанное количество строк до шаблона;
-B (от англ. Before) — указанное количество строк после шаблона.
Выведение заданного числа всех соседних строк с помощью команды grep
# ifconfig | grep -C 2 loВ том случае, если Вы точно не знаете, какие именно соседние строки (до или после строки, содержащей шаблон) Вам нужны — воспользуйтесь командой grep с опцией -C. Следующая комбинация команд выведет на экран по 2 строки до и после строчки вывода команды ifconfig, содержащей шаблон lo:
Подсчет числа строк, содержащих искомое выражение
# ifconfig | grep -c inet6В некоторых случаях Вам могут понадобится не сами строчки, включающие заданное выражение, а их общее количество. В таком случае воспользуйтесь опцией -c. Следующая комбинация команд выведет на экран количество строк в выводе команды ifconfig, включающих шаблон inet6.
👉 @i_linux
👍3
Топ полезных команд
Отправить тестовое письмо:
Выполнить PHP функцию в консоли:
Отключить спящий режим на ubuntu server:
Для проверки набора переменных BASH_ENV:
Замер скорости диска:
Обновить locate:
👉 @i_linux
Отправить тестовое письмо:
echo "test" | mail -s "Test Subject" user@gmail.comВыполнить PHP функцию в консоли:
php -r "echo phpinfo();" | grep date.timezoneОтключить спящий режим на ubuntu server:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetДля проверки набора переменных BASH_ENV:
$ env | grep BASH_ENVЗамер скорости диска:
dd if=/dev/zero of=testfile bs=4k count=1310720
dd if=testfile of=/dev/null bs=4k count=1310720Обновить locate:
/usr/libexec/locate.updatedb👉 @i_linux
👍4
Топ полезных команд
Конвертировать HEIC в JPG:
Изменить текстовый редактор для конкретного случая:
Удалить snapd в Ubuntu Server:
Удалить старые данные telegraf в Influxdb 1.8:
будут удалены все записи до 2022-06-01
Работа с сетью
Изменением маршрута:
Выключаем IPv6:
👉 @i_linux
Конвертировать HEIC в JPG:
ls *.HEIC -1 | sed -e 's/\.HEIC$//' | xargs -I {} convert {}.HEIC {}.JPGИзменить текстовый редактор для конкретного случая:
export EDITOR=ee; crontab -eУдалить snapd в Ubuntu Server:
$ sudo apt purge snapd
$ sudo apt-mark hold snapd
snapd помечен как зафиксированный.Удалить старые данные telegraf в Influxdb 1.8:
$ docker exec -ti influxdb influx
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> use telegraf;
Using database telegraf
> DELETE WHERE time < '2022-06-01'будут удалены все записи до 2022-06-01
Работа с сетью
Изменением маршрута:
route change default 192.168.1.1Выключаем IPv6:
sudo nano /etc/sysctl.confnet.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1👉 @i_linux
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Что происходит, когда вы вводите в браузер URL-адрес?
Давайте рассмотрим этот процесс пошагово.
Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.
Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.
Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.
Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javanoscript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.
👉 @i_linux
Давайте рассмотрим этот процесс пошагово.
Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.
Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.
Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.
Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javanoscript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.
👉 @i_linux
👍8
Информация о пользователях и системе в Linux
(Обычно первая сотка/тысяча юзеров зарезервирована для системных)
В /etc/passwd записываются UIDs пользователей
В /etc/groups записываются GIDs пользователей
👉 @i_linux
whoami или echo $USER- выведем имя юзераgroups - выведет группы пользователяid - выведет User IDentifier, его имя, Group IDentifier и группы данного юзера с их GID(Обычно первая сотка/тысяча юзеров зарезервирована для системных)
В /etc/passwd записываются UIDs пользователей
В /etc/groups записываются GIDs пользователей
last - список последних логинов в системуlast reboot - список перезагрузок хоста по времениlast user1 - отобразить историю регистрации пользователя в системе и время его нахождения в нейw - показывает активные сессии (дата, время, ip, простой, сколько было потреблено процессорного времени и что выполняет)echo $XDG_CURRENT_DESKTOP - узнать какая графическая оболочкаhostname - выведет имя хоста, hostname -i - IP адресаuname -a - выводит ОС, версию ядра, архитектуру и дату сборки, процессор, лицензию и так далее, т.е. вся информация о системе, сборке или lsb_release -a или пакет neofetch с полной информацией о системе или cat /etc/os-releasedmidecode - информация о железеfree -w -t --mega - выводит данные об использовании ОЗУ и swap в мегабайтах (поле shared значит разделенная между процессами память, кэш это то, что часто используется и хранится, буфер это то, что приготовлено для записи, кэш и буфера это условно свободная память)date - полная дата с часовым поясомifconfig -a - Настройки всех сетевых адаптеровip addr show - Список всех сетевых интерфейсов и связанных IP-адресовwget -qO- eth0.me - Узнать внешний IPuptimeman ls - документация/инструкция по указанному пакету👉 @i_linux
👍4
Common_Windows,_Linux_and_Web_Server_Systems_Hacking_Techniques.pdf
10.1 MB
Common Windows, Linux and Web Server Systems Hacking Techniques
Alassouli, Dr. Hidaia Mahmood (2021)
A Trojan horse or Trojan is a type of malware that is often disguised as legitimate software. Trojans can be employed by cyber-thieves and hackers trying to gain access to users' systems. Users are typically tricked by some form of social engineering into loading and executing Trojans on their systems. Once activated, Trojans can enable cyber-criminals to spy on you, steal your sensitive data, and gain backdoor access to your system.A computer virus is a type of computer program that, when executed, replicates itself by modifying other computer programs and inserting its own code.
👉 @i_linux
Alassouli, Dr. Hidaia Mahmood (2021)
A Trojan horse or Trojan is a type of malware that is often disguised as legitimate software. Trojans can be employed by cyber-thieves and hackers trying to gain access to users' systems. Users are typically tricked by some form of social engineering into loading and executing Trojans on their systems. Once activated, Trojans can enable cyber-criminals to spy on you, steal your sensitive data, and gain backdoor access to your system.A computer virus is a type of computer program that, when executed, replicates itself by modifying other computer programs and inserting its own code.
👉 @i_linux
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
DUF (Disk Usage/Free) — это современная утилита для отображения информации о дисковом пространстве на Linux, BSD, macOS и Windows. Она предоставляет удобный интерфейс для мониторинга использования дисков с цветовой индикацией и выводом полезной информации, такой как объем свободного и занятого места, проценты использования и точки монтирования.
Основные особенности DUF:
- Понятный и цветной интерфейс.
- Кроссплатформенность (Linux, BSD, macOS и Windows).
- Поддержка различных файловых систем.
- Возможность фильтрации и настройки отображаемых данных.
Эта утилита — полезный инструмент для системных администраторов и пользователей, которым требуется быстрая и удобная проверка состояния дисков в системе.
https://www.cyberciti.biz/open-source/command-line-hacks/duf-disk-usage-free-utility-for-linux-bsd-macos-windows/
👉 @i_linux
Основные особенности DUF:
- Понятный и цветной интерфейс.
- Кроссплатформенность (Linux, BSD, macOS и Windows).
- Поддержка различных файловых систем.
- Возможность фильтрации и настройки отображаемых данных.
Эта утилита — полезный инструмент для системных администраторов и пользователей, которым требуется быстрая и удобная проверка состояния дисков в системе.
https://www.cyberciti.biz/open-source/command-line-hacks/duf-disk-usage-free-utility-for-linux-bsd-macos-windows/
👉 @i_linux
👍3❤2
Oh My Zsh
Удивительный фреймворк, созданный при участии сообщества (более 2400 участников) для управления вашей конфигурацией zsh. Включает более 300 дополнительных плагинов (rails, git, macOS, hub, docker, homebrew, node, php, python и др.), более 140 тем, чтобы разнообразить ваш день, и инструмент автоматического обновления, который облегчает установку последних обновлений от сообщества.
https://github.com/ohmyzsh/ohmyzsh
👉 @i_linux
Удивительный фреймворк, созданный при участии сообщества (более 2400 участников) для управления вашей конфигурацией zsh. Включает более 300 дополнительных плагинов (rails, git, macOS, hub, docker, homebrew, node, php, python и др.), более 140 тем, чтобы разнообразить ваш день, и инструмент автоматического обновления, который облегчает установку последних обновлений от сообщества.
https://github.com/ohmyzsh/ohmyzsh
👉 @i_linux
👍5
Работа с архивами
Создать .tar.gz:
Распаковать .tar:
Распаковать gz:
Распаковать многотомный архив:
Получить листинг файлов в архиве:
Извлечь конкретный файл из архива:
Скопировать файл на сервер:
👉 @i_linux
Создать .tar.gz:
tar -czvf file.tar.gz /full/path — создать .tar.gz (архив)
tar -cjvf file.tar.bz2 /full/path — создать .tar.bz2 (архив)Распаковать .tar:
tar -xvf file.tar.gzРаспаковать gz:
gunzip yourfile.gzРаспаковать многотомный архив:
7za x arch.7z.001Получить листинг файлов в архиве:
tar -tf <path_to_tarfile>Извлечь конкретный файл из архива:
tar -xf <path_to_tarfile> [<file_1_in_archive> <file_2_in_archive> ..]Скопировать файл на сервер:
scp -P 12322 file.tar login@111.111.111.111:/home/user👉 @i_linux
👍4