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.
Katamme 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
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.
Paljon kiitoksia.
Todella hyödyllinen.
Erittäin hyvä kiitos.
Ilo tehdä yhteistyötä! Pian kiinnitän paljon enemmän Shell Scriptingin käyttöön hyvin käytännöllisissä tapauksissa.
Erittäin hyvä insinööri! Toivottavasti on enemmän Shell Scripting -artikkeleita.
Näytetyt komennot ovat erinomaisia ja erittäin hyödyllisiä.
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.
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