Системный Администратор (Сисадмин)
Настройка серверов Windows, Linux, сетевое оборудование Cisco Systems, D-Link, HP, Huawei, Juniper, MikroTik. Книги и мануалы для сисадминов. По всем вопросам @evgenycarter РКН clck.ru/3KoGJ3
نمایش بیشتر📈 تحلیل کانال تلگرام Системный Администратор (Сисадмин)
کانال Системный Администратор (Сисадмин) (@sysadminof) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 14 287 مشترک است و جایگاه 8 919 را در دسته فناوری و برنامهها و رتبه 45 427 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 14 287 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 03 نوامبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر 3 و در ۲۴ ساعت گذشته برابر 0 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 11.41% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 5.25% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 1 630 بازدید دریافت میکند. در اولین روز معمولاً 750 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 10 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند zfspool, диск, linux, пул, zpool تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Настройка серверов Windows, Linux, сетевое оборудование Cisco Systems, D-Link, HP, Huawei, Juniper, MikroTik. Книги и мануалы для сисадминов.
По всем вопросам @evgenycarter
РКН clck.ru/3KoGJ3”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 04 نوامبر, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
# lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,MODEL
NAME FSTYPE LABEL MOUNTPOINT MODEL
...
В данном случае в столбце NAME будут выводиться имена файлов устройств накопителей и их разделов (для обозначения разделов используется дополнительная нумерация), в столбце FSTYPE - названия созданных в разделах файловых систем, в столбце LABEL - метки разделов, в столбце MOUNTPOINT - пути к точкам монтирования файловых систем, а в столбце MODEL - информация о моделях устройств.
Базовый синтаксис команды:
# badblocks -v /dev/<имя файла раздела или устройства>
Параметр -v используется для вывода информации о ходе процесса проверки жесткого диска.
Если вам по какой-либо причине понадобится запретить использование поврежденных секторов на уровне файловой системы вы всегда можете сохранить список этих секторов и передать его утилите e2fsck. Это делается следующим образом:
# badblocks -v /dev/<имя файла раздела или устройства> > /tmp/badblocks.txt
# e2fsck -l /tmp/bad-blocks.txt /dev/<имя файла раздела или устройства>
# rm /tmp/badblocks.txt
Однако, в большинстве случаев будет достаточно однокртного посектороного чтения данных из раздела или со всего устройства.
Примеры использования
1. Выбор раздела жесткого диска для проверки
# lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,MODEL
NAME FSTYPE LABEL MOUNTPOINT MODEL
sdb MAXTOR STM316081
├─sdb4 ext4 home /home
├─sdb2 ext4 Debian
└─sdb1 swap
...
Выберем раздел с корневой файловой сситемой дистрибутива Debian (с соотвествующей меткой), который в данный момент не смонтирован. Ему соответствует файл устройства sdb2.
2. Проверка выбранного раздела на наличие поврежденных секторов
# badblocks -v /dev/sdb2
Checking blocks 0 to 12697599
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found. (0/0/0 errors)
Очевидно, что в ходе проверки раздела поврежденных секторов не было обнаружено.
👉 @sysadminof# Скрипт смены пароля пользователя
# только для исполнения в терминале ROS
# by Sertik 09/06/2020
{
:global EnterString do={
:local cont 0; :local string ""
:while ($cont!=13) do={
:local key ([:terminal inkey])
:if ($key!=13) do={
:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]
:set string ("$string"."$char")}
:set cont $key
}
:return $string}
;
:put "Please, enter Username:"
:local RegUser [$EnterString];
:put "";
:if ([:len [/user find disabled=no name=$RegUser]]!=0) do={:put "Ok, a user with this name was found"; :put "";
:put "Please, enter new password for this user:"
:local newPass [$EnterString];
[/user remove $RegUser];
[/user add name=$RegUser password=$newPass group=full];
:put "";
:put "The user has been re-created, the password has been changed";
:put ("New user`s password: "."$newPass");
:put "Don't forget to set up access restrictions based on ip addresses";
} else={:put ("User "."$RegUser "."not found"); :put "";
}
}
Скрипт интересен строкой преобразования кода символа из переменной $key, сграбленного с клавиатуры терминала, в сам символ.
:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]
👉 @sysadminof$Date = Get-Date -Format "dd MMMM yyyy HH:mm"
$AllUsers = (Get-AdUser -Filter * | ?{$_.name -notmatch 'Healthmailbox'}).count
$ActiveUsers = (Get-ADUser -Filter {Enabled -eq $true} | ?{$_.name -notmatch 'Healthmailbox'}).count
$DisabledUsers = (Get-ADUser -Filter {Enabled -eq $false} | ?{$_.name -notmatch 'Healthmailbox'}).count
$StartDate = (Get-Date).AddDays(-1)
$EndDate = (Get-Date).AddDays(+1)
$Zapros = Get-ADUser -Filter * -Properties Created | Where-Object {$_.Created -gt $StartDate -and $_.Created -le $EndDate}
$NewUsers = ($Zapros).count
$OFS = "`r`n" #`r`n`r`n
"$($WhoUsers = $Zapros | foreach {$_.Name })"
$NotSurname = Get-ADUser -filter "Enabled -eq '$true' -and Surname -notlike '*' -and Name -ne 'Healthmailbox'"
$NotFIO = ($NotSurname).count
$Message = "На $Date в ActiveDirectory всего пользователей $AllUsers из них: `nАктивных: $ActiveUsers из них служебные: $NotFIO. `nЗаблокированных: $DisabledUsers. `nНовых пользователей: $NewUsers `r`n`r`n$WhoUsers"
$Message | Out-File -FilePath "C:\temp\$(Get-Date -Format "dd MMMM yyyy")-UsersAD.txt"
После выполнения получаем файлик с текущей датой в папке temp.
👉 @sysadminofaafire
Как установить libaa-bin в Ubuntu / Debian
sudo apt update
sudo apt install libaa-bin
Примеры программ с использованием aalib
http://aa-project.sourceforge.net/aalib/
👉 @sysadminofsource ~/.bashrc
1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.
Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.
Для этого добавьте следующую строку в файл ~/.bashrc:
export HISTTIMEFORMAT="%h %d %H:%M:%S "
Теперь, набрав history, Вы получите следующий вывод:
113 Jun 08 16:31:06 sudo ifconfig
114 Jun 08 16:31:10 top
115 Jun 08 16:31:19 ping disnetern.ru
116 Jun 08 16:31:22 history
2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).
export HISTSIZE=5000
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).
export HISTFILESIZE=5000
3. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?
Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в ~/.bashrc:
shopt -s histappend
4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.
Если сессия внезапно оборвется Вы потеряете текущую историю команд.
Используйте переменную $PROMPT_COMMAND, чтобы сохранять команды сразу после выполнения:
Добавьте следующую строку в файл ~/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее:
PROMPT_COMMAND='history -a'
Добавьте следующую строку, если переменная $PROMPT_COMMAND уже была задана:
PROMPT_COMMAND='$PROMPT_COMMAND; history -a'
#Bash
👉 @sysadminofcommand & script-name & /path/to/command arg1 arg2 & command-1 | command-2 arg1 & command-1 | command-2 -arg1 -arg2 >/path/to/output &
Примеры
Чтобы перевести команду ls в фоновый режим, введите:
$ ls *.py > output.txt &
Чтобы перевести следующую команду поиска в фоновый режим, добавьте символ «&» в конец командной строки:
find . -iname "*.mp3" > myplaylist.txt &
Как найти задания, работающие в фоновом режиме?
Выполните следующую команду:
jobs
Пример вывода данных:
[1]- Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Где
[1] и [2] идентификаторы заданий.
Чтобы отобразить идентификаторы процессов для идентификаторов заданий помимо стандартных сведений, передайте параметр -l:
jobs –l
Пример вывода данных:
[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Чтобы отобразить только идентификаторы процессов, введите:
jobs -p
Пример вывода данных:
7307
7324
Как прекратить выполнение заданий, работающих в фоновом режиме?
Для принудительного или постепенного завершения процесса следует использовать команду kill. Синтаксис выглядит следующим образом:
kill PID
kill -15 PID
kill -9 PID
killall process-Name-Here
killall -15 process-Name-Here
killall -9 process-Name-Here
Как переместить процесс из фонового режима в приоритетный?
Синтаксис:
%JOB-ID
ИЛИ
fg JOB-ID
Сначала следует вывести список текущих заданий с помощью команды jobs. Для этого введите:
jobs -l
Пример вывода данных:
[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Чтобы перевести задание job id #2 в приоритетный режим, введите:
%2
ИЛИ используйте команду:
fg 2
Пример вывода данных:
grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt
Чтобы перевести это задание обратно в фоновый режим, нажмите клавишу Z, удерживая клавишу CTRL. При этом выполнение текущего приоритетного задания будет приостановлено. Введите следующую команду, чтобы перевести задание в фоновый режим:
%2 &
ИЛИ используйте команду:
bg
Теперь командное задание grep будет работать в фоновом режиме.
👉 @sysadminofCtrl + n — то же самое, что и стрелка вниз.
Ctrl + p — то же самое, что и стрелка вверх.
Ctrl + r — поиск по предыдущим командам из истории команд (history). Продолжайте нажимать Ctrl + r, чтобы искать дальше. Ctrl + Shift + r — поиск в другую сторону.
Ctrl + s — остановить вывод в терминал.
Ctrl + q — восстановить вывод в терминал после Ctrl + s.
Ctrl + a — перейти к началу строки (аналог клавиши Home).
Ctrl + e — перейти к концу строки (аналог клавиши End).
Ctrl + d — если вы ввели что-то, то Ctrl + d удаляет символ под курсором. В противном случае означает конец ввода и завершает текущую сессию Bash.
Ctrl + k — удалить весь текст от курсора до конца строки.
Ctrl + x + backspace — удалить весь текст от начала строки до курсора.
Ctrl + t — переставить символ до курсора на символ под курсором. Нажмите Esc + t для перестановки двух слов до курсора.
Ctrl + w — удалить слово до курсора; затем Ctrl + y, чтобы вставить его.
Ctrl + u — удалить строку перед курсором; Ctrl + y для вставки его.
Ctrl + _ — отменить ввод.
Ctrl + l — очищает окно терминала. То же самое, что и clear.
Ctrl + x + Ctrl + e — запускает редактор, определённый в переменной $EDITOR, для ввода команды. Полезно для многострочных команд.
Изменить заглавные на строчные и наоборот
Esc + u — преобразовать буквы от курсора до конца строки в заглавные буквы.
Esc + l — преобразовать буквы от курсора до конца строки в нижний регистр.
Esc + c — заменить букву под курсором на заглавную.
Запустить предыдущую команду ещё раз
Запустить команду из истории по номеру (например, 53)
!53
!! — запуск последней команды.
sudo !! — запустить предыдущую команду с sudo.
Запускает последнюю команду и меняет какой-то параметр. Например, меняем "aaa" на "bbb":
# Последняя команда: echo 'aaa'
$ ^aaa^bbb
$ echo 'bbb'
bbb
Важно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте :&:
^aaa^bbb^:&
# или
!!:gs/aaa/bbb/
Запустить последнюю команду, которая начинается с...
Например, до этого в истории команд была команда cat filename:
!cat
# или
!c
— запускает cat filename ещё раз.
Указание файлов по шаблону в Bash
/etc/pa*wd → /etc/passwd — символ * означает "несколько любых символов".
/b?n/?at → /bin/cat — символ ? означает "один любой символ".
ls -l [a-z]* — вывести список файлов, содержащих только буквы латинского алфавита. В квадратных скобках [] перечисляются символы, которые будут искаться. А символ * после [] означает "хоть сколько раз".
ls {*.sh,*.py} — вывести все .sh и .py файлы. {} используется для группировки нескольких шаблонов по принципу "или".
Полезные переменные окружения Bash
Короткие переменные:
$0 — оболочка командной строки или путь до запускаемого файла.
$1, $2, $3, ... — аргументы запуска скрипта.
$# — число аргументов, переданных в скрипт из терминала.
$? — код завершения последней команды.
$- — текущие опции, установленные для оболочки.
$$ — идентификатор текущего процесса.
$! — идентификатор процесса, завершённого последним.
Более длинные, но тоже полезные переменные:
$DESKTOP_SESSION — текущий менеджер дисплеев.
$EDITOR — редактор текста по умолчанию.
$LANG — используемый системой язык.
$PATH — список директорий, в которых будут искаться исполняемые файлы.
$PWD — текущая директория.
$SHELL — текущая оболочка командной строки.
$USER — имя текущего пользователя.
$HOSTNAME — имя текущего хоста (компьютера).
👉 @sysadminofРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru