El Shell-scripts, Het verwijst naar de uitvoering van complexe orders op GNU / Linux Terminal (console), het is erg handig om routinematige en belangrijke activiteiten binnen ons te automatiseren GNU / Linux-besturingssysteem, waarmee we onze Middelen en tijd.
Daarom stelt het gebruik ervan vanaf de terminal ons in staat om complexe opdrachten handmatig of automatisch uit te voeren via scripts of als geprogrammeerde routines binnen het automatisch laden van bestanden of geplande taken binnen het besturingssysteem. GNU / Linux. en voor een Gemiddelde, geavanceerde of SysAdmin-gebruiker el plannen (automatiseren) taken, waarschuwingen en/of mededelingen op een Host (PC/Server) op te slaan Uren / arbeid van handmatige of face-to-face uitvoering, is iets fundamenteels en essentieels voor de goede uitvoering van uw werk als professional op hoog niveau.
Vervolgens laten we zien hoe gegevens (waarde / parameter) eerder opgeslagen in een variabele door een commando Bash Shell of compatibel, kan het op een praktische en eenvoudige manier worden weergegeven in de terminal van uw GNU/linux-besturingssysteem. Naast het afstemmen van de Terminal-prompt.
Stap één: Bewerk de .bashrc van uw gebruiker
Met de editor van uw keuze (vi, nano, etc.) bewerk het .bashrc-bestand van uw gebruiker die zich in de woning van die gebruiker moet bevinden, dat wil zeggen in bijvoorbeeld: "/home/mijn_gebruiker".
Voer de inhoud in van elk van de volgende regels en al die extra regels die u handig acht om aan de gebruiker te tonen bij het uitvoeren van een gebruikersterminal:
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.: <"$NOMBRE_SISTEMA"> / <"$VERSION_SISTEMA"> "
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\]# "
`
Tweede stap: Bewerk de root .bashrc
Nogmaals met de al gebruikte editor, bewerk het .bashrc-bestand del superuser root die zich binnen het pad /root daarvan moet bevinden.
Voer de inhoud in van elk van de volgende regels en al die extra regels die u handig acht om aan de gebruiker te tonen bij het uitvoeren van een gebruikersterminal:
########################### 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 &> /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\]$ "
Derde stap: Bewerk de root .bashrc
Uitloggen en de terminal. Start het opnieuw en ervaar de veranderingen. Het zou er ongeveer uit moeten zien als de volgende afbeeldingen:
Vierde stap (optioneel): Tweak Alias
Onthoud dat het gebruik van aliassen binnen de .bashrc het kan je ook veel typetijd besparen. Uncommentaar degenen die standaard in de .bashrc komen, zoals:
alias ls='ls $LS_OPTIONS'
<strong>alias ll='ls $LS_OPTIONS -l'
<strong>alias l='ls $LS_OPTIONS -lA'
alias rm='rm -i'
En voeg degene toe die u nodig acht, aangezien dit veelgebruikte opdrachten zijn, zoals:
alias cc='clear'
Het is belangrijk om op een autodidactische manier meer te leren variabelen, aliassen, de .bashrc en de taal bash shell voor een meer geavanceerd niveau van de terminal. Hetzelfde kan worden bereikt bij het starten van externe sessies via ssh, wat we later in toekomstige berichten zullen zien.
Ik hoop dat deze kleintjes "Tips" maken het gemakkelijk voor hen om eenvoudige maar nuttige optimalisaties uit te voeren, die over het algemeen alleen zijn voorbehouden aan mensen die experts zijn in Technologie, computers, gratis software en GNU / Linux.
HERINNERING: Als een opdrachtregel niet wordt uitgevoerd of de juiste waarde weergeeft, moet u elke sectie van de opdrachtprompt handmatig testen om te proberen de waarden of syntaxis van sommige variabelen aan te passen.
Aliassen is het beste. Sommige die standaard in bashrc zitten, lijken me niet slecht: la (ls -a) en ll (ls -l). Aan de laatste voeg ik de parameter -h toe.
Andere handige aliassen:
s = 'sudo'
cd1 = 'cd..'
cd2 = 'cd ../..'
rmd = 'rm -r' (ik gebruik het om mappen met bestanden te verwijderen)
afsluiten = 'sudo afsluiten -h nu'
del = 'trash-put' (verplaats bestanden naar de prullenbak, opdracht trash-cli-pakket)
Sinds ik deze alias vorig jaar op Reddit zag, is het mijn favoriet:
alias fuck='sudo $(geschiedenis -p !!)'
Het artikel en het uiterlijk dat het aan de console geeft, is erg goed. Enkele bijdragen:
– In ubuntu kunnen de aliassen in een apart bestand (.bash_aliases) in de rest van de distributies worden geplaatst. Ik weet het niet, maar het doet het door de volgende regels toe te voegen in .bashrc:
if [-f ~ / .bash_aliases]; vervolgens
. ~ / .bash_aliases
fi
Dit maakt het mogelijk om de aliassen meer geordend te hebben en voor vergeetachtige mensen zoals ik kan deze alias toevoegen die het bestand toont met de aliassen:
aliassen lsalias='meer ~/.bash_aliassen'
- Ik heb ook een tekstbestand met zelden gebruikte commando's (die ik me meestal niet herinner) genaamd commandos_utiles.txt en ik vermeld het met de volgende alias: alias cutil='more ~/commandos_utiles.txt'
– Meer aliassen die ik gebruik:
alias cdu='cd ~'
alias lof='ls -lSr |more' # Toon bestanden in detail gesorteerd op grootte
alias lod='du -sk * | sort -rn' # Toon mappen gesorteerd op grootte
alias deo='du -sh' # Schat de ruimte in die wordt ingenomen door de aangegeven map
alias psa='ps -eafw | meer' # Toon alle processen met meer
alias psg='ps -eafw | grep' # Geef het aangegeven proces weer
– Eindelijk een alternatief voor gebruikers dat ik heb gemaakt:
SYSTEM_NAME=$(cat /etc/os-release | grep NAME | grep -v "VERSION" | sed -n '1p' | cut -f2 -d\")
SYSTEM_VERSION=$(cat /etc/os-release | grep VERSION= | sed -n '1p' | sed 's/VERSION=//' | sed 's/»//g')
CPU_MANUFACTURER=$(grep "vendor_id" /proc/cpuinfo | sed q | awk '{print $3}')
CPU_MODEL=$(grep "modelnaam" /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
)CPU_NUCLEO=$(grep "cpu-kernen" /proc/cpuinfo | sed q | awk '{print $4}')
CACHE_CPU=$(grep "cache size" /proc/cpuinfo | sed q | cut -d ":" -f 2 | awk '{print $0}')
USER_DATA=$(du -sh ~ | sorteer -r | awk '{print $1}')
duidelijk
printf %130s |tr » » «=»
gooide uit ""
echo "DATUM: "
date +%c --date='+1 year'
echo "KERNEL: "
uname -o
» <«uname -r
«> <«uname -m
«> »echo "DISTRIBUTION: "$SYSTEM_NAME" "$SYSTEM_VERSION" "
echo "CPU: "$CPU_MODELO", "$CPU_NUCLEO" Kernen, "$CACHE_CPU" Cache"
echo "RUIMTE GEBRUIKT: "$DATA_USER
printf %130s |tr » » «=»
gooide uit ""
############################
echo "NUTTIGE COMMANDO'S: "
echo » – Installeer RPM in DEB-pakketsysteem: alien -c -i pakket.rpm»
echo » – Gebruiker en bestandsgroep recursief wijzigen: chown -hR gebruiker:groep [bestand of map]»
echo » – Machtigingen voor het bewaren van kopieën: cp -ax source destination»
echo » – Toon actieve opslagplaatsen: grep -i ppa.launchpad.net /etc/apt/sources.list.d/*.list»
echo » – Voeg een repository toe: apt-add-repository ppa:repository»
echo "- OM MEER COMMANDO'S TE ZIEN cutil"
echo » – TO TONEN ALIASES lsalias »
printf %130s |tr » » «=»
gooide uit ""
gooide uit ""
#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]# «
Waarom schrijf je niet je eigen artikel?
DIT ZIJN DE TUTORIALS DIE IK GRAAG HOUD!!!!!!
Nou, ik ben erg blij dat je het leuk vond en serveerde!
Morgen hoop ik weer een artikel te publiceren! Oorbellen.
Groeten en oneindige dankbaarheid voor het delen van deze informatie.
Ik heb niet veel kennis over GNU/Linux-beheer (ik ben gewoon een empirische en nieuwsgierige gebruiker zonder academische opleiding), maar ik herinner me dat ik op een website las over beveiligingsproblemen met privilege-escalatie; sommige commando's en pijpen in het .bashrc-script, lijkt het mij het werk van een hacker of cracker te vergemakkelijken.
Respectvol en zeer dankbaar.
Met Shell Scripting is het optimaliseren van de terminal eenvoudig, kijk hoe ver je kunt gaan door een goede Shell Scripting uit te voeren.
LPI-SB8 Test ScreenCast (LINUX POST INSTALLEREN - SCRIPT BICENTENARIO 8.0.0)
(lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)
Zie Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY
Geweldige tutorial! Elk boek dat je op linux aanbeveelt om shell-scripting, configuraties, serverbeveiliging goed te leren? Bedankt