Как достичь терминала системного администратора, применяя сценарии оболочки

El Скрипты оболочки, Относится к выполнение сложных заказов на Терминал GNU / Linux (консоль), очень полезно автоматизировать рутинные и важные действия в нашем Операционная система GNU / Linux, что позволяет нам оптимизировать наши Ресурсы и время.

Selección_007

Следовательно, его использование из терминала позволяет нам выполнять сложные командные команды вручную или автоматически с помощью сценариев или в виде запрограммированных процедур в файлах автоматической загрузки или запланированных задачах в операционной системе. GNU / Linux. И для Средний пользователь, Продвинутый или Системный администратор el расписание (автоматизировать) задачи, предупреждения и / или уведомления на хосте (ПК / сервере) для сохранения Часы / труд Выполнение вручную или лично - это что-то базовое и необходимое для хорошего выполнения вашей работы как профессионала высокого уровня.

Далее мы покажем, как данные (значение / параметр) ранее сохраненный в переменной командой Оболочка Bash или совместимый, он может отображаться в терминале вашей операционной системы GNU / linux практичным и простым способом. В дополнение к настройке подсказки терминала.

Первый шаг: отредактируйте .bashrc вашего пользователя

В редакторе по вашему выбору (vi, nano и т. Д.) Отредактируйте .bashrc файл вашего пользователя, который должен находиться в доме того же пользователя, то есть, например, в: "/ Главная / мой_пользователь".

Вставьте содержимое каждой из следующих строк и всех тех дополнительных строк, которые вы считаете удобным показать пользователю при запуске пользовательского терминала:

sleep 3

clear

########################### PARÁMETROS DE MONITOREO ###########################

