Kuinka poimia parametreja terminaalista Shell Scripting -sovelluksella

El Shell-komentosarjat, Se viittaa monimutkaisten tilausten toteuttaminen on GNU / Linux-pääte (konsoli), on erittäin hyödyllistä automatisoida rutiinit ja tärkeät toiminnot sisällä GNU / Linux-käyttöjärjestelmä, jonka avulla voimme optimoida Resurssit ja aika, toisin sanoen tässä esitetyllä tavalla tutkitaan, kuinka päätelaitteesta voimme suorittaa manuaaliset komennot, jotka sitten sallivat meille ajoittaa / automatisoida toimintaa tiimin säästämisestä Tunnit / työ manuaalinen tai henkilökohtainen toteutus, mainittujen tilausten toteuttaminen Bash Shell -skripteillä tai yhteensopiva ja selitetty käytännöllisellä ja yksinkertaisella tavalla.

Valinta_007Katamme kuten yhden komentokomennon podemos poimia ja näyttää arvot / tiedot käyttöjärjestelmästä / laitteistosta, jonka voimme sitten toteuttaa a: n sisällä Bash Shell -skripti tietyn tehtävän automatisoimiseksi. Keskittyminen Parhaat käytännöt välttämätön, jotta saataisiin erinomainen komentosarjan muoto tehokkaampi ja käytännöllisempi.

--------------------
Hanki ensimmäisen järjestelmässä luodun käyttäjän 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

----------------------
Hanki ensimmäisen järjestelmän luoma / home-polku:
----------------------

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

-------------
Tarkista laitteen nykyinen päivämäärä:
-------------

FECHA_ACTUAL=$(date +"%d %b %y") ; echo $FECHA_ACTUAL

------------
Tarkista nykyinen laitteiden aika:
------------

HORA_ACTUAL=$(date +"%H:%M") ; echo $HORA_ACTUAL

----------------
Tarkista, onko palvelimella Internet-yhteys:
----------------

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
-------------
Tarkista käyttöjärjestelmän tyyppi:
-------------

SISTEMA_OPERATIVO=$(uname -o) ; echo $SISTEMA_OPERATIVO

----------------------
Tarkista käyttöjärjestelmän nimi, versio ja aliversio:
----------------------
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

----------------
Tarkista käyttöjärjestelmän arkkitehtuuri:
----------------

ARQUITECTURA=$(uname -m) ; echo $ARQUITECTURA

ARQUITECTURA=$(uname -m) ; if [[ "$ARQUITECTURA" = "x86" ]]; then ARQ_SISTEMA=32; else ARQ_SISTEMA=64; fi ; echo $ARQ_SISTEMA

------------------
Tarkista käyttöjärjestelmän ytimen versio:
------------------

VERSION_KERNEL=$(uname -r) ; echo $VERSION_KERNEL

----------
Tarkista isäntänimi:
----------

NOMBRE_HOST=$(cat /etc/hostname) ; echo $NOMBRE_HOST
----------------------
Tarkista sisäinen ja ulkoinen IP (Internet-ulostulo):
----------------------

IP_INTERNA=$(hostname -I) ; echo $IP_INTERNA

IP_EXTERNA=$(curl -s ipecho.net/plain;echo) ; echo $IP_EXTERNA

