Ungayifeza kanjani iSysAdmin Terminal esebenzisa iShell Scripting

El Isikripthi se-Shell, Kubhekiswa ku- ukwenziwa kwemiyalo eyinkimbinkimbi mayelana Isikhumulo se-GNU / Linux (Console), kuyasiza kakhulu ukwenza imisebenzi ejwayelekile futhi ebalulekile ngaphakathi kwe- Uhlelo Lokusebenza lwe-GNU / Linux, okusivumela ukuthi sisebenzise i-_ yethu Izinsizakusebenza nesikhathi.

Ukukhethwa_007

Ngakho-ke, ukusetshenziswa kwayo kusuka esigungwini kusivumela ukuthi senze imiyalo eyinkimbinkimbi yemiyalo ngesandla noma ngokuzenzakalela ngemibhalo noma njengemizila ehleliwe ngaphakathi kokulayisha okuzenzakalelayo noma imisebenzi ehleliwe ngaphakathi koHlelo Lokusebenza. I-GNU / Linux. Futhi i-a Umsebenzisi Ophakathi, Okuthuthukile noma i-SysAdmin el ishejuli (yenza ngokuzenzakalela) imisebenzi, izexwayiso kanye / noma izaziso ku-Host (PC / Server) ongazigcina Amahora / Umsebenzi Ngokwenziwa ngesandla noma ubuso nobuso, kuyinto eyisisekelo futhi ebalulekile ekusebenzeni kahle komsebenzi wakho njengochwepheshe osezingeni eliphezulu.

Okulandelayo, sizokhombisa ukuthi a idatha (inani / ipharamitha) egcinwe phambilini ngokuguquguqukayo ngomyalo I-Bash Shell noma iyahambisana, ingakhonjiswa ekugcineni kwe-GNU / linux Operating System yakho, ngendlela ephathekayo nelula. Ngaphezu kokulungisa ukwaziswa kweTheminali.

Isinyathelo sokuqala: Hlela i-.bashrc yomsebenzisi yakho

Ngomhleli ozikhethele wona (vi, nano, njll.) Hlela ifayela le- ifayela le-.bashrc yomsebenzisi wakho okumele itholakale ngaphakathi kwekhaya elifanayo, okungukuthi, ngokwesibonelo: "/ Ikhaya / my_user".

Faka okuqukethwe kulayini ngamunye kulayini olandelayo nayo yonke leyo eyengeziwe ocabanga ukuthi ilula ukuyikhombisa umsebenzisi lapho wenza i-terminal yomsebenzisi:

sleep 3

clear

########################### PARÁMETROS DE MONITOREO ###########################

