Как ускорить навигацию командной строки
++++++++++++++++++++++++++++++
Повторный запуск под root — sudo !!
user@host: cat /var/log/messages
cat /var/log/messages: Permission denied.
Как не надо: Вверх. Влево. Влево. Влево. …. sudo Enter. Рррр.
Как надо: sudo !!
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Повторный ввод последнего аргумента — Alt+
Вы захотели еще раз воспользоваться только что написанным аргументом? Например, созданной директорией?
Как не надо: mkdir MyNewDirectory; cd MyNewDirectory
Как надо:
mkdir MyNewDirectory
cd <Alt+.>
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Поиск запущенной команды — Ctrl+R
Какую же команду я только что запускал? Вверх. Вверх. Вверх. Вверх. О, вот и она!
Снова и снова вам приходится копаться в истории, ведь вы не знаете более подходящих альтернатив. Но что, если я скажу вам о том, что есть… поиск?
Как не надо: Вверх. Вверх. Вверх. Enter.
Как надо: Ctrl+R
Просто нажмите Ctrl+R и введите первые буквы нужной команды. Если поиск не выдал нужную команду сразу, то нажмите Ctrl+R еще раз. Повторное нажатие используется для прокрутки результатов. Ниже приведен поиск для cat.
(reverse-i-search)cat: sudo cat /var/log/messages
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Переход в начальную директорию — cd
Вы не на шутку удивитесь, узнав, сколько людей не знают этого способа! cd. Да, так просто. Без лишних аргументов вы сразу попадете в начальную директорию.
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Возвращение в последнюю директорию — cd -
Иногда простой способ — самый лучший. Допустим, вы были в директории /var/www/foo, а теперь оказались в /etc . Простая команда cd — вернет вас обратно в /var/www/foo .
Как не надо: cd /var/www/foo
Как надо: cd -
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Контроль работы: передний план, фоновый режим и проч.
Возможно, вам потребуется какое-то время, чтобы привыкнуть, но оно того стоит. Допустим, вы редактируете файл в vim (вы же не будете этого делать в nano, да?!). И вот вам вдруг захотелось что-то найти в директории /var/www/html. Конечно же, вы можете выйти из vim, перейти в нужную директорию, а потом вдруг решить, что неплохо было бы вернуться к редактированию. Есть и другой вариант — перевести vim в фоновый режим и вернуться к нему позже.
Напишите: Ctrl+Z. Эта комбинация переводит все текущие задачи с переднего плана в фоновый режим. Полезно как минимум для: less, cat, man, vim и т.д.
«И куда же отправится моя активная задача?» — спросите вы. Напишите jobs и сами узнаете.
user@host: jobs
[1] Stopped vim
Супер. Теперь можно заняться чем-то другим. А как только вы решите вернуться к задаче, напишите fg. Эта команда возвращает фоновую задачу (vim) на передний план. Обратите внимание, что фоновые процессы приостанавливаются. Поэтому если в файле вы выполняли что-то из разряда tail, то для завершения команды потребуется какое-то время. Если же в фоновом режиме запущено несколько задач, то напишите fg 3 , где 3 — это номер задачи для возобновления. Увидеть список задач можно по команде jobs.
++++++++++++++++++++++++++++++
👉 @i_odmin
++++++++++++++++++++++++++++++
Повторный запуск под root — sudo !!
user@host: cat /var/log/messages
cat /var/log/messages: Permission denied.
Как не надо: Вверх. Влево. Влево. Влево. …. sudo Enter. Рррр.
Как надо: sudo !!
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Повторный ввод последнего аргумента — Alt+
Вы захотели еще раз воспользоваться только что написанным аргументом? Например, созданной директорией?
Как не надо: mkdir MyNewDirectory; cd MyNewDirectory
Как надо:
mkdir MyNewDirectory
cd <Alt+.>
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Поиск запущенной команды — Ctrl+R
Какую же команду я только что запускал? Вверх. Вверх. Вверх. Вверх. О, вот и она!
Снова и снова вам приходится копаться в истории, ведь вы не знаете более подходящих альтернатив. Но что, если я скажу вам о том, что есть… поиск?
Как не надо: Вверх. Вверх. Вверх. Enter.
Как надо: Ctrl+R
Просто нажмите Ctrl+R и введите первые буквы нужной команды. Если поиск не выдал нужную команду сразу, то нажмите Ctrl+R еще раз. Повторное нажатие используется для прокрутки результатов. Ниже приведен поиск для cat.
(reverse-i-search)cat: sudo cat /var/log/messages
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Переход в начальную директорию — cd
Вы не на шутку удивитесь, узнав, сколько людей не знают этого способа! cd. Да, так просто. Без лишних аргументов вы сразу попадете в начальную директорию.
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Возвращение в последнюю директорию — cd -
Иногда простой способ — самый лучший. Допустим, вы были в директории /var/www/foo, а теперь оказались в /etc . Простая команда cd — вернет вас обратно в /var/www/foo .
Как не надо: cd /var/www/foo
Как надо: cd -
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Контроль работы: передний план, фоновый режим и проч.
Возможно, вам потребуется какое-то время, чтобы привыкнуть, но оно того стоит. Допустим, вы редактируете файл в vim (вы же не будете этого делать в nano, да?!). И вот вам вдруг захотелось что-то найти в директории /var/www/html. Конечно же, вы можете выйти из vim, перейти в нужную директорию, а потом вдруг решить, что неплохо было бы вернуться к редактированию. Есть и другой вариант — перевести vim в фоновый режим и вернуться к нему позже.
Напишите: Ctrl+Z. Эта комбинация переводит все текущие задачи с переднего плана в фоновый режим. Полезно как минимум для: less, cat, man, vim и т.д.
«И куда же отправится моя активная задача?» — спросите вы. Напишите jobs и сами узнаете.
user@host: jobs
[1] Stopped vim
Супер. Теперь можно заняться чем-то другим. А как только вы решите вернуться к задаче, напишите fg. Эта команда возвращает фоновую задачу (vim) на передний план. Обратите внимание, что фоновые процессы приостанавливаются. Поэтому если в файле вы выполняли что-то из разряда tail, то для завершения команды потребуется какое-то время. Если же в фоновом режиме запущено несколько задач, то напишите fg 3 , где 3 — это номер задачи для возобновления. Увидеть список задач можно по команде jobs.
++++++++++++++++++++++++++++++
👉 @i_odmin
👍32❤2
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://xn--r1a.website/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://xn--r1a.website/sysadminof Книги для админов, полезные материалы
https://xn--r1a.website/i_odmin Все для системного администратора
https://xn--r1a.website/i_odmin_book Библиотека Системного Администратора
https://xn--r1a.website/i_odmin_chat Чат системных администраторов
https://xn--r1a.website/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://xn--r1a.website/sysadminoff Новости Линукс Linux
https://xn--r1a.website/tikon_1 Новости высоких технологий, науки и техники💡
https://xn--r1a.website/mir_teh Мир технологий (Technology World)
https://xn--r1a.website/rust_lib Полезный контент по программированию на Rust
https://xn--r1a.website/golang_lib Библиотека Go (Golang) разработчика
https://xn--r1a.website/itmozg Программисты, дизайнеры, новости из мира IT.
https://xn--r1a.website/phis_mat Обучающие видео, книги по Физике и Математике
https://xn--r1a.website/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://xn--r1a.website/nodejs_lib Подборки по Node js и все что с ним связано
https://xn--r1a.website/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://xn--r1a.website/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://xn--r1a.website/cpp_lib Библиотека C/C++ разработчика
https://xn--r1a.website/cpp_knigi Книги для программистов C/C++
https://xn--r1a.website/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://xn--r1a.website/pythonofff Python академия. Учи Python быстро и легко🐍
https://xn--r1a.website/BookPython Библиотека Python разработчика
https://xn--r1a.website/python_real Python подборки на русском и английском
https://xn--r1a.website/python_360 Книги по Python Rus
Java разработка 📌
https://xn--r1a.website/BookJava Библиотека Java разработчика
https://xn--r1a.website/java_360 Книги по Java Rus
https://xn--r1a.website/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://xn--r1a.website/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://xn--r1a.website/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://xn--r1a.website/developer_mobila Мобильная разработка
https://xn--r1a.website/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://xn--r1a.website/frontend_1 Подборки для frontend разработчиков
https://xn--r1a.website/frontend_sovet Frontend советы, примеры и практика!
https://xn--r1a.website/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://xn--r1a.website/game_devv Все о разработке игр
Вакансии 📌
https://xn--r1a.website/sysadmin_rabota Системный Администратор
https://xn--r1a.website/progjob Вакансии в IT
Чат программистов📌
https://xn--r1a.website/developers_ru
Библиотеки 📌
https://xn--r1a.website/book_for_dev Книги для программистов Rus
https://xn--r1a.website/programmist_of Книги по программированию
https://xn--r1a.website/proglb Библиотека программиста
https://xn--r1a.website/bfbook Книги для программистов
https://xn--r1a.website/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://xn--r1a.website/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://xn--r1a.website/bookflow Лекции, видеоуроки, доклады с IT конференций
https://xn--r1a.website/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://xn--r1a.website/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://xn--r1a.website/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://xn--r1a.website/thehaking Канал о кибербезопасности
https://xn--r1a.website/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://xn--r1a.website/ux_web Статьи, книги для дизайнеров
Английский 📌
https://xn--r1a.website/UchuEnglish Английский с нуля
Математика 📌
https://xn--r1a.website/Pomatematike Канал по математике
Excel лайфхак📌
https://xn--r1a.website/Excel_lifehack
Системное администрирование 📌
https://xn--r1a.website/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://xn--r1a.website/sysadminof Книги для админов, полезные материалы
https://xn--r1a.website/i_odmin Все для системного администратора
https://xn--r1a.website/i_odmin_book Библиотека Системного Администратора
https://xn--r1a.website/i_odmin_chat Чат системных администраторов
https://xn--r1a.website/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://xn--r1a.website/sysadminoff Новости Линукс Linux
https://xn--r1a.website/tikon_1 Новости высоких технологий, науки и техники💡
https://xn--r1a.website/mir_teh Мир технологий (Technology World)
https://xn--r1a.website/rust_lib Полезный контент по программированию на Rust
https://xn--r1a.website/golang_lib Библиотека Go (Golang) разработчика
https://xn--r1a.website/itmozg Программисты, дизайнеры, новости из мира IT.
https://xn--r1a.website/phis_mat Обучающие видео, книги по Физике и Математике
https://xn--r1a.website/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://xn--r1a.website/nodejs_lib Подборки по Node js и все что с ним связано
https://xn--r1a.website/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://xn--r1a.website/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://xn--r1a.website/cpp_lib Библиотека C/C++ разработчика
https://xn--r1a.website/cpp_knigi Книги для программистов C/C++
https://xn--r1a.website/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://xn--r1a.website/pythonofff Python академия. Учи Python быстро и легко🐍
https://xn--r1a.website/BookPython Библиотека Python разработчика
https://xn--r1a.website/python_real Python подборки на русском и английском
https://xn--r1a.website/python_360 Книги по Python Rus
Java разработка 📌
https://xn--r1a.website/BookJava Библиотека Java разработчика
https://xn--r1a.website/java_360 Книги по Java Rus
https://xn--r1a.website/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://xn--r1a.website/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://xn--r1a.website/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://xn--r1a.website/developer_mobila Мобильная разработка
https://xn--r1a.website/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://xn--r1a.website/frontend_1 Подборки для frontend разработчиков
https://xn--r1a.website/frontend_sovet Frontend советы, примеры и практика!
https://xn--r1a.website/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://xn--r1a.website/game_devv Все о разработке игр
Вакансии 📌
https://xn--r1a.website/sysadmin_rabota Системный Администратор
https://xn--r1a.website/progjob Вакансии в IT
Чат программистов📌
https://xn--r1a.website/developers_ru
Библиотеки 📌
https://xn--r1a.website/book_for_dev Книги для программистов Rus
https://xn--r1a.website/programmist_of Книги по программированию
https://xn--r1a.website/proglb Библиотека программиста
https://xn--r1a.website/bfbook Книги для программистов
https://xn--r1a.website/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://xn--r1a.website/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://xn--r1a.website/bookflow Лекции, видеоуроки, доклады с IT конференций
https://xn--r1a.website/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://xn--r1a.website/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://xn--r1a.website/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://xn--r1a.website/thehaking Канал о кибербезопасности
https://xn--r1a.website/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://xn--r1a.website/ux_web Статьи, книги для дизайнеров
Английский 📌
https://xn--r1a.website/UchuEnglish Английский с нуля
Математика 📌
https://xn--r1a.website/Pomatematike Канал по математике
Excel лайфхак📌
https://xn--r1a.website/Excel_lifehack
👍7❤1
👍8✍2🔥1
Три наблюдения о командной строке и путях в файловой системе
Наблюдение № 1
Первое наблюдение будет как раз о шаблонах, но не мышления, а о шаблонах имён файлов и различиях в их трактовке командными интерпретаторами DOS/Windows и Unix/Linux.
Наблюдение № 2
Второе наблюдение связано с именованием каталогов в Linux. Имя subfolder может означать как файл, так и каталог. Несмотря на то, что в Linux почти все сущности являются файлами, различия иногда бывают важны. Допустим, требуется создать копию файла file1.txt в подкаталоге subfolder.
Наблюдение № 3
Третье наблюдение касается «особых каталогов». Все знают, что родительский каталог обозначается двумя точками: «..». Многим известно, что одной точкой «.» обозначается текущий каталог. Но если на каталоги верхнего уровня приходится ссылаться регулярно, то польза от ссылки на текущий каталог не столь очевидна: он ведь и так должен подразумеваться по умолчанию.
Теоретически должен, но на практике не всегда так происходит. Например, в текущем каталоге лежит файл moria.deb, который надо установить.
https://habr.com/ru/articles/784846/
👉 @i_odmin
Наблюдение № 1
Первое наблюдение будет как раз о шаблонах, но не мышления, а о шаблонах имён файлов и различиях в их трактовке командными интерпретаторами DOS/Windows и Unix/Linux.
Наблюдение № 2
Второе наблюдение связано с именованием каталогов в Linux. Имя subfolder может означать как файл, так и каталог. Несмотря на то, что в Linux почти все сущности являются файлами, различия иногда бывают важны. Допустим, требуется создать копию файла file1.txt в подкаталоге subfolder.
Наблюдение № 3
Третье наблюдение касается «особых каталогов». Все знают, что родительский каталог обозначается двумя точками: «..». Многим известно, что одной точкой «.» обозначается текущий каталог. Но если на каталоги верхнего уровня приходится ссылаться регулярно, то польза от ссылки на текущий каталог не столь очевидна: он ведь и так должен подразумеваться по умолчанию.
Теоретически должен, но на практике не всегда так происходит. Например, в текущем каталоге лежит файл moria.deb, который надо установить.
https://habr.com/ru/articles/784846/
👉 @i_odmin
Хабр
Три наблюдения о командной строке и путях в файловой системе
Наблюдение № 1 Первое наблюдение будет как раз о шаблонах, но не мышления, а о шаблонах имён файлов и различиях в их трактовке командными интерпретаторами DOS/Windows и Unix/Linux. Допустим, в дереве...
👍3❤1
MAC адрес
MAC - адрес уникальная комбинация цифр и букв длиной 48 символов. Фактически, это аппаратный номер оборудования, который, присваивается сетевой карте устройства в момент производства.
I/G - (Individual - 0 / Group - 1) тип адреса. Пакеты с групповым адресом получат все имеющие этот групповой адрес сетевые адаптеры.
U/L - (Universal - 0 / Local - 1) - определяет, как был присвоен адрес. Обычно - 0, Единица означает, что адрес задан не производителем, а админом локальной сети (перепрошит или назначен через драйвер устройства)
OUI - (Organizationally Unique Identifier) Идентификатор производителя. Назначается организацией IEEE.
OUA - (Organizationally Unique Address) Уникальный адрес карты для данного производителя.
UAA - Универсально управляемый адрес.
👉 @i_odmin
1бит 1бит 22 бита 24 бита
------------------------------
|I/G |U/L | OUI | OUA |
------------------------------
<-- 46 бит UAA -->MAC - адрес уникальная комбинация цифр и букв длиной 48 символов. Фактически, это аппаратный номер оборудования, который, присваивается сетевой карте устройства в момент производства.
I/G - (Individual - 0 / Group - 1) тип адреса. Пакеты с групповым адресом получат все имеющие этот групповой адрес сетевые адаптеры.
U/L - (Universal - 0 / Local - 1) - определяет, как был присвоен адрес. Обычно - 0, Единица означает, что адрес задан не производителем, а админом локальной сети (перепрошит или назначен через драйвер устройства)
OUI - (Organizationally Unique Identifier) Идентификатор производителя. Назначается организацией IEEE.
OUA - (Organizationally Unique Address) Уникальный адрес карты для данного производителя.
UAA - Универсально управляемый адрес.
👉 @i_odmin
👍16
Проверяем доступность портов с использованием nmap/netcat/telnet/nc
Доступность tcp-порта
netcat
сканер портов:
запустить netcat на хосте и слушать на tcp порте 4444:
а на другой машине проверить подключение к netcat, запущенному на другом хосте:
netcat domain.com 4444
nc
telnet
nmap
Доступность udp-порта
netcat
nc
nmap
👉 @i_odmin
Доступность tcp-порта
netcat
netcat [options] host portсканер портов:
netcat -z -v domain.com 1-1000запустить netcat на хосте и слушать на tcp порте 4444:
netcat -l 4444а на другой машине проверить подключение к netcat, запущенному на другом хосте:
netcat domain.com 4444
nc
nc -vt <ip> <port>telnet
telnet <ip> <port>nmap
порт 25 tcp: nmap -p25 11.11.11.11Доступность udp-порта
netcat
netcat -u host portnc
nc -vu <ip> <port>nmap
доступность порта udp 53: nmap -sU -p U:53 11.1.11.12👉 @i_odmin
👍13
На замемтку ☝️
Так я экономлю более 1000 долларов в месяц на вычислениях, хранении и пропускной способности для своих проектов, связанных с искусственным интеллектом: всего 52 ядра CPU, 104 ГБ RAM, 3 ТБ NVMe, неограниченный вход/выход и менее 100 Вт энергопотребления.
На более высоком кластере работают серверы API, созданные с помощью библиотеки Transformer.js и фреймворка сервисов NATS. На более низком кластере работает сервер базы данных Postgres (с потоковой репликацией) и некоторые сервисы, такие как pgpool, prometheus и т. д.
Нет ни DNS-сервера, ни проброса портов, ни балансировщиков нагрузки.
👉 @i_odmin
Так я экономлю более 1000 долларов в месяц на вычислениях, хранении и пропускной способности для своих проектов, связанных с искусственным интеллектом: всего 52 ядра CPU, 104 ГБ RAM, 3 ТБ NVMe, неограниченный вход/выход и менее 100 Вт энергопотребления.
На более высоком кластере работают серверы API, созданные с помощью библиотеки Transformer.js и фреймворка сервисов NATS. На более низком кластере работает сервер базы данных Postgres (с потоковой репликацией) и некоторые сервисы, такие как pgpool, prometheus и т. д.
Нет ни DNS-сервера, ни проброса портов, ни балансировщиков нагрузки.
👉 @i_odmin
👍26🤔5🔥1
Личный прокси для чайников: универсальный обход цензуры с помощью VPS, 3X-UI, Reality/CDN и Warp
На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить «не‑технарей» («чайников»), желающих поднять личный прокси‑сервер для обхода цензуры, но дезориентированных обилием информации или остановленных непонятной технической ошибкой.
В этой статье я описал универсальное решение, которое обеспечивает прозрачный доступ к международному интернету в обход цензуры, использует передовые технологии маскировки трафика, не зависит от одной корпорации и главное — имеет избыточный «запас прочности» от воздействия цензоров.
Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).
Если у вас ещё нет личного прокси для обхода цензуры — это знак.
https://habr.com/ru/articles/785186/
👉 @i_odmin
На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить «не‑технарей» («чайников»), желающих поднять личный прокси‑сервер для обхода цензуры, но дезориентированных обилием информации или остановленных непонятной технической ошибкой.
В этой статье я описал универсальное решение, которое обеспечивает прозрачный доступ к международному интернету в обход цензуры, использует передовые технологии маскировки трафика, не зависит от одной корпорации и главное — имеет избыточный «запас прочности» от воздействия цензоров.
Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).
Если у вас ещё нет личного прокси для обхода цензуры — это знак.
https://habr.com/ru/articles/785186/
👉 @i_odmin
👍20❤2
Forwarded from Мир технологий и науки (Technology World)
This media is not supported in your browser
VIEW IN TELEGRAM
Clip Mouse - компьютерная мышь, не имеющая аналогов.
Портативная и легкая мышь для использования на любой поверхности.
Мышь для Mac и PC, которой нет равных. Clip Mouse предлагает новый дизайн и функциональность, сохраняя при этом все возможности обычной мыши. Она была разработана в первую очередь как замена Magic Mouse и призвана перенести все функции и возможности Apple Magic Mouse в совершенно новую, еще более легкую, минималистичную и компактную форму. Clip Mouse - идеальный компаньон для работы и путешествий.
Проект на kickstarter
👉 @mir_teh
Портативная и легкая мышь для использования на любой поверхности.
Мышь для Mac и PC, которой нет равных. Clip Mouse предлагает новый дизайн и функциональность, сохраняя при этом все возможности обычной мыши. Она была разработана в первую очередь как замена Magic Mouse и призвана перенести все функции и возможности Apple Magic Mouse в совершенно новую, еще более легкую, минималистичную и компактную форму. Clip Mouse - идеальный компаньон для работы и путешествий.
Проект на kickstarter
👉 @mir_teh
👍10🥴4
Примеры типовых операций в bash-скриптах
Арифметические действия, циклы по кол-ву раз
Разного рода проверки
Работа с FTP
Работа с telnet
Примечание: в этом случае root логинится без пароля, если нужен пароль, то надо добавить после echo "root" еще одно эхо с паролем.
Пример цикла по множеству значений
Не забываем, что для того, чтоб скрипт можно было запустить, надо изменить права доступа к нему, добавив возможность исполнения файла, например командой
chmod a+x script.sh
👉 @i_odmin
Арифметические действия, циклы по кол-ву раз
#!/bin/bash
A="10"
B="5"
C=`expr $A + $B`
printf "A=10 B=5 C=expr \$A + \$B C=%d \n" "$C"
# пример цикла по i
I=0
while [ $I -lt 15 ]
do
printf "0x%02x " "$I"
I=`expr $I + 1`
done
echoРазного рода проверки
#!/bin/bash
# пример проверки существования файла
# создаем файл test1
touch test1
# проверяем существование файла test1
if [ -f test1 ] ; then
echo "файл test1 существует"
fi
# проверяем несуществование файла test2
if ! [ -f test2 ] ; then
echo "файл test2 не существует"
fi
# краткая справка по другим опциям команды [ ]
# -d filename директория существует
# -f filename файл существует
# -L filename символьная ссылка существует
# -r, -w, -x файл доступен для чтения, записи или выполнения
# -s filename файл существует и имеет ненулевую длину
# f1 -nt f2 f1 новее чем f2
# f1 -ot f2 f1 старше чем f2Работа с FTP
#!/bin/bash
ADDRESS=192.168.1.150
USER=root
PASSWORD=root
ftp -n -p ADDRESS <<EoF
user USER PASSWORD
cd /usr/bin
put my_cool_program
quit
EoF
exit 0Работа с telnet
#!/bin/bash
(
sleep 1
echo "root"
echo "cd /tmp"
echo "ls"
sleep 1
echo "quit"
) | telnet 192.168.1.150Примечание: в этом случае root логинится без пароля, если нужен пароль, то надо добавить после echo "root" еще одно эхо с паролем.
Пример цикла по множеству значений
#!/bin/bash
# пример цикла по множеству значений
for A in раз два три четыре пять
do
echo "$A,"
done
echo "вышел заяц погулять"
echoНе забываем, что для того, чтоб скрипт можно было запустить, надо изменить права доступа к нему, добавив возможность исполнения файла, например командой
chmod a+x script.sh
👉 @i_odmin
👍18
Как защитить сервер Linux
Ограничьте, кто может использовать sudo
Почему
sudo позволяет учетным записям выполнять команды от имени других учетных записей, включая root. Мы хотим убедиться, что только нужные нам учетные записи могут использовать sudo.
Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.
Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):
Шаги
1 - Создайте группу:
2 - Добавьте учетную запись(и) в группу:
Вам нужно будет сделать это для каждой учетной записи на вашем сервере, которой нужны привилегии sudo.
3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
👉 @i_odmin
Ограничьте, кто может использовать sudo
Почему
sudo позволяет учетным записям выполнять команды от имени других учетных записей, включая root. Мы хотим убедиться, что только нужные нам учетные записи могут использовать sudo.
Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.
Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):
cat /etc/group | grep "sudo"Шаги
1 - Создайте группу:
sudo groupadd sudousers2 - Добавьте учетную запись(и) в группу:
sudo usermod -a -G sudousers user1
sudo usermod -a -G sudousers user2
sudo usermod -a -G sudousers ...Вам нужно будет сделать это для каждой учетной записи на вашем сервере, которой нужны привилегии sudo.
3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
sudo cp --archive /etc/sudoers /etc/sudoers-COPY-$(date +"%Y%m%d%H%M%S")4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
sudo visudo5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
%sudousers ALL=(ALL:ALL) ALL👉 @i_odmin
👍21❤1
Media is too big
VIEW IN TELEGRAM
Что такое systemd? Управление демонами linux c помощью systemctl
В этом видео я расскажу что такое systemd, обзор небольшой. Управление сервисами и демонами.
В видео вы узнаете:
где хранится systemd unit
какие бывают юниты
как посмотреть статус сервиса
как добавить сервис в автозагрузку
как запустить/остановить сервис
как запретить запускать сервис
А также мини man systemctl:
systemctl is-enabled
systemctl list-units -t тип --all
systemctl status
systemctl start
systemctl stop
systemctl restart
systemctl reload
systemctl enable
systemctl disable
systemctl mask
systemctl unmask
источник
👉 @i_odmin
В этом видео я расскажу что такое systemd, обзор небольшой. Управление сервисами и демонами.
В видео вы узнаете:
где хранится systemd unit
какие бывают юниты
как посмотреть статус сервиса
как добавить сервис в автозагрузку
как запустить/остановить сервис
как запретить запускать сервис
А также мини man systemctl:
systemctl is-enabled
systemctl list-units -t тип --all
systemctl status
systemctl start
systemctl stop
systemctl restart
systemctl reload
systemctl enable
systemctl disable
systemctl mask
systemctl unmask
источник
👉 @i_odmin
👍10🤡3👎1
Какая разница между командами GREP, AWK и SED
Мы не можем с уверенностью называть себя экспертами по управлению файлами Linux, не обладая навыками обработки текста. Три самых известных инструмента командной строки (grep, sed и awk) заслужили хорошую репутацию текстовых процессоров Linux. Они предустановлены во всех основных дистрибутивах операционных систем Linux, поэтому нет необходимости устанавливать их дополнительно.
Каждая команда grep, sed и awk имеет уникальные функции обработки текста, но в некоторых простых сценариях их функции могут быть аналогичными.
Например, все эти три команды могут легко проверить совпадения шаблона файла и отправить результаты запроса на вывод.
В этой статье является разберемся чем отличаются эти команды и в каких случаях использовать ту или иную команду.
https://telegra.ph/Kakaya-raznica-mezhdu-komandami-GREP-AWK-i-SED-01-23
👉 @i_odmin
Мы не можем с уверенностью называть себя экспертами по управлению файлами Linux, не обладая навыками обработки текста. Три самых известных инструмента командной строки (grep, sed и awk) заслужили хорошую репутацию текстовых процессоров Linux. Они предустановлены во всех основных дистрибутивах операционных систем Linux, поэтому нет необходимости устанавливать их дополнительно.
Каждая команда grep, sed и awk имеет уникальные функции обработки текста, но в некоторых простых сценариях их функции могут быть аналогичными.
Например, все эти три команды могут легко проверить совпадения шаблона файла и отправить результаты запроса на вывод.
В этой статье является разберемся чем отличаются эти команды и в каких случаях использовать ту или иную команду.
https://telegra.ph/Kakaya-raznica-mezhdu-komandami-GREP-AWK-i-SED-01-23
👉 @i_odmin
👍9👎1
Awesome Linux Software
Список приложений, программного обеспечения, инструментов и других материалов для разных дистрибутивов Linux.
https://github.com/luong-komorebi/Awesome-Linux-Software
👉 @i_odmin
Список приложений, программного обеспечения, инструментов и других материалов для разных дистрибутивов Linux.
https://github.com/luong-komorebi/Awesome-Linux-Software
👉 @i_odmin
👍5
Media is too big
VIEW IN TELEGRAM
Как быстро добавить пользователей в группы AD [скрипт]
Пример скрипта
источник
👉 @i_odmin
Пример скрипта
$ErrorActionPreference='Continue'
$error.Clear()
$i=0
import-module activedirectory
$pathToCSV='.\users.csv'
$csv=Import-Csv -path $pathToCSV -Delimiter ';'
foreach ($group in $csv)
{
$uname="$($group.Username)".split('\')[1]
$groupname="$($group.Groupname)"
Add-ADGroupMember -Identity $groupname -Members $uname
$i++
}
if ($error.Count -gt 0)
{
echo "Errors count: " $error.Count
}
$success=$($i-$error.Count)
if ($success -gt -1)
{
echo "Success records count: " $success
}
источник
👉 @i_odmin
👍14❤2
👍10