NOMBRE_SISTEMA=$(cat /etc/os-release | grep NAME | grep -v "VERSION" | sed -n '2p' | cut -f2 -d\")
VERSION_SISTEMA=$(cat /etc/os-release | grep VERSION= | sed -n '1p' | sed 's/VERSION=//' | sed 's/"//g')

FABRICANTE_CPU=$(grep "vendor_id" /proc/cpuinfo | sed q | awk '{print $3}')
MODELO_CPU=$(grep "model name" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}')
NUM_CPU=$(grep "processor" /proc/cpuinfo | sort -r | sed q | awk '{print $3}' | echo `expr $NUM_CPU + 1`)
NUCLEO_CPU=$(grep "cpu cores" /proc/cpuinfo | sed q | awk '{print $4}')
CACHE_CPU=$(grep "cache size" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}')

clear

printf %80s |tr " " "="
echo ""
echo "      ADVERTENCIA - USTED HA INICIADO SESIÓN EN EL EQUIPO SERVIDOR DE LA      "
echo "                             EMPRESA INSTITUCIÓN XYZ                                "
echo "       RECUERDE TENER EXTREMO CUIDADO CON CUALQUIER CAMBIO A REALIZAR        "
printf %80s |tr " " "="
echo ""
printf %80s |tr " " "="
echo ""
echo "                         ESTE EQUIPO TIENE INSTALADO                         "
echo "                                                                             "
echo "TIPO DE S.O.: <"`uname -o`">                                                 "
echo "NOMBRE / VERSIÓN DEL S.O.: &lt;"$NOMBRE_SISTEMA"&gt; / &lt;"$VERSION_SISTEMA"&gt;        "
echo "KERNEL / ARQUITECTURA: <"`uname -r`"> / <"`uname -m`">                       "
echo "INFO DEL CPU: ("$FABRICANTE_CPU") / ("$MODELO_CPU") / ("$NUM_CPU") / ("$NUCLEO_CPU") / ("$CACHE_CPU")"
printf %80s |tr " " "="
echo ""
echo ""

PS1="\[\e[33;1m\]┌─( \[\e[34;1m\]\u@\h\[\e[37;1m\] ) * * * * \d - \t * * * * { \[\e[31;1m\]\w\[\e[33;1m\] }\n└──┤ \[\e[32m\]# "

`

Второй шаг: отредактируйте корневой файл .bashrc

Опять же с уже использованным редактором отредактируйте .bashrc файл из корень суперпользователя который должен находиться в его пути / корне.

Вставьте содержимое каждой из следующих строк и всех тех дополнительных строк, которые вы считаете удобным показать пользователю при запуске пользовательского терминала:

########################### PARÁMETROS DE MONITOREO ###########################

alias cc='clear'

PROXY=$(route -n | sed -n '3p' | awk '{print $2}')

IP_SERVIDOR_DNS=$(cat /etc/resolv.conf | sed '1 d' | grep nameserver | sed -n '1p' | awk '{print $2}')
DOMINIO=$(cat /etc/resolv.conf | sed '1 d' | grep search | sed -n '1p' | awk '{print $2}')

DATA_USUARIO1=$(du -sh /home/ | sort -r | awk '{print $1}')
DATA_ROOT=$(du -sh /root | awk '{print $1}')
DATA_VAR=$(du -sh /var | awk '{print $1}')

MEM_TOTAL=$(free -h | sed '1 d' | grep Mem: | awk '{print $2}')
MEM_USADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $3}')
MEM_LIBRE=$(free -h | sed '1 d' | grep Mem: | awk '{print $4}')
MEM_COMPARTIDA=$(free -h | sed '1 d' | grep Mem: | awk '{print $5}')
MEM_ALMACENADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $6}')
MEM_CACHEADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $7}')

PART1_TOTAL=$(df -h | sed '1 d' | grep disk | awk '{print $2}')
PART1_USADO=$(df -h | sed '1 d' | grep disk | awk '{print $3}')
PART1_DISPONIBLE=$(df -h | sed '1 d' | grep disk | awk '{print $4}')
PART1_PORCENTAJE=$(df -h | sed '1 d' | grep disk | awk '{print $5}')
PART1_PUNTOMONTAJE=$(df -h | sed '1 d' | grep disk | awk '{print $6}')

CARGA_1MIN=$(top -n 1 -b | grep "load average:" | awk '{print $12}' | sed 's/,//2')

CARGA_5MIN=$(top -n 1 -b | grep "load average:" | awk '{print $13}' | sed 's/,//2')
CARGA_15MIN=$(top -n 1 -b | grep "load average:" | awk '{print $14}' | sed 's/,//2')

USER_ONLINE=$(top -n 1 -b | grep "load average:" | awk '{print $8}')
PROC_ZOMBIE=$(top -n 1 -b | grep "zombie" | awk '{print $10}')

TIEMPO_ENCENDIDO=$(uptime | awk '{print $3,$4}' | cut -f1 -d,)

FABRICANTE_CPU=$(grep "vendor_id" /proc/cpuinfo | sed q | awk '{print $3}')
MODELO_CPU=$(grep "model name" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}')
NUM_CPU=$(grep "processor" /proc/cpuinfo | sort -r | sed q | awk '{print $3}' | echo `expr $NUM_CPU + 1`)
NUCLEO_CPU=$(grep "cpu cores" /proc/cpuinfo | sed q | awk '{print $4}')
CACHE_CPU=$(grep "cache size" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}')

IP_ETH0=$(ifconfig eth0 | grep inet | grep -v inet6 | cut -d ":" -f 2 | cut -d " " -f 1)
MAC_ETH0=$(ifconfig eth0 | sed -n '1p' | awk '{print $5}')

###############################################################################

if ping -c 1 8.8.8.8 &amp;&gt; /dev/null; then CONEXION_INTERNET=Habilitado; else CONEXION_INTERNET=Deshabilitado; fi

set -o vi

printf %80s |tr " " "="
echo ""
echo "      ADVERTENCIA - USTED HA INICIADO SESIÓN EN EL EQUIPO SERVIDOR DE LA      "
echo "                             EMPRESA INSTITUCIÓN XYZ                                "
echo "       RECUERDE TENER EXTREMO CUIDADO CON CUALQUIER CAMBIO A REALIZAR        "
printf %80s |tr " " "="
echo ""
printf %80s |tr " " "="
echo ""
echo "                    PARÁMETROS ACTUALES DE FUNCIONAMIENTO                    "
echo "                                                                             "
echo "MEMORIA TOTAL: ("$MEM_TOTAL") - MEMORIA USADA: ("$MEM_USADA") - MEMORIA LIBRE: ("$MEM_LIBRE")"
echo "DISCO PRINCIPAL: ("$PART1_TOTAL") - ESPACIO USADO: ("$PART1_USADO") - ESPACIO LIBRE: ("$PART1_DISPONIBLE") - %: ("$PART1_PORCENTAJE") - PARTICION: ("$PART1_PUNTOMONTAJE")"
echo "CARGA PROMEDIO DEL SISTEMA: 1 MIN ("$CARGA_1MIN") -  5 MIN ("$CARGA_5MIN") - 15 MIN ("$CARGA_15MIN")"
echo "USUARIOS CONECTADOS: ("$USER_ONLINE") -  PROCESOS ZOMBIES: ("$PROC_ZOMBIE")"
echo "TIEMPO ARRANQUE/ENCENDIDO: ("$TIEMPO_ENCENDIDO")                             "
echo "ESPACIO USADO: /home = ("$DATA_USUARIO1") /root = ("$DATA_ROOT") /var = ("$DATA_VAR")"
printf %80s |tr " " "="
echo ""
echo ""
PS1="\[\e[33;1m\]┌─( \[\e[34;1m\]\u@\h\[\e[37;1m\] ) * * * * \d - \t * * * * { \[\e[31;1m\]\w\[\e[33;1m\] }\n└──┤ \[\e[32m\]$ "

 

Третий шаг: отредактируйте корневой файл .bashrc

Выйдите из системы и терминал. Запустите его снова и ощутите изменения. Он должен выглядеть примерно так, как показано ниже, на следующих изображениях:

Шаг 1: запуск терминалаШаг 2. Отредактируйте пользователя .bashrcШаг 3. Контент, встроенный в пользовательский .bashrcШаг 4: root-входШаг 5: root-входШаг 6. Отредактируйте корневой файл .bashrcШаг 7. Отредактируйте корневой файл .bashrcШаг 8. Отредактируйте корневой файл .bashrcШаг 9: Демонстрационный пример нового клиентского терминалаШаг 10: Демонстрационный пример нового клиентского терминалаШаг 11: Демонстрационный пример нового клиентского терминала

Шаг четвертый (необязательно): настройка псевдонимов

Помните, что использование псевдонимов в .bashrc Это также может сэкономить вам много времени на написание. Раскомментируйте те, которые по умолчанию входят в .bashrc, например:

alias ls='ls $LS_OPTIONS'
<strong>alias ll='ls $LS_OPTIONS -l'
<strong>alias l='ls $LS_OPTIONS -lA'

alias rm='rm -i'

И добавьте те, которые считаете необходимыми, поскольку это часто используемые команды, например:

alias cc='clear'

Самоучкой важно знать больше о переменные, псевдонимы, .bashrc и язык оболочка для более продвинутого уровня терминала. То же самое может быть достигнуто при запуске удаленных сеансов через ssh, что мы увидим позже в других будущих публикациях.

Я надеюсь эти малыши "Подсказки" облегчить им выполнение простых, но полезных оптимизаций, которые обычно предназначены только для экспертов в Технологии, вычисления, свободное программное обеспечение и GNU / Linux.

НАПОМИНАНИЕ: Если какая-либо командная строка не выполняется или отображает правильное значение, обязательно вручную протестируйте каждый раздел командной строки, чтобы попытаться настроить значения или синтаксис некоторых переменных.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

9 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   yippekay сказал

    Псевдонимы самые лучшие. Я не думаю плохо о некоторых, которые по умолчанию включены в bashrc: la (ls -a) и ll (ls -l). В последнюю очередь добавляю параметр -h.

    Другие практические псевдонимы:
    s = 'sudo'
    cd1 = 'cd ..'
    cd2 = 'cd ../ ..'
    rmd = 'rm -r' (использую для удаления каталогов с файлами)
    shutdown = 'sudo shutdown -h сейчас'
    del = 'trash-put' (переместить файлы в корзину, команда пакета trash-cli)

  2.   Toño сказал

    Поскольку я видел этот псевдоним в прошлом году на Reddit, он стал моим любимым:
    псевдоним fuck = 'sudo $ (history -p !!)'

  3.   Мартин сказал

    Артикул и внешний вид консоли очень хорош. Некоторые вклады:
    - В Ubuntu псевдонимы могут быть помещены в отдельный файл (.bash_aliases) в остальных дистрибутивах, которые я не знаю, но это делается путем добавления следующих строк в .bashrc:
    если [-f ~ / .bash_aliases]; тогда
    . ~ / .bash_aliases
    fi
    Это позволяет упорядочить псевдонимы, а для таких забывчивых, как я, вы можете добавить этот псевдоним, который показывает файл со списком псевдонимов:
    псевдоним lsalias = 'еще ~ / .bash_aliases'
    - У меня также есть редко используемый командный текстовый файл (который я обычно не помню) с именем command_utiles.txt и готовый со следующим псевдонимом: alias cutil = 'more ~ ​​/ command_utiles.txt'
    - Еще я использую псевдонимы:
    псевдоним cdu = 'cd ~'
    alias lof = 'ls -lSr | more' # Подробно показывает файлы, упорядоченные по размеру
    псевдоним lod = 'du -sk * | sort -rn '# Показать каталоги, отсортированные по размеру
    alias deo = 'du -sh' # Оценить пространство, занимаемое указанным каталогом
    псевдоним psa = 'ps -eafw | more '# Показать все процессы с дополнительными
    псевдоним psg = 'ps -eafw | grep '# Показать указанный процесс
    - Наконец, альтернатива для пользователей, которую я сделал:
    SYSTEM_NAME = $ (cat / etc / os-release | grep NAME | grep -v "VERSION" | sed -n '1p' | cut -f2 -d \ »)
    SYSTEM_VERSION = $ (cat / etc / os-release | grep VERSION = | sed -n '1p' | sed 's / VERSION = //' | sed 's / »// g')
    MANUFACTURER_CPU = $ (grep "vendor_id" / proc / cpuinfo | sed q | awk '{print $ 3}')
    CPU_MODEL = $ (grep "название модели" / proc / cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $ 0}')
    NUM_CPU = $ (grep "процессор" / proc / cpuinfo | sort -r | sed q | awk '{print $ 3}' | echo expr $NUM_CPU + 1)
    NUCLEO_CPU = $ (grep "ядра процессора" / proc / cpuinfo | sed q | awk '{print $ 4}')
    CACHE_CPU = $ (grep "размер кеша" / proc / cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $ 0}')
    USER_DATA = $ (du -sh ~ | sort -r | awk '{print $ 1}')

    Очистить
    printf% 130s | tr »» «=»
    выбросил ""
    echo «ДАТА:«date +%c --date='+1 year'
    эхо «ЯДРО:«uname -o»<«uname -r«> <«uname -m«>»
    echo "РАСПРЕДЕЛЕНИЕ:" $ SYSTEM_NAME "" $ SYSTEM_VERSION ""
    echo "CPU:" $ MODEL_CPU "," $ NUCLEO_CPU "Nuclei," $ CACHE_CPU "Cache"
    echo «ИСПОЛЬЗОВАННОЕ ПРОСТРАНСТВО:« $ DATA_USUARIO
    printf% 130s | tr »» «=»
    выбросил ""
    ############################
    echo "ПОЛЕЗНЫЕ КОМАНДЫ:"
    echo »- Установить RPM в систему пакетов DEB: alien -c -i package.rpm»
    echo »- рекурсивно менять пользователя и группу файлов: chown -hR user: group [file or dir]»
    echo »- Копировать с сохранением разрешений: cp -ax source destination»
    echo »- Показать активные репозитории: grep -i ppa.launchpad.net /etc/apt/sources.list.d/*.list»
    echo »- Добавить репозиторий: apt-add-repository ppa: repository»
    echo »- ЧТОБЫ УЗНАТЬ БОЛЬШЕ Cutil КОМАНД»
    echo »- ПОКАЗАТЬ НИКНЕЙМЫ lsalias»
    printf% 130s | tr »» «=»
    выбросил ""
    выбросил ""
    # PS1 = »[\ e [33; 1 м] ┌─ ([\ e [34; 1 м] \ u @ \ h [\ e [37; 1 м]) * * * * \ d - \ t * * * * {[\ e [31; 1m] \ w [\ e [33; 1m]} \ n└──┤ [\ e [32m] # »
    PS1=»[\e[33;1m]┌─([\e[34;1m]\u@\h[\e[37;1m])>{ [\e[31;1m]\w[\e[33;1m] }\n└──┤ [\e[32m]# «

    1.    Abaddon s сказал

      почему бы лучше не написать свою статью?

  4.   Abaddon s сказал

    ЭТО ОБУЧЕНИЯ, КОТОРЫЕ МНЕ НРАВИТСЯ !!!!!!!!!

  5.   Инженер Хосе Альберт сказал

    Что ж, очень рада, что вам понравилось и подали!

    Завтра надеюсь опубликовать еще одну статью! Склоны.

  6.   пользовательская арка сказал

    Приветствую и безмерно благодарен за эту информацию.
    У меня мало знаний об администрировании GNU / Linux (я просто опытный и любопытный пользователь без академической подготовки), но я помню, как читал на каком-то веб-сайте о проблемах безопасности с повышением привилегий; некоторые команды и каналы в скрипте .bashrc, мне кажется, они могут облегчить работу хакера или взломщика.
    С уважением и очень признателен.

  7.   Инженер Хосе Альберт сказал

    С помощью сценариев оболочки просто оптимизировать терминал, посмотрите, как далеко вы можете зайти, выполнив хороший сценарий оболочки.

    LPI-SB8 Test ScreenCast (ПОСЛЕ УСТАНОВКИ LINUX - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adecuación-audiovisual_2016.sh / 43 КБ)

    См. Скринкаст: https://www.youtube.com/watch?v=cWpVQcbgCyY

  8.   луг сказал

    Отличный учебник! Порекомендуете ли вы какую-нибудь книгу по Linux для изучения сценариев оболочки, конфигураций, безопасности сервера? Спасибо