NOMBRE_SISTEMA=$(cat /etc/os-release | grep NAME | grep -v "VERSION" | sed -n '2p' | cut -f2 -d\")
VERSION_SISTEMA=$(cat /etc/os-release | grep VERSION= | sed -n '1p' | sed 's/VERSION=//' | sed 's/"//g')

FABRICANTE_CPU=$(grep "vendor_id" /proc/cpuinfo | sed q | awk '{print $3}')
MODELO_CPU=$(grep "model name" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}')
NUM_CPU=$(grep "processor" /proc/cpuinfo | sort -r | sed q | awk '{print $3}' | echo `expr $NUM_CPU + 1`)
NUCLEO_CPU=$(grep "cpu cores" /proc/cpuinfo | sed q | awk '{print $4}')
CACHE_CPU=$(grep "cache size" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}')

clear

printf %80s |tr " " "="
echo ""
echo "      ADVERTENCIA - USTED HA INICIADO SESIÓN EN EL EQUIPO SERVIDOR DE LA      "
echo "                             EMPRESA INSTITUCIÓN XYZ                                "
echo "       RECUERDE TENER EXTREMO CUIDADO CON CUALQUIER CAMBIO A REALIZAR        "
printf %80s |tr " " "="
echo ""
printf %80s |tr " " "="
echo ""
echo "                         ESTE EQUIPO TIENE INSTALADO                         "
echo "                                                                             "
echo "TIPO DE S.O.: <"`uname -o`">                                                 "
echo "NOMBRE / VERSIÓN DEL S.O.: &lt;"$NOMBRE_SISTEMA"&gt; / &lt;"$VERSION_SISTEMA"&gt;        "
echo "KERNEL / ARQUITECTURA: <"`uname -r`"> / <"`uname -m`">                       "
echo "INFO DEL CPU: ("$FABRICANTE_CPU") / ("$MODELO_CPU") / ("$NUM_CPU") / ("$NUCLEO_CPU") / ("$CACHE_CPU")"
printf %80s |tr " " "="
echo ""
echo ""

PS1="\[\e[33;1m\]┌─( \[\e[34;1m\]\u@\h\[\e[37;1m\] ) * * * * \d - \t * * * * { \[\e[31;1m\]\w\[\e[33;1m\] }\n└──┤ \[\e[32m\]# "

`

Isinyathelo Sesibili: Hlela impande .bashrc

Futhi ngesihleli esivele sisetshenzisiwe hlela ifayela le-.bashrc i-del impande enkulu kakhulu okufanele itholakale ngaphakathi kwendlela / impande yayo.

Faka okuqukethwe kulayini ngamunye kulayini olandelayo nayo yonke leyo eyengeziwe ocabanga ukuthi ilula ukuyikhombisa umsebenzisi lapho wenza i-terminal yomsebenzisi:

########################### PARÁMETROS DE MONITOREO ###########################

alias cc='clear'

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

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

DATA_USUARIO1=$(du -sh /home/ | sort -r | awk '{print $1}')
DATA_ROOT=$(du -sh /root | awk '{print $1}')
DATA_VAR=$(du -sh /var | awk '{print $1}')

MEM_TOTAL=$(free -h | sed '1 d' | grep Mem: | awk '{print $2}')
MEM_USADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $3}')
MEM_LIBRE=$(free -h | sed '1 d' | grep Mem: | awk '{print $4}')
MEM_COMPARTIDA=$(free -h | sed '1 d' | grep Mem: | awk '{print $5}')
MEM_ALMACENADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $6}')
MEM_CACHEADA=$(free -h | sed '1 d' | grep Mem: | awk '{print $7}')

PART1_TOTAL=$(df -h | sed '1 d' | grep disk | awk '{print $2}')
PART1_USADO=$(df -h | sed '1 d' | grep disk | awk '{print $3}')
PART1_DISPONIBLE=$(df -h | sed '1 d' | grep disk | awk '{print $4}')
PART1_PORCENTAJE=$(df -h | sed '1 d' | grep disk | awk '{print $5}')
PART1_PUNTOMONTAJE=$(df -h | sed '1 d' | grep disk | awk '{print $6}')

CARGA_1MIN=$(top -n 1 -b | grep "load average:" | awk '{print $12}' | sed 's/,//2')

CARGA_5MIN=$(top -n 1 -b | grep "load average:" | awk '{print $13}' | sed 's/,//2')
CARGA_15MIN=$(top -n 1 -b | grep "load average:" | awk '{print $14}' | sed 's/,//2')

USER_ONLINE=$(top -n 1 -b | grep "load average:" | awk '{print $8}')
PROC_ZOMBIE=$(top -n 1 -b | grep "zombie" | awk '{print $10}')

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

FABRICANTE_CPU=$(grep "vendor_id" /proc/cpuinfo | sed q | awk '{print $3}')
MODELO_CPU=$(grep "model name" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}')
NUM_CPU=$(grep "processor" /proc/cpuinfo | sort -r | sed q | awk '{print $3}' | echo `expr $NUM_CPU + 1`)
NUCLEO_CPU=$(grep "cpu cores" /proc/cpuinfo | sed q | awk '{print $4}')
CACHE_CPU=$(grep "cache size" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}')

IP_ETH0=$(ifconfig eth0 | grep inet | grep -v inet6 | cut -d ":" -f 2 | cut -d " " -f 1)
MAC_ETH0=$(ifconfig eth0 | sed -n '1p' | awk '{print $5}')

###############################################################################

if ping -c 1 8.8.8.8 &amp;&gt; /dev/null; then CONEXION_INTERNET=Habilitado; else CONEXION_INTERNET=Deshabilitado; fi

set -o vi

printf %80s |tr " " "="
echo ""
echo "      ADVERTENCIA - USTED HA INICIADO SESIÓN EN EL EQUIPO SERVIDOR DE LA      "
echo "                             EMPRESA INSTITUCIÓN XYZ                                "
echo "       RECUERDE TENER EXTREMO CUIDADO CON CUALQUIER CAMBIO A REALIZAR        "
printf %80s |tr " " "="
echo ""
printf %80s |tr " " "="
echo ""
echo "                    PARÁMETROS ACTUALES DE FUNCIONAMIENTO                    "
echo "                                                                             "
echo "MEMORIA TOTAL: ("$MEM_TOTAL") - MEMORIA USADA: ("$MEM_USADA") - MEMORIA LIBRE: ("$MEM_LIBRE")"
echo "DISCO PRINCIPAL: ("$PART1_TOTAL") - ESPACIO USADO: ("$PART1_USADO") - ESPACIO LIBRE: ("$PART1_DISPONIBLE") - %: ("$PART1_PORCENTAJE") - PARTICION: ("$PART1_PUNTOMONTAJE")"
echo "CARGA PROMEDIO DEL SISTEMA: 1 MIN ("$CARGA_1MIN") -  5 MIN ("$CARGA_5MIN") - 15 MIN ("$CARGA_15MIN")"
echo "USUARIOS CONECTADOS: ("$USER_ONLINE") -  PROCESOS ZOMBIES: ("$PROC_ZOMBIE")"
echo "TIEMPO ARRANQUE/ENCENDIDO: ("$TIEMPO_ENCENDIDO")                             "
echo "ESPACIO USADO: /home = ("$DATA_USUARIO1") /root = ("$DATA_ROOT") /var = ("$DATA_VAR")"
printf %80s |tr " " "="
echo ""
echo ""
PS1="\[\e[33;1m\]┌─( \[\e[34;1m\]\u@\h\[\e[37;1m\] ) * * * * \d - \t * * * * { \[\e[31;1m\]\w\[\e[33;1m\] }\n└──┤ \[\e[32m\]$ "

Isinyathelo Sesithathu: Hlela impande .bashrc

Phuma bese ugcina. Qalisa futhi bese uhlangabezana nezinguquko. Kufanele ibukeke ifana nalena eboniswe ngezansi, ezithombeni ezilandelayo:

Isinyathelo 1: Ukuqalisa kwetheminali

Isinyathelo 2: Hlela umsebenzisi .bashrc

Isinyathelo 3: Okuqukethwe kushumekwe kumsebenzisi .bashrc

Isinyathelo 4: Impande yokungena ngemvume

Isinyathelo 5: Impande yokungena ngemvume

Isinyathelo 6: Hlela ifayela le-root .bashrc

Isinyathelo 7: Hlela ifayela le-root .bashrc

Isinyathelo 8: Hlela ifayela le-root .bashrc

Isinyathelo 9: Isibonelo sokubonisa seTheminali Yomsebenzisi entsha

Isinyathelo 10: Isibonelo sokubonisa seTheminali Yomsebenzisi entsha

Isinyathelo 11: Isibonelo sokubonisa seTheminali Yomsebenzisi entsha

Isinyathelo Sesine (ngokuzithandela): Ama-aliases wokuShuna

Khumbula ukuthi ukusetshenziswa kwama-aliases ngaphakathi kwe- .bashrc Kungakusindisa nesikhathi esiningi sokubhala. Nqamula lawo eza ngokuzenzakalela ngaphakathi kwe-.bashrc, efana:

alias ls='ls $LS_OPTIONS'
<strong>alias ll='ls $LS_OPTIONS -l'
<strong>alias l='ls $LS_OPTIONS -lA'

alias rm='rm -i'

Futhi engeza leyo ocabanga ukuthi iyadingeka, njengoba iyimiyalo esetshenziswa njalo, njenge:

alias cc='clear'

Kubalulekile ukwazi okuningi ngendlela ozifundisa ngayo mayelana okuguqukayo, iziteketiso, .bashrc nolimi bash shell ngezinga eliphakeme kakhulu lesiginali. Okufanayo kungafinyelelwa lapho kuqala amaseshini akude nge-ssh, esingayibona ngokuhamba kwesikhathi kwezinye izincwadi ezizayo.

Ngiyethemba laba abancane "Amathiphu" kwenze kube lula ngabo ukwenza ukwenziwa okuyisisekelo kepha okusebenzisekayo, okuvame ukubekelwa kuphela abantu abangochwepheshe ku- Ubuchwepheshe, i-Computing, i-Free Software ne-GNU / Linux.

ISIKHUMBUZO: Uma noma yimuphi umugqa womyalo wehluleka ukwenza noma ukubonisa inani elifanele, qiniseka ukuthi uhlola mathupha isigaba ngasinye se-Prompt yomyalo ukuze uzame ukulungisa amanani noma i-syntax yokuhlukahluka okuthile.


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.

  1.   umabhebhana kusho

    I-aliasing iyona ehamba phambili. Angicabangi kabi ngezinye ezifaka ngokuzenzakalela ku-bashrc: la (ls -a) kanye ll (ls -l). Ekugcineni ngifaka ipharamitha -h.

    Ezinye iziteketiso ezisebenzayo:
    s = 'sudo'
    cd1 = 'cd ..'
    cd2 = 'cd ../ ..'
    rmd = 'rm -r' (ngiyisebenzisela ukususa izinkomba ezinamafayela)
    ukuvala shaqa = 'ukuvalwa kwe-sudo -h manje'
    del = 'trash-put' (hambisa amafayela kudoti, umyalo wephakheji-we-cli)

  2.   ithoni kusho

    Selokhu ngabona leli gama ngonyaka odlule kuReddit kube yintandokazi yami:
    alias fuck = 'sudo $ (umlando -p !!)'

  3.   Martin kusho

    I-athikili nokubukeka okunikeza ikhonsoli kuhle kakhulu. Eminye iminikelo:
    - Ku-Ubuntu izibizo zingabekwa kufayela elihlukile (.bash_aliases) kokunye ukusatshalaliswa engingakwaziyo kodwa ikwenza lokho ngokungeza imigqa elandelayo ku .bashrc:
    uma [-f ~ / .bash_aliases]; lapho-ke
    . ~ / .bash_aliases
    fi
    Lokhu kuvumela ukuthi iziteketiso zi-ode ngokwengeziwe futhi kwabakhohlwayo njengami ungangeza lezi zibizo ezibonisa ukufakwa kuhlu kwefayela izibizo:
    alias lsalias = 'okuningi ~ / .bash_aliases'
    - Nginefayela lombhalo womyalo ongasetshenziswa njalo (engingawakhumbuli njalo) abizwa ngokuthi i-command_utiles.txt nalawo alungile ngama-alias alandelayo:
    - Izethembiso eziningi engizisebenzisayo:
    alias cdu = 'cd ~'
    alias lof = 'ls -lSr | more' # Ibonisa amafayela ngemininingwane ehlelwe ngosayizi
    alias lod = 'du -sk * | sort -rn '# Khombisa izinkomba ezihlelwe ngosayizi
    alias deo = 'du -sh' # Linganisa isikhala okuhlalwe kuso i-dir ekhonjisiwe
    alias psa = 'ps -eafw | okuningi '# Khombisa zonke izinqubo ngokuningi
    alias psg = 'ps -eafw | grep '# Khombisa inqubo ekhonjisiwe
    - Ekugcineni, enye indlela engiyisebenzisile:
    I-SYSTEM_NAME = $ (ikati / njll / ukukhishwa kwe-os | grep NAME | grep -v "VERSION" | sed -n '1p' | cut -f2 -d \ »)
    SYSTEM_VERSION = $ (ikati / njll / os-release | grep VERSION = | sed -n '1p' | sed 's / VERSION = //' | sed 's / »// g')
    MANUFACTURER_CPU = $ (grep "vendor_id" / proc / cpuinfo | sed q | awk '{phrinta $ 3}')
    CPU_MODEL = $ (grep "igama lemodeli" / proc / cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $ 0}')
    I-NUM_CPU = $ (grep "processor" / proc / cpuinfo | sort -r | sed q | awk '{print $ 3}' | echo expr $NUM_CPU + 1)
    I-NUCLEO_CPU = $ (grep "cpu cores" / proc / cpuinfo | sed q | awk '{phrinta $ 4}')
    I-CACHE_CPU = $ (grep "usayizi wenqolobane" / proc / cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $ 0}')
    USER_DATA = $ (du -sh ~ | sort -r | awk '{phrinta $ 1}')

    Kucacile
    phrinta% 130s | tr »» «=»
    ulahlile ngaphandle ""
    i-echo «USUKU:«date +%c --date='+1 year'
    bhala «UKERNEL:«uname -o»<«uname -r«> <«uname -m«>»
    kunanela "DISTRIBUTION:" $ SYSTEM_NAME "" $ SYSTEM_VERSION ""
    i-echo "CPU:" $ MODEL_CPU "," $ NUCLEO_CPU "Nuclei," $ CACHE_CPU "Inqolobane"
    bhala «ISIKHALA ESISEBENZISIWE:« $ DATA_USUARIO
    phrinta% 130s | tr »» «=»
    ulahlile ngaphandle ""
    # # 1 # 2 # 2 # 1
    qonda "IMIYALO ESEBENZISA
    i-echo »- Faka i-RPM ohlelweni lwephakheji le-DEB: i-alien -c -i package.rpm»
    i-echo »- Shintsha umsebenzisi neqembu lamafayela ngokuziphindaphinda: chown -hR user: group [file or dir]»
    i-echo »- Kopisha ukugcina izimvume: indawo yomthombo we-cp -ax»
    i-echo »- Khombisa amakhosombe asebenzayo: grep -i ppa.launchpad.net /etc/apt/source.list.d/*.list»
    i-echo »- Faka indawo yokugcina izinto: i-apt-add-repository ppa: indawo yokugcina izinto»
    i-echo »- UKUBONA OKWENGEZIWE Imiyalo ye-Cutil»
    i-echo »- UKUBONISA I-ALIAS lsalias»
    phrinta% 130s | tr »» «=»
    ulahlile ngaphandle ""
    ulahlile ngaphandle ""
    # PS1 = »[\ e [33; 1m] ┌─ ([\ e [34; 1m] \ u @ \ h [\ e [37; 1m]) * * * * \ d - \ t * * * * * {[\ e [31; 1m] \ w [\ e [33; 1m]} \ n└──┤ [\ e [32m] # »
    PS1=»[\e[33;1m]┌─([\e[34;1m]\u@\h[\e[37;1m])>{ [\e[31;1m]\w[\e[33;1m] }\n└──┤ [\e[32m]# «

    1.    abaddon s kusho

      kungani kungcono ungabhali eyakho indatshana?

  4.   abaddon s kusho

    IZIZIZIFUNDISO ENGIZITHANDAYO !!!!!!!!!

  5.   Ing. UJoseph Albert kusho

    Ngijabule kakhulu ukuthi uyithandile wayiphaka!

    Kusasa ngithemba ukushicilela esinye isihloko! Imithambeka.

  6.   i-user-arch kusho

    Ukubingelela nokubonga okungapheli ngokwabelana ngalolo lwazi.
    Anginalo ulwazi oluningi ngokuphathwa kwe-GNU / Linux (Ngingumsebenzisi onamandla futhi onelukuluku ngaphandle koqeqesho lwezifundo), kepha ngiyakhumbula ngifunda kwenye iwebhusayithi ngezinkinga zokuphepha ngokukhuphuka kwelungelo eminye imiyalo namapayipi kusikripthi se-.bashrc, kubonakala kimi kungasiza umsebenzi we-hacker noma i-cracker.
    Ngenhlonipho nokubonga okukhulu.

  7.   Ing. UJoseph Albert kusho

    Ngokusebenzisa iShell Scripting ukusebenzisa i-terminal kulula, bona ukuthi ungahamba ibanga elingakanani ngokwenza iShell Scripting enhle.

    I-LPI-SB8 Test ScreenCast (I-LINUX POST INSTALL - ISIKRIPTI BICENTENARIO 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    Bona iScreencast: https://www.youtube.com/watch?v=cWpVQcbgCyY

  8.   Lea kusho

    Isifundo esihle! Noma iyiphi incwadi oyincomayo ku-linux ukuze ufunde ukubhala kweShell, ukumiswa, ukuphepha kweseva? Ngiyabonga