El Shelli skriptimine, See viitab keerukate tellimuste täitmine kohta GNU / Linuxi terminal (konsool), meie sees on väga kasulik automatiseerida rutiinseid ja olulisi tegevusi GNU / Linuxi operatsioonisüsteem, mis võimaldab meil optimeerida oma Ressursid ja aeg, see tähendab, et siin sisalduvaga uurime, kuidas terminalist saaksime käsitsikäske täita, mis meile siis võimaldavad ajakava / automatiseerimine tegevused meeskonna säästmise kohta Tööaeg / tööjõud käsitsi või näost näkku täitmiseks, täites nimetatud korraldused Bash Shelli või ühilduva skriptiga ning selgitades seda praktilisel ja lihtsal viisil.
Me kajastame nagu aastal ühe käskluse podemos väärtuste / teabe väljavõtmine ja kuvamine operatsioonisüsteemist / riistvarast, mida saame seejärel rakendada a jooksul Bash Shelli skript konkreetse ülesande automatiseerimiseks. Keskendumine Parimad tavad vajalik skripti suurepärase kujunduse saamiseks tõhusam ja praktilisem.
--------------------
Hankige süsteemis esimese loodud kasutaja nimi:
--------------------
USER_1000=$(cat /etc/passwd | grep 1000 | cut -d: -f1) ; echo $USER_1000
USER_1001=$(cat /etc/passwd | grep 1001 | cut -d: -f1) ; echo $USER_1001
—————————————————————
Hankige süsteemis loodud esimese kasutaja / home tee:
—————————————————————
USER_1000=$(cat /etc/passwd | grep 1000 | cut -d: -f1) ; HOME_USER_1000=/home/$USER_1000 ; echo $HOME_USER_1000
USER_1001=$(cat /etc/passwd | grep 1001 | cut -d: -f1) ; HOME_USER_1001=/home/$USER_1001 ; echo $HOME_USER_1001
-------------
Kontrollige seadmete praegust kuupäeva:
-------------
FECHA_ACTUAL=$(date +"%d %b %y") ; echo $FECHA_ACTUAL
------------
Kontrollige seadmete praegust aega:
------------
HORA_ACTUAL=$(date +"%H:%M") ; echo $HORA_ACTUAL
————————————————
Kontrollige, kas hostil on Interneti-ühendus:
————————————————
if ping -c 1 8.8.8.8 &> /dev/null; then CONEXION_INTERNET=Habilitado; else CONEXION_INTERNET=Deshabilitado; fi ; echo $CONEXION_INTERNET
TEST_PING=$(ping 192.168.3.249 -c 5 | grep packet | awk '{print $6}' | cut -f1 -d%) ; echo $TEST_PING % de Perdida de paquetes
TEST_LATENCIA=$(ping 8.8.8.8 -c 5 | grep packet | awk '{print $10}' | cut -f1 -d%) ; echo $TEST_LATENCIA de Latencia del Enlace
-------------
Kontrollige operatsioonisüsteemi tüüpi:
-------------
SISTEMA_OPERATIVO=$(uname -o) ; echo $SISTEMA_OPERATIVO
----------------------
Kontrollige operatsioonisüsteemi nime, versiooni ja allversiooni:
----------------------
NOMBRE_SISTEMA=$(cat /etc/os-release | grep NAME | grep -v "VERSION" | sed -n '2p' | cut -f2 -d\") ; echo $NOMBRE_SISTEMA
VERSION_SISTEMA=$(cat /etc/os-release | grep VERSION= | sed -n '1p' | sed 's/VERSION=//' | sed 's/"//g') ; echo $VERSION_SISTEMA
SUBVERSION_SISTEMA=$(lsb_release -d | awk '{print $4}') ; echo $SUBVERSION_SISTEMA
----------------
Kontrollige operatsioonisüsteemi arhitektuuri:
----------------
ARQUITECTURA=$(uname -m) ; echo $ARQUITECTURA
ARQUITECTURA=$(uname -m) ; if [[ "$ARQUITECTURA" = "x86" ]]; then ARQ_SISTEMA=32; else ARQ_SISTEMA=64; fi ; echo $ARQ_SISTEMA
------------------
Kontrollige operatsioonisüsteemi kerneli versiooni:
------------------
VERSION_KERNEL=$(uname -r) ; echo $VERSION_KERNEL
----------
Kontrollige hostinime:
----------
NOMBRE_HOST=$(cat /etc/hostname) ; echo $NOMBRE_HOST
----------------------
Kontrollige sisemist ja välist IP-d (Interneti peamine väljund):
----------------------
IP_INTERNA=$(hostname -I) ; echo $IP_INTERNA
IP_EXTERNA=$(curl -s ipecho.net/plain;echo) ; echo $IP_EXTERNA
------------------
Kontrollige võrguliideste väärtusi (IP / MAC):
------------------
IP_ETH0=$(ifconfig eth0 | grep inet | grep -v inet6 | cut -d ":" -f 2 | cut -d " " -f 1) ; echo $IP_ETH0
MAC_ETH0=$(ifconfig eth0 | sed -n '1p' | awk '{print $5}') ; echo $MAC_ETH0
IP_WLAN0=$(ifconfig wlan0 | grep inet | grep -v inet6 | cut -d ":" -f 2 | cut -d " " -f 1) ; echo $IP_WLAN0
MAC_WLAN0=$(ifconfig wlan0 | sed -n '1p' | awk '{print $5}') ; echo $MAC_WLAN0
----------------
Kontrollige operatsioonisüsteemi puhverserverit / lüüsi:
----------------
PROXY_GATEWAY=$(route -n | sed -n '3p' | awk '{print $2}') ; echo $PROXY_GATEWAY
————————————————
Kontrollige hostvõrgu domeeninime:
————————————————
DOMINIO=$(cat /etc/resolv.conf | sed '2 d' | grep search | sed -n '1p' | awk '{print $2}') ; echo $DOMINIO
————————————————————-
Kontrollige hosti DNS-serveri võrguaadressi (IP):
————————————————————-
IP_SERVIDOR_DNS=$(cat /etc/resolv.conf | sed '1 d' | awk '{print $2}') ; echo $IP_SERVIDOR_DNS
-------------
Kontrollige hostiga ühendatud kasutajaid:
-------------
who>/tmp/who ; echo -e "Usuarios conectados al Host :" && echo "" && echo "Usuarios Puertos Fecha Hora Pantalla" ; echo "*************************************************************************" && cat /tmp/who
USUARIOS_CONECTADOS=$(who | awk '{print $1}') ; echo $USUARIOS_CONECTADOS
USER_ONLINE1=$(who | awk '{print $1}') ; echo $USER_ONLINE1 | wc -w
USER_ONLINE2=$(top -n 1 -b | grep "load average:" | awk '{print $6}') ; echo $USER_ONLINE2
————————————————————————————————————————
Kontrollige operatsioonisüsteemi kasutajate kausta, kus on rohkem andmeid (failide arv / suurus baitides):
----------------------------------
CARPETA_USUARIO1=$(ls -l /home | sed '1 d' | sort -k2 | sed q | awk '{print $9}') ; echo $CARPETA_USUARIO1
DATA_USUARIO1=$(du -sh /home/* | sort -r | sed q | awk '{print $1}') ; echo $DATA_USUARIO1
————————————————————————————
Kontrollige superkasutaja kausta või opsüsteemi muu kausta suurust baitides:
————————————————————————————
DATA_ROOT=$(du -sh /root | awk '{print $1}') ; echo $DATA_ROOT
DATA_CARPETA1=$(du -sh /var | awk '{print $1}') ; echo $DATA_CARPETA1
--------------------
Kontrollige loodud kasutajakaustu (nimed ja numbrid):
--------------------
NOMBRES_CARPETAS=$(ls -l /home | sed '1 d' | awk '{print $9}') ; echo $NOMBRES_CARPETAS
NUMERO_CARPETAS=$(ls -l /home | sed '1 d' | awk '{print $9}') ; echo $NUMERO_CARPETAS | wc -w
————————————————————-
Kontrollige loodud UID 0 ja GID 0 (SUPERUSERS) kasutajaid:
————————————————————-
SUPERUSUARIOS_UID=$(awk -F: '{if ($3==0) print $1}' /etc/passwd) ; echo $SUPERUSUARIOS_UID
SUPERUSUARIOS_GID=$(awk -F: '{if ($3==0) print $1}' /etc/passwd) ; echo $SUPERUSUARIOS_GID
--------------
Kontrollige RAM-i ja vahetusmälu olekut:
--------------
MEM_TOTAL=$(free -h | sed '1 d' | grep Mem: | awk '{print $2}') ; echo $MEM_TOTAL
MEM_USADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $3}') ; echo $MEM_USADA
MEM_LIBRE=$(free -h | sed '1 d' | grep Mem: | awk '{print $4}') ; echo $MEM_LIBRE
MEM_COMPARTIDA=$(free -h | sed '1 d' | grep Mem: | awk '{print $5}') ; echo $MEM_COMPARTIDA
MEM_ALMACENADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $6}') ; echo $MEM_ALMACENADA
MEM_CACHEADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $7}') ; echo $MEM_CACHEADA
SWAP_TOTAL=$(free -h | sed '1 d' | grep Swap: | awk '{print $2}') ; echo $SWAP_TOTAL
SWAP_USADA=$(free -h | sed '1 d' | grep Swap: | awk '{print $3}') ; echo $SWAP_USADA
SWAP_LIBRE=$(free -h | sed '1 d' | grep Swap: | awk '{print $4}') ; echo $SWAP_LIBRE
------------------------
Kontrollige SATA-ketta sektsioonide olekut / ühenduspunkti:
------------------------
PART1_TOTAL=$(df -h | sed '1 d' | grep /dev/sda5 | awk '{print $2}') ; echo $PART1_TOTAL
PART1_USADO=$(df -h | sed '1 d' | grep /dev/sda5 | awk '{print $3}') ; echo $PART1_USADO
PART1_DISPONIBLE=$(df -h | sed '1 d' | grep /dev/sda5 | awk '{print $4}') ; echo $PART1_DISPONIBLE
PART1_PORCENTAJE=$(df -h | sed '1 d' | grep /dev/sda5 | awk '{print $5}') ; echo $PART1_PORCENTAJE
PART1_PUNTOMONTAJE=$(df -h | sed '1 d' | grep /dev/sda5 | awk '{print $6}') ; echo $PART1_PUNTOMONTAJE
————————————————————-
Kontrollige süsteemi keskmist koormust (järjekorras olevad protsessid):
————————————————————-
CARGA_1MIN=$(top -n 1 -b | grep "load average:" | awk '{print $10}' | sed 's/,//2') ; echo $CARGA_1MIN
CARGA_5MIN=$(top -n 1 -b | grep "load average:" | awk '{print $11}' | sed 's/,//2') ; echo $CARGA_5MIN
CARGA_15MIN=$(top -n 1 -b | grep "load average:" | awk '{print $12}' | sed 's/,//2') ; echo $CARGA_15MIN
CARGA_1MIN=$(uptime | awk '{print $8}' | sed 's/,//2') ; echo $CARGA_1MIN
CARGA_5MIN=$(uptime | awk '{print $9}' | sed 's/,//2') ; echo $CARGA_5MIN
CARGA_15MIN=$(uptime | awk '{print $10}' | sed 's/,//2') ; echo $CARGA_15MIN
----------------
Kontrollige operatsioonisüsteemi zombide protsesse:
----------------
PROC_ZOMBIE=$(top -n 1 -b | grep "zombie" | awk '{print $10}') ; echo $PROC_ZOMBIE
————————————————————-
Kontrollige kogu tööaega (algus / sisselülitamine):
————————————————————-
TIEMPO_ENCENDIDO=$(uptime | awk '{print $3,$4}' | cut -f1 -d,) ; echo $TIEMPO_ENCENDIDO
---------------
Kontrollige videokaardi parameetreid:
---------------
============
Tegija:
FAB_TVIDEO=$(lspci -v | grep "VGA" | cut -d " " -f05) ; echo $FAB_TVIDEO
============
RAM:
MEM_TVIDEO=$(lspci -v -s `lspci | awk '/VGA/{print $1}'` | sed -n '/Memory.*, prefetchable/s/.*\[size=\([^]]\+\)M\]/\1/p') ; echo $MEM_TVIDEO
================
Moodul (draiver):
DRV_TVIDEO=$(lspci -nnk | grep -i vga -A3 | grep 'in use' | cut -d " " -f05) ; echo $DRV_TVIDEO
===============
3D-kiirendus:
A3D_TVIDEO=$(glxinfo | grep "direct rendering: Yes" | awk '{print $3}') ; echo $A3D_TVIDEO
--------------
Kontrollige protsessori (CPU) parameetreid:
--------------
===========
Tegija:
FABRICANTE_CPU=$(grep "vendor_id" /proc/cpuinfo | sed q | awk '{print $3}') ; echo $FABRICANTE_CPU
=======
Mudel:
MODELO_CPU=$(grep "model name" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}') ; echo $MODELO_CPU
=========
cantidad:
NUM_CPU=$(grep "processor" /proc/cpuinfo | sort -r | sed q | awk '{print $3}') ; TOTAL_CPU=$((`expr $NUM_CPU + 1`)) ; echo $TOTAL_CPU
================
Südamikud protsessori kohta:
NUCLEO_CPU=$(grep "cpu cores" /proc/cpuinfo | sed q | awk '{print $4}') ; echo $NUCLEO_CPU
==========================
Südamikud kokku protsessori kohta:
NUM_CPU=$(grep "processor" /proc/cpuinfo | sort -r | sed q | awk '{print $3}') ; TOTAL_CPU=$((`expr $NUM_CPU + 1`)) ; NUCLEO_CPU=$(grep "cpu cores" /proc/cpuinfo | sed q | awk '{print $4}') ; TOTAL_NUCLEO_CPU=$((`expr $TOTAL_CPU \* $NUCLEO_CPU`)) ; echo $TOTAL_NUCLEO_CPU
======================
Protsessori vahemälu:
CACHE_CPU=$(grep "cache size" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}') ; echo $CACHE_CPU
Loodan, et need väiksed "Näpunäited" võimaldavad neil teha lihtsaid, kuid kasulikke optimeerimisi, mis on tavaliselt reserveeritud ainult ekspertidele Tehnoloogia, andmetöötlus, vaba tarkvara ja GNU / Linux.
PROOVIKUVAD
MEENUTUS: Kui mõni käsurida ei suuda käivitada või kuvab õige väärtuse, proovige kindlasti käsuviiba kõiki jaotisi käsitsi, et proovida kohandada mõne muutuja väärtusi või süntaksit.
Suur aitäh.
Väga kasulik.
Väga hea, tänan .
Rõõm koostööd teha! Varsti keskendun veel palju Shell Scriptingu kasutamisele väga praktilistel juhtudel.
Väga hea insener! Loodetavasti on Shelli skriptimise artikleid veel.
Seal näidatud käsud on suurepärased ja väga kasulikud.
Aitäh väärtusliku teabe eest; kuid minu puhul ei anna mõned käsud oodatud tulemust, näiteks käsk "kes" ja "w" ei näita midagi; See juhtus minuga pärast süsteemi värskendamist (kasutan archlinuxit ekraanihalduri "lxdm" ja graafilise keskkonnaga "xfce 4.12"). Mis tahes idee, mis juhtub (tulemus on sama, isegi kui ma kasutan kasutaja root).
Gracias.
Nad sooviksid, et Shell Scriptingiga tehtud ekspertsüsteem koostaks aruande vormis süsteemi kõigi parameetrite väljavõtte.
Näide selle kohta, mida saab Shelli skriptimisega teha:
LPI-SB8 testimisekraan (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
(lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)
Vaadake ekraanikuva: https://www.youtube.com/watch?v=cWpVQcbgCyY