Како постићи СисАдмин терминал применом Схелл Сцриптинг-а

El Схелл Сцриптинг, Односи се на извршење сложених налога о њему ГНУ / Линук терминал (конзола), веома је корисно аутоматизовати рутинске и важне активности у оквиру нашег ГНУ / Линук оперативни систем, што нам омогућава да оптимизујемо наше Ресурси и време.

Селецтион_007

Стога, његова употреба из терминала омогућава нам да извршавамо сложене наредбене наредбе ручно или аутоматски путем скрипти или као програмиране рутине у аутоматски учитаним датотекама или планираним задацима у оперативном систему. ГНУ / Линук. И за Средњи корисник, напредни или СисАдмин el распоред (аутоматизовати) задатке, упозорења и / или обавештења на хосту (ПЦ / сервер) ради спремања Сати / рад Ручног или личног извршења, то је нешто основно и неопходно за добро обављање вашег посла као професионалца на високом нивоу.

Даље ћемо показати како а подаци (вредност / параметар) претходно сачувана у променљивој помоћу наредбе Баш шкољка или компатибилан, може се приказати на терминалу вашег ГНУ / линук оперативног система, на практичан и једноставан начин. Поред подешавања терминала терминала.

Први корак: Уредите .басхрц вашег корисника

Помоћу уређивача по вашем избору (ви, нано, итд.) Уредите .басхрц датотека вашег корисника који се мора налазити у дому истог, то јест, на пример: "/ Почетна / мој_корисник".

Убаците садржај сваког од следећих редова и свих оних додатних за које сматрате да је прикладно да их прикажу кориснику приликом извршавања корисничког терминала:

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\]# "

