El Скрипты оболочки, Относится к выполнение сложных заказов на Терминал GNU / Linux (консоль), очень полезно автоматизировать рутинные и важные действия в нашем Операционная система GNU / Linux, что позволяет нам оптимизировать наши Ресурсы и время.
Следовательно, его использование из терминала позволяет нам выполнять сложные командные команды вручную или автоматически с помощью сценариев или в виде запрограммированных процедур в файлах автоматической загрузки или запланированных задачах в операционной системе. 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.: <"$NOMBRE_SISTEMA"> / <"$VERSION_SISTEMA"> "
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 &> /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
Выйдите из системы и терминал. Запустите его снова и ощутите изменения. Он должен выглядеть примерно так, как показано ниже, на следующих изображениях:
Шаг четвертый (необязательно): настройка псевдонимов
Помните, что использование псевдонимов в .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.
НАПОМИНАНИЕ: Если какая-либо командная строка не выполняется или отображает правильное значение, обязательно вручную протестируйте каждый раздел командной строки, чтобы попытаться настроить значения или синтаксис некоторых переменных.
Псевдонимы самые лучшие. Я не думаю плохо о некоторых, которые по умолчанию включены в 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)
Поскольку я видел этот псевдоним в прошлом году на Reddit, он стал моим любимым:
псевдоним fuck = 'sudo $ (history -p !!)'
Артикул и внешний вид консоли очень хорош. Некоторые вклады:
- В 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]# «
почему бы лучше не написать свою статью?
ЭТО ОБУЧЕНИЯ, КОТОРЫЕ МНЕ НРАВИТСЯ !!!!!!!!!
Что ж, очень рада, что вам понравилось и подали!
Завтра надеюсь опубликовать еще одну статью! Склоны.
Приветствую и безмерно благодарен за эту информацию.
У меня мало знаний об администрировании GNU / Linux (я просто опытный и любопытный пользователь без академической подготовки), но я помню, как читал на каком-то веб-сайте о проблемах безопасности с повышением привилегий; некоторые команды и каналы в скрипте .bashrc, мне кажется, они могут облегчить работу хакера или взломщика.
С уважением и очень признателен.
С помощью сценариев оболочки просто оптимизировать терминал, посмотрите, как далеко вы можете зайти, выполнив хороший сценарий оболочки.
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
Отличный учебник! Порекомендуете ли вы какую-нибудь книгу по Linux для изучения сценариев оболочки, конфигураций, безопасности сервера? Спасибо