Parameetrite eraldamine terminalist, kasutades rakendust Shell Scripting

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.

Valik_007

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

jalbert: bash - Konsole_008

jalbert: bash - Konsole_009

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.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   Eduardo DIJO

    Suur aitäh.

    Väga kasulik.

  2.   HO2Gi DIJO

    Väga hea, tänan .

  3.   Ing Jose Albert DIJO

    Rõõm koostööd teha! Varsti keskendun veel palju Shell Scriptingu kasutamisele väga praktilistel juhtudel.

  4.   cr0t0 DIJO

    Väga hea insener! Loodetavasti on Shelli skriptimise artikleid veel.

  5.   Francis Tovar DIJO

    Seal näidatud käsud on suurepärased ja väga kasulikud.

  6.   kasutajaarhiv DIJO

    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.

  7.   Ing Jose Albert DIJO

    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