El Скрипт на Shell, Той се отнася до изпълнение на сложни поръчки за GNU / Linux терминал (конзола), много е полезно да автоматизираме рутинните и важни дейности в рамките на нашата Операционна система GNU / Linux, което ни позволява да оптимизираме нашите Ресурси и време.
Следователно, използването му от терминала ни позволява да изпълняваме сложни командни команди ръчно или автоматично чрез скриптове или като програмирани процедури в автоматично заредени файлове или планирани задачи в операционната система. GNU / Linux. И за Среден потребител, напреднал или SysAdmin el график (автоматизира) задачи, сигнали и / или известия на хост (компютър / сървър), които да запазите Часове / труд От ръчно или лице в лице изпълнение е нещо основно и съществено за доброто изпълнение на работата ви като професионалист на високо ниво.
След това ще покажем как a данни (стойност / параметър) преди това се съхранява в променлива от команда Баш Шел или съвместим, той може да бъде показан в терминала на вашата операционна система GNU / linux, по практичен и лесен начин. В допълнение към настройката на терминалния ред.
Първа стъпка: Редактирайте .bashrc на вашия потребител
С редактора по ваш избор (vi, nano и др.) Редактирайте .bashrc файл на вашия потребител, който трябва да се намира в дома на същия, т.е., например: "/ Начало / my_user".
Вмъкнете съдържанието на всеки от следващите редове и всички онези допълнителни, които смятате за удобни за показване на потребителя при изпълнение на потребителски терминал:
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\]# "
`
Втора стъпка: Редактирайте root .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\]$ "
Трета стъпка: Редактирайте root .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 и езика bash shell за по-напреднало ниво на терминала. Същото може да се постигне при стартиране на отдалечени сесии чрез ssh, което можем да видим по-късно в други бъдещи публикации.
Надявам се тези малки "Съвети" улесняват извършването на основни, но полезни оптимизации, които обикновено са запазени само за експерти в Технологии, изчисления, свободен софтуер и GNU / Linux.
ПРИПОМНЕТЕ: Ако някой команден ред не успее да изпълни или покаже правилната стойност, не забравяйте да тествате ръчно всеки раздел от командния ред, за да опитате да коригирате стойностите или синтаксиса на някои променливи.
Псевдонимите са най-добрите. Не мисля лошо за някои, които включват по подразбиране в bashrc: la (ls -a) и ll (ls -l). На последно място добавя параметъра -h.
Други практически псевдоними:
s = 'sudo'
cd1 = 'cd ..'
cd2 = 'cd ../ ..'
rmd = 'rm -r' (използвам го за премахване на директории с файлове)
shutdown = 'sudo shutdown -h now'
del = 'trash-put' (преместване на файлове в кошче, команда за пакет trash-cli)
Откакто видях този псевдоним миналата година на Reddit, той ми беше любим:
псевдоним fuck = 'sudo $ (история -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 | още' # Показва файловете в детайли, подредени по размер
псевдоним lod = 'du -sk * | sort -rn '# Показване на директории, сортирани по размер
alias deo = 'du -sh' # Оценете пространството, заето от посочения реж
псевдоним psa = 'ps -eafw | още '# Показване на всички процеси с повече
псевдоним 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 »» «=»
изхвърли ""
ехо «ДАТА:«
date +%c --date='+1 year'
ехо «КЕРНЕЛ:«
uname -o
»<«uname -r
«> <«uname -m
«>»echo "DISTRIBUTION:" $ 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»
ехо »- Промяна на потребителя и групата файлове рекурсивно: chown -hR потребител: група [файл или реж.]»
echo »- Копиране, запазващо разрешенията: cp -ax дестинация източник»
echo »- Показване на активни хранилища: grep -i ppa.launchpad.net /etc/apt/sources.list.d/*.list»
echo »- Добавяне на хранилище: apt-add-repository ppa: хранилище»
echo »- ЗА ВИЖТЕ ПОВЕЧЕ Cutil команди»
echo »- ЗА ПОКАЗВАНЕ НА ПСЕВЕДИИТЕ lsalias»
printf% 130s | tr »» «=»
изхвърли ""
изхвърли ""
# PS1 = »[\ e [33; 1m] ┌─ ([\ e [34; 1m] \ u @ \ h [\ e [37; 1m]) * * * * \ 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, струва ми се, че биха могли да улеснят работата на хакер или взлом.
С уважение и много благодарност.
С Shell Scripting оптимизирането на терминала е просто, вижте докъде можете да стигнете, като направите добър Shell Scripting.
LPI-SB8 Test ScreenCast (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
(lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)
Вижте Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY
Страхотен урок! Всяка книга, която препоръчвате на linux, за да научите скриптове на черупки, конфигурации, сигурност на сървъра? Благодаря ти