`

Други корак: Уредите роот .басхрц

Опет са уређивачем који је већ коришћен едит тхе .басхрц датотека дел корен суперкорисника која се мора налазити унутар путање / корена истог.

Убаците садржај сваког од следећих редова и свих оних додатних за које сматрате да је прикладно да их прикажу кориснику приликом извршавања корисничког терминала:

########################### 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\]$ "

Трећи корак: Уредите роот .басхрц

Одјавите се и терминал. Покрените га поново и експериментишите са променама. Требало би да изгледа слично приказаном доле, на следећим сликама:

Корак 1: Покретање терминала

Корак 2: Измените корисника .басхрц

Корак 3: Садржај уграђен у .басхрц корисника

Корак 4: Роот пријава

Корак 5: Роот пријава

Корак 6: Уредите роот .басхрц датотеку

Корак 7: Уредите роот .басхрц датотеку

Корак 8: Уредите роот .басхрц датотеку

Корак 9: Пример демонстрације новог корисничког терминала

Корак 10: Пример демонстрације новог корисничког терминала

Корак 11: Пример демонстрације новог корисничког терминала

Четврти корак (опционално): Подешавање псеудонима

Имајте на уму да употреба псеудонима унутар .басхрц такође вам може уштедети пуно времена за писање. Раскоментаришите оне који долазе подразумевано у .басхрц, као што су:

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'

Важно је знати више на самоук начин променљиве, алиаси, .басхрц и језик басх схелл за напреднији ниво терминала. Исто се може постићи и приликом покретања удаљених сесија путем ссх-а, што ћемо касније видети у другим будућим публикацијама.

Надам се ове мале "Савети" олакшати им извођење основних, али корисних оптимизација, које су углавном резервисане само за стручњаке у Технологија, рачунарство, слободни софтвер и ГНУ / Линук.

ПОДСЈЕТНИК: Ако било која командна линија не успе да изврши или прикаже исправну вредност, будите сигурни да сте ручно тестирали сваки одељак командне линије да бисте покушали да прилагодите вредности или синтаксу неких променљивих.


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

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   ииппекаи дијо

    Алиасинг је најбољи. Не мислим лоше о некима који подразумевано укључују басхрц: ла (лс -а) и лл (лс -л). На крају додајем параметар -х.

    Остали практични псеудоними:
    с = 'судо'
    цд1 = 'цд ..'
    цд2 = 'цд ../ ..'
    рмд = 'рм -р' (користим га за уклањање директорија са датотекама)
    схутдовн = 'судо схутдовн -х сада'
    дел = 'трасх-пут' (премештање датотека у отпад, команда пакета трасх-цли)

  2.   тон дијо

    Откад сам овај псеудоним видео прошле године на Реддиту, био ми је најдражи:
    алиас фуцк = 'судо $ (историја -п !!)'

  3.   мартин дијо

    Чланак и изглед који даје конзоли је врло добар. Неки прилози:
    - У Убунту псеудоними могу бити смештени у засебну датотеку (.басх_алиасес) у остатку дистрибуција које не знам, али то чини додавањем следећих редова у .басхрц:
    ако је [-ф ~ / .басх_алиасес]; онда
    . ~ / .басх_алиасес
    fi
    То омогућава да псеудоними буду уређенији, а заборавним особама попут мене можете додати овај псеудоним који приказује датотеку која наводи псеудониме:
    алиас лсалиас = 'више ~ / .басх_алиасес'
    - Такође имам ретко кориштену текстуалну датотеку наредбе (које се обично не сећам) под називом цомманд_утилес.ткт и спремну са следећим псеудонимом: алиас цутил = 'море ~ / цомманд_утилес.ткт'
    - Више алиаса које користим:
    алиас цду = 'цд ~'
    алиас лоф = 'лс -лСр | море' # Приказује датотеке детаљно поређане по величини
    алиас лод = 'ду -ск * | сорт -рн '# Прикажи директоријуме сортиране по величини
    алиас део = 'ду -сх' # Процените простор који заузима наведени дир
    алиас пса = 'пс -еафв | море '# Прикажи све процесе са више
    алиас псг = 'пс -еафв | греп '# Прикажи назначени процес
    - Коначно, алтернатива за кориснике које јесам:
    СИСТЕМ_НАМЕ = $ (цат / етц / ос-релеасе | греп НАМЕ | греп -в "ВЕРСИОН" | сед -н '1п' | цут -ф2 -д \ »)
    СИСТЕМ_ВЕРСИОН = $ (цат / етц / ос-релеасе | греп ВЕРСИОН = | сед -н '1п' | сед 'с / ВЕРСИОН = //' | сед 'с / »// г')
    МАНУФАЦТУРЕР_ЦПУ = $ (греп "вендор_ид" / проц / цпуинфо | сед к | авк '{принт $ 3}')
    ЦПУ_МОДЕЛ = $ (греп "име модела" / проц / цпуинфо | сед к | цут -д ":" -ф 2 | авк '{принт $ 0}')
    НУМ_ЦПУ = $ (греп "процесор" / проц / цпуинфо | сорт -р | сед к | авк '{принт $ 3}' | ецхо expr $NUM_CPU + 1)
    НУЦЛЕО_ЦПУ = $ (греп "ЦПУ језгра" / проц / цпуинфо | сед к | авк '{принт $ 4}')
    ЦАЦХЕ_ЦПУ = $ (греп "величина кеш меморије" / проц / цпуинфо | сед к | цут -д ":" -ф 2 | авк '{принт $ 0}')
    КОРИСНИК_Дата = $ (ду -сх ~ | сорт -р | авк '{принт $ 1}')

    јасно
    принтф% 130с | тр »» «=»
    Избацио ""
    ехо «ДАТУМ:«date +%c --date='+1 year'
    ехо «КЕРНЕЛ:«uname -o»<«uname -r«> <«uname -m«>»
    ецхо "ДИСТРИБУТИОН:" $ СИСТЕМ_НАМЕ "" $ СИСТЕМ_ВЕРСИОН ""
    ецхо "ЦПУ:" $ МОДЕЛ_ЦПУ "," $ НУЦЛЕО_ЦПУ "Нуклеуси," $ ЦАЦХЕ_ЦПУ "Цацхе"
    ецхо «КОРИСНИ ПРОСТОР:« $ ДАТА_УСУАРИО
    принтф% 130с | тр »» «=»
    Избацио ""
    #########################################
    ецхо "КОРИСНЕ ЗАПОВЕДИ:"
    ецхо »- Инсталирајте РПМ у систем ДЕБ пакета: алиен -ц -и пацкаге.рпм»
    ецхо »- Рекурзивна промена корисника и групе датотека: цховн -хР корисник: група [датотека или директоријум]»
    ецхо »- Копија задржава дозволе: цп -ак изворно одредиште»
    ецхо »- Прикажи активна спремишта: греп -и ппа.лаунцхпад.нет /етц/апт/соурцес.лист.д/*.лист»
    ецхо »- Додај спремиште: апт-адд-репоситори ппа: спремиште»
    ецхо »- ДА ВИДИТЕ ЈОШ Цутил наредби»
    ецхо »- ПОКАЖИ АЛИАС лсалиас»
    принтф% 130с | тр »» «=»
    Избацио ""
    Избацио ""
    # ПС1 = »[\ е [33; 1м] ┌─ ([\ е [34; 1м] \ у @ \ х [\ е [37; 1м]) * * * * \ д - \ т * * * * {[\ е [31; 1м] \ в [\ е [33; 1м]} \ н└──┤ [\ е [32м] # »
    PS1=»[\e[33;1m]┌─([\e[34;1m]\u@\h[\e[37;1m])>{ [\e[31;1m]\w[\e[33;1m] }\n└──┤ [\e[32m]# «

    1.    абаддон с дијо

      зашто боље да не напишете свој чланак?

  4.   абаддон с дијо

    ТО СУ ВОДИЧИ КОЈИ МИ СЕ СВИЂАЈУ !!!!!!!!!

  5.   Инг. Јосе Алберт дијо

    Па, драго ми је што вам се свидело и послужило!

    Надам се да ћу сутра објавити још један чланак! Косине.

  6.   усер-арцх дијо

    Поздрав и бескрајна захвалност што делите те информације.
    Немам пуно знања о администрацији ГНУ / Линука (ја сам само емпиријски и радознали корисник без академске обуке), али сећам се да сам на некој веб локацији читао о безбедносним проблемима са ескалацијом привилегија; неке команде и цеви у .басхрц скрипту, чини ми се да би могло олакшати рад хакера или цракера.
    С поштовањем и врло захвална.

  7.   Инг. Јосе Алберт дијо

    Са Схелл Сцриптинг оптимизацијом терминала је једноставно, погледајте докле можете стићи радећи добро Схелл Сцриптинг.

    ЛПИ-СБ8 Тест СцреенЦаст (ЛИНУКС ПОСТ ИНСТАЛЛ - СЦРИПТ БИЦЕНТЕНАРИО 8.0.0)
    (лпи_сб8_адецуацион-аудиовисуал_2016.сх / 43Кб)

    Погледајте Сцреенцаст: https://www.youtube.com/watch?v=cWpVQcbgCyY

  8.   Леа дијо

    Одличан водич! Било коју књигу коју препоручујете на линук-у да бисте добро научили скриптовање љуске, конфигурације, сигурност сервера? Хвала вам