El શેલ સ્ક્રિપ્ટીંગ, તે સંદર્ભ લે છે જટિલ ઓર્ડર અમલ આ વિશે જીએનયુ / લિનક્સ ટર્મિનલ (કન્સોલ), તે આપણામાં નિયમિત અને મહત્વપૂર્ણ પ્રવૃત્તિઓને સ્વચાલિત કરવા માટે ખૂબ ઉપયોગી છે જીએનયુ / લિનક્સ Opeપરેટિંગ સિસ્ટમ, જે આપણને optimપ્ટિમાઇઝ કરવાની મંજૂરી આપે છે સંસાધનો અને સમય, તે છે, અહીં જે સમાયેલ છે તેની સાથે આપણે અન્વેષણ કરીશું કે ટર્મિનલમાંથી આપણે મેન્યુઅલ આદેશો કેવી રીતે ચલાવી શકીએ છીએ જે પછી અમને મંજૂરી આપે છે શેડ્યૂલ / સ્વચાલિત ટીમ બચત વિશેની પ્રવૃત્તિઓ કલાકો / મજૂર મેન્યુઅલ અથવા સામ-સામે એક્ઝેક્યુશનનો અમલ, બાસ શેલ સ્ક્રિપ્ટ અથવા સુસંગત છે અને વ્યવહારુ અને સરળ રીતે સમજાવ્યો હતો.
અમે જેમ આવરીશું એક જ આદેશ આદેશ podemos ractપરેટિંગ સિસ્ટમ / હાર્ડવેરથી મૂલ્યો / માહિતી કાractવા અને પ્રદર્શિત કરવી, જે પછી અમે એક અંદર અમલ કરી શકો છો બાશ શેલ સ્ક્રિપ્ટ ચોક્કસ કાર્યને સ્વચાલિત કરવા માટે. પર ધ્યાન કેન્દ્રિત કરવું શ્રેષ્ઠ પ્રયાસો માર્ગમાં સ્ક્રિપ્ટની ઉત્તમ ડિઝાઇન મેળવવા માટે જરૂરી છે વધુ કાર્યક્ષમ અને વ્યવહારુ.
————————————————————-
સિસ્ટમમાં બનાવેલા પ્રથમ વપરાશકર્તાનું નામ મેળવો:
————————————————————-
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
----------------------
સિસ્ટમ પર બનાવેલા પહેલા વપરાશકર્તાના / ઘરનો માર્ગ મેળવો:
----------------------
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
-------------
વર્તમાન સાધનોની તારીખ તપાસો:
-------------
FECHA_ACTUAL=$(date +"%d %b %y") ; echo $FECHA_ACTUAL
------------
વર્તમાન સાધનોનો સમય તપાસો:
------------
HORA_ACTUAL=$(date +"%H:%M") ; echo $HORA_ACTUAL
----------------
તપાસો કે હોસ્ટ પાસે ઇન્ટરનેટ કનેક્શન છે કે નહીં:
----------------
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
-------------
Ratingપરેટિંગ સિસ્ટમના પ્રકારને તપાસો:
-------------
SISTEMA_OPERATIVO=$(uname -o) ; echo $SISTEMA_OPERATIVO
----------------------
Ratingપરેટિંગ સિસ્ટમનું નામ, સંસ્કરણ અને ઉપવૃત્તિ તપાસો:
----------------------
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
----------------
Ratingપરેટિંગ સિસ્ટમની આર્કિટેક્ચર તપાસો:
----------------
ARQUITECTURA=$(uname -m) ; echo $ARQUITECTURA
ARQUITECTURA=$(uname -m) ; if [[ "$ARQUITECTURA" = "x86" ]]; then ARQ_SISTEMA=32; else ARQ_SISTEMA=64; fi ; echo $ARQ_SISTEMA
------------------
Ratingપરેટિંગ સિસ્ટમના કર્નલ સંસ્કરણને તપાસો:
------------------
VERSION_KERNEL=$(uname -r) ; echo $VERSION_KERNEL
----------
હોસ્ટ નામ તપાસો:
----------
NOMBRE_HOST=$(cat /etc/hostname) ; echo $NOMBRE_HOST
----------------------
આંતરિક અને બાહ્ય આઇપી (મુખ્ય ઇન્ટરનેટ આઉટપુટ) તપાસો:
----------------------
IP_INTERNA=$(hostname -I) ; echo $IP_INTERNA
IP_EXTERNA=$(curl -s ipecho.net/plain;echo) ; echo $IP_EXTERNA
------------------
નેટવર્ક ઇન્ટરફેસોના મૂલ્યો (આઇપી / મCક) તપાસો:
------------------
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
-----------------
Ratingપરેટિંગ સિસ્ટમનો પ્રોક્સી / ગેટવે તપાસો:
-----------------
PROXY_GATEWAY=$(route -n | sed -n '3p' | awk '{print $2}') ; echo $PROXY_GATEWAY
----------------
હોસ્ટ નેટવર્ક ડોમેન નામ તપાસો:
----------------
DOMINIO=$(cat /etc/resolv.conf | sed '2 d' | grep search | sed -n '1p' | awk '{print $2}') ; echo $DOMINIO
---------------------
હોસ્ટ DNS સર્વરનું નેટવર્ક સરનામું (IP) તપાસો:
---------------------
IP_SERVIDOR_DNS=$(cat /etc/resolv.conf | sed '1 d' | awk '{print $2}') ; echo $IP_SERVIDOR_DNS
-------------
યજમાન સાથે જોડાયેલા વપરાશકર્તાઓને તપાસો:
-------------
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
---------------------------------
Ratingપરેટિંગ સિસ્ટમમાં વધુ ડેટા (ફાઇલોની # સંખ્યા / બાઇટ્સમાં કદ) સાથે વપરાશકર્તા ફોલ્ડરને તપાસો:
----------------------------------
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
------------------------------
સુપરયુઝર ફોલ્ડર અથવા ratingપરેટિંગ સિસ્ટમના અન્ય ફોલ્ડરના બાઇટ્સમાં કદ તપાસો:
------------------------------
DATA_ROOT=$(du -sh /root | awk '{print $1}') ; echo $DATA_ROOT
DATA_CARPETA1=$(du -sh /var | awk '{print $1}') ; echo $DATA_CARPETA1
--------------------
બનાવેલ વપરાશકર્તા ફોલ્ડર્સ (નામો અને નંબર્સ) તપાસો:
--------------------
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
---------------------
યુઆઈડી 0 અને જીઆઇડી 0 (સપર્સર્સ) બનાવનારા વપરાશકર્તાઓને તપાસો:
---------------------
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
--------------
રેમ અને સ્વેપ મેમરીની સ્થિતિ તપાસો:
--------------
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
------------------------
સાટા ડિસ્કના પાર્ટીશનો / માઉન્ટ પોઇન્ટની સ્થિતિ તપાસો:
------------------------
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
---------------------
સરેરાશ સિસ્ટમ લોડ તપાસો (કતાર પ્રક્રિયાઓ):
---------------------
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
-----------------
Ratingપરેટિંગ સિસ્ટમમાં ઝોમ્બિઓ પ્રક્રિયાઓ તપાસો:
-----------------
PROC_ZOMBIE=$(top -n 1 -b | grep "zombie" | awk '{print $10}') ; echo $PROC_ZOMBIE
---------------------
કામનો કુલ સમય તપાસો (પ્રારંભ કરો / ચાલુ):
---------------------
TIEMPO_ENCENDIDO=$(uptime | awk '{print $3,$4}' | cut -f1 -d,) ; echo $TIEMPO_ENCENDIDO
---------------
વિડિઓ કાર્ડ પરિમાણો તપાસો:
---------------
============
નિર્માતા:
FAB_TVIDEO=$(lspci -v | grep "VGA" | cut -d " " -f05) ; echo $FAB_TVIDEO
============
રેમ મેમરી:
MEM_TVIDEO=$(lspci -v -s `lspci | awk '/VGA/{print $1}'` | sed -n '/Memory.*, prefetchable/s/.*\[size=\([^]]\+\)M\]/\1/p') ; echo $MEM_TVIDEO
================
મોડ્યુલ (ડ્રાઇવર):
DRV_TVIDEO=$(lspci -nnk | grep -i vga -A3 | grep 'in use' | cut -d " " -f05) ; echo $DRV_TVIDEO
===============
3D પ્રવેગક:
A3D_TVIDEO=$(glxinfo | grep "direct rendering: Yes" | awk '{print $3}') ; echo $A3D_TVIDEO
--------------
પ્રોસેસર (સીપીયુ) પરિમાણો તપાસો:
--------------
===========
નિર્માતા:
FABRICANTE_CPU=$(grep "vendor_id" /proc/cpuinfo | sed q | awk '{print $3}') ; echo $FABRICANTE_CPU
=======
મોડલ:
MODELO_CPU=$(grep "model name" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}') ; echo $MODELO_CPU
=========
જથ્થો:
NUM_CPU=$(grep "processor" /proc/cpuinfo | sort -r | sed q | awk '{print $3}') ; TOTAL_CPU=$((`expr $NUM_CPU + 1`)) ; echo $TOTAL_CPU
================
સીપીયુ દીઠ કોરો:
NUCLEO_CPU=$(grep "cpu cores" /proc/cpuinfo | sed q | awk '{print $4}') ; echo $NUCLEO_CPU
==========================
સીપીયુમાં કુલ કોરો:
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
======================
સીપીયુ કેશ મેમરી:
CACHE_CPU=$(grep "cache size" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}') ; echo $CACHE_CPU
હું આશા રાખું છું કે આ નાના લોકો "ટિપ્સ" તેમના માટે મૂળભૂત પરંતુ ઉપયોગી optimપ્ટિમાઇઝેશન કરવાનું સરળ બનાવો, જે સામાન્ય રીતે ફક્ત નિષ્ણાતો માટે અનામત હોય છે ટેક્નોલ Compજી, કમ્પ્યુટિંગ, ફ્રી સ Softwareફ્ટવેર અને જીએનયુ / લિનક્સ.
નમૂના સ્ક્રીન
રીમાઇન્ડર: જો કોઈ આદેશ વાક્ય અમલમાં મૂકવામાં નિષ્ફળ થાય છે અથવા યોગ્ય મૂલ્ય દર્શાવે છે, તો અમુક ચલોના મૂલ્યો અથવા વાક્યરચનાને અજમાવવા અને આદેશ આપવા માટે આદેશ પ્રોમ્પ્ટના દરેક વિભાગની જાતે જ ચકાસણી કરવાની ખાતરી કરો.
કેમ ગ્રાસિઅસ.
ખૂબ જ ઉપયોગી.
ખૂબ સરસ આભાર.
સહયોગ માટે આનંદ! ટૂંક સમયમાં હું ખૂબ જ વ્યવહારિક કેસોમાં શેલ સ્ક્રિપ્ટીંગના ઉપયોગ પર ઘણા વધુ માઉન્ટ કરીશ.
ખૂબ જ સારા એન્જિનિયર! આશા છે કે ત્યાં વધુ શેલ સ્ક્રિપ્ટીંગ લેખ છે.
ત્યાં બતાવેલ આદેશો ઉત્તમ અને ખૂબ ઉપયોગી છે.
કિંમતી માહિતી માટે આભાર; પરંતુ મારા કિસ્સામાં કેટલાક આદેશો અપેક્ષિત પરિણામ આપતા નથી, ઉદાહરણ તરીકે આદેશ "કોણ" અને "ડબલ્યુ" કંઈપણ બતાવતા નથી; મેં મારી સાથે કેટલાક સિસ્ટમ અપડેટ કર્યા પછી આ થયું છે (હું સ્ક્રીન મેનેજર "lxdm" અને ગ્રાફિકલ એન્વાયર્નમેન્ટ "xfce 4.12" સાથે આર્ચલિંક્સનો ઉપયોગ કરું છું). શું થાય છે તે કોઈપણ વિચાર (પરિણામ હું સમાન હોઉં તો પણ વપરાશકર્તા રુટનો ઉપયોગ કરું છું).
આપનો આભાર.
તેઓ શેલ સ્ક્રિપ્ટીંગથી બનેલી નિષ્ણાત સિસ્ટમની ઇચ્છા કરશે કે વિનંતી પર રિપોર્ટના રૂપમાં સિસ્ટમના તમામ પરિમાણોના નિષ્કર્ષણ પેદા કરશે.
શેલ સ્ક્રિપ્ટીંગ સાથે શું કરી શકાય છે તેનું ઉદાહરણ:
એલપીઆઈ-એસબી 8 ટેસ્ટ સ્ક્રીનકાસ્ટ (લિનક્સ પોસ્ટ ઇન્સ્ટોલ કરો - સ્ક્રિપ્ટ બાયસેન્ટિઆરીયો 8.0.0)
(lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)
સ્ક્રીનકાસ્ટ જુઓ: https://www.youtube.com/watch?v=cWpVQcbgCyY