------------------
Tarkista verkkoliitäntöjen arvot (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
-----------------
Tarkista käyttöjärjestelmän välityspalvelin / yhdyskäytävä:
-----------------

PROXY_GATEWAY=$(route -n | sed -n '3p' | awk '{print $2}') ; echo $PROXY_GATEWAY

----------------
Tarkista isäntäverkkotunnus:
----------------

DOMINIO=$(cat /etc/resolv.conf | sed '2 d' | grep search | sed -n '1p' | awk '{print $2}') ; echo $DOMINIO

---------------------
Tarkista isännän DNS-palvelimen verkko-osoite (IP):
---------------------

IP_SERVIDOR_DNS=$(cat /etc/resolv.conf | sed '1 d' | awk '{print $2}') ; echo $IP_SERVIDOR_DNS

-------------
Tarkista isäntään yhdistetyt käyttäjät:
-------------

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
---------------------------------
Tarkista käyttäjän kansio, jossa on enemmän tietoja (tiedostojen määrä / koko tavuina) käyttöjärjestelmässä:
----------------------------------

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

------------------------------
Tarkista pääkäyttäjän kansion tai muun käyttöjärjestelmän kansion koko tavuina:
------------------------------

DATA_ROOT=$(du -sh /root | awk '{print $1}') ; echo $DATA_ROOT

DATA_CARPETA1=$(du -sh /var | awk '{print $1}') ; echo $DATA_CARPETA1

--------------------
Tarkista luotut käyttäjäkansiot (nimet ja numerot):
--------------------

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

---------------------
Tarkista käyttäjät, joilla on UID 0 JA GID 0 (SUPERUSERS) luotu:
---------------------

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

--------------
Tarkista RAM-muistin ja vaihdettavan muistin tila:
--------------

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

------------------------
Tarkista osioiden tila / SATA-levyn kiinnityskohta:
------------------------

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

---------------------
Tarkista järjestelmän keskimääräinen kuormitus (jonossa olevat prosessit):
---------------------

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

-----------------
Tarkista Zombies-prosessit käyttöjärjestelmässä:
-----------------

PROC_ZOMBIE=$(top -n 1 -b | grep "zombie" | awk '{print $10}') ; echo $PROC_ZOMBIE

---------------------
Tarkista kokonaistyöaika (Käynnistys / Päällä):
---------------------

TIEMPO_ENCENDIDO=$(uptime | awk '{print $3,$4}' | cut -f1 -d,) ; echo $TIEMPO_ENCENDIDO

---------------
Tarkista näytönohjaimen parametrit:
---------------

============

Luoja:

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

================

Moduuli (ohjain):

DRV_TVIDEO=$(lspci -nnk | grep -i vga -A3 | grep 'in use' | cut -d " " -f05) ; echo $DRV_TVIDEO

===============

3D-kiihtyvyys:

A3D_TVIDEO=$(glxinfo | grep "direct rendering: Yes" | awk '{print $3}') ; echo $A3D_TVIDEO

--------------
Tarkista suorittimen (CPU) parametrit:
--------------

===========

Luoja:

FABRICANTE_CPU=$(grep "vendor_id" /proc/cpuinfo | sed q | awk '{print $3}') ; echo $FABRICANTE_CPU

=======

Modelo:

MODELO_CPU=$(grep "model name" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}') ; echo $MODELO_CPU

=========

määrä:

NUM_CPU=$(grep "processor" /proc/cpuinfo | sort -r | sed q | awk '{print $3}') ; TOTAL_CPU=$((`expr $NUM_CPU + 1`)) ; echo $TOTAL_CPU

================

Ytimet prosessoria kohti:

NUCLEO_CPU=$(grep "cpu cores" /proc/cpuinfo | sed q | awk '{print $4}') ; echo $NUCLEO_CPU

==========================

Ytimet yhteensä suorittinta kohti:

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

======================

CPU-välimuisti:

CACHE_CPU=$(grep "cache size" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}') ; echo $CACHE_CPU

Toivottavasti nämä pienet lapset "Vinkkejä" Heidän on helppo tehdä perusoptimointeja, jotka ovat kuitenkin hyödyllisiä vain asiantuntijoille Tekniikka, tietojenkäsittely, ilmaiset ohjelmistot ja GNU / Linux.

NÄYTTEET

jalbert: bash - Konsole_008

jalbert: bash - Konsole_009

MUISTUTUS: Jos jokin komentorivi ei toteuta tai näyttää oikean arvon, muista testata komentokehotteen kukin osa manuaalisesti ja yrittää säätää joidenkin muuttujien arvoja tai syntaksia.


Artikkelin sisältö noudattaa periaatteita toimituksellinen etiikka. Ilmoita virheestä napsauttamalla täällä.

7 kommenttia, jätä omasi

Jätä kommentti

Sähköpostiosoitettasi ei julkaista.

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Eduardo dijo

    Paljon kiitoksia.

    Todella hyödyllinen.

  2.   HO2Gi dijo

    Erittäin hyvä kiitos.

  3.   Jose Albert dijo

    Ilo tehdä yhteistyötä! Pian kiinnitän paljon enemmän Shell Scriptingin käyttöön hyvin käytännöllisissä tapauksissa.

  4.   cr0t0 dijo

    Erittäin hyvä insinööri! Toivottavasti on enemmän Shell Scripting -artikkeleita.

  5.   Francis Tovar dijo

    Näytetyt komennot ovat erinomaisia ​​ja erittäin hyödyllisiä.

  6.   käyttäjäarkki dijo

    Kiitos arvokkaasta tiedosta. mutta minun tapauksessani jotkut komennot eivät anna odotettua tulosta, esimerkiksi komennot "kuka" ja "w" eivät näytä mitään; näin tapahtui minulle, koska tein jonkin verran järjestelmää (käytin archlinuxia näytönohjaimen "lxdm" ja graafisen ympäristön "xfce 4.12" kanssa). Mikä tahansa idea mitä tapahtuu (tulos on sama, vaikka käytän käyttäjän juuria).
    Kiitos.

  7.   Jose Albert dijo

    He haluaisivat Shell Scriptingillä tehdyn asiantuntijajärjestelmän, joka pyynnöstä tuottaa järjestelmän kaikkien parametrien purkamisen raportin muodossa.

    Esimerkki siitä, mitä Shell Scripting -ohjelmalla voidaan tehdä:

    LPI-SB8-testinäyttö (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    Katso Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY