Forstå Shell-kommandoer enkelt ved å bruke "Explain Shell"-skriptet i Linux
Mens vi jobber på Linux-plattformen trenger vi alle hjelp med skallkommandoer, på et tidspunkt. Selv om innebygd hjelp som man pages, whatis-kommandoen er nyttig, men man pages-utdata er for lange og inntil og med mindre man har litt erfaring med Linux, er det veldig vanskelig å få all hjelp fra massive man-sider. Utdata fra whatis-kommandoen er sjelden mer enn én linje som ikke er tilstrekkelig for nybegynnere.
Det er tredjepartsapplikasjoner som "cheat", som vi har dekket her "Commandline Cheat Sheet for Linux-brukere. Selv om Cheat er en usedvanlig god applikasjon som viser hjelp på shell-kommando selv når datamaskinen ikke er koblet til Internett, viser den hjelp på forhåndsdefinerte kommandoer.
Det er et lite stykke kode skrevet av Jackson som er i stand til å forklare skallkommandoer i bash-skallet veldig effektivt og gjett hva det beste er at du ikke trenger å installere noen tredjepartspakke. Han kalte filen som inneholder denne kodebiten 'explain.sh'
.
Funksjoner i Explain Utility
- Enkel kodeinnbygging.
- Ingen tredjepartsverktøy må installeres.
- Gi akkurat nok informasjon i løpet av forklaringen.
- Krever internettforbindelse for å fungere.
- Rent kommandolinjeverktøy.
- Kunne forklare de fleste shell-kommandoene i bash shell.
- Ingen root-kontoinvolvering kreves.
Forutsetning
Det eneste kravet er pakken 'curl'
. I de fleste av dagens nyeste Linux-distribusjoner kommer curl-pakken forhåndsinstallert, hvis ikke kan du installere den ved å bruke pakkebehandling som vist nedenfor.
apt-get install curl [On Debian systems]
yum install curl [On CentOS systems]
Installasjon av explain.sh Utility i Linux
Vi må sette inn koden nedenfor slik den er i ~/.bashrc
-filen. Koden skal settes inn for hver bruker og hver .bashrc
-fil. Det foreslås å sette inn koden kun i brukerens .bashrc-fil og ikke i .bashrc til root-brukeren.
Legg merke til at den første linjen med kode som starter med hash (#)
er valgfri og lagt til bare for å skille resten av kodene til .bashrc.
# explain.sh markerer begynnelsen av kodene, vi setter inn .bashrc-filen nederst i denne filen.
explain.sh begins
explain () {
if [ "$#" -eq 0 ]; then
while read -p "Command: " cmd; do
curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$cmd"
done
echo "Bye!"
elif [ "$#" -eq 1 ]; then
curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$1"
else
echo "Usage"
echo "explain interactive mode."
echo "explain 'cmd -o | ...' one quoted command to explain it."
fi
}
Fungerer av explain.sh Utility
Etter at du har satt inn koden og lagret den, må du logge ut av den gjeldende økten og logge på igjen for å gjøre endringene tre i kraft. Alt blir tatt hånd om av 'curl'-kommandoen som overfører inngangskommandoen og flagget som trenger forklaring til mankier-serveren og deretter skriver ut akkurat nødvendig informasjon til Linux-kommandoen -linje. For ikke å snakke om å bruke dette verktøyet, må du alltid være koblet til internett.
La oss teste noen eksempler på kommandoer som jeg ikke vet betydningen av med explain.sh-skriptet.
1. Jeg har glemt hva «du -h» gjør. Alt jeg trenger å gjøre er:
explain 'du -h'
2. Hvis du har glemt hva «tar -zxvf» gjør, kan du ganske enkelt gjøre:
explain 'tar -zxvf'
3. En av vennene mine forveksler ofte bruken av «hva er» og «hvor er»-kommandoen, så jeg rådet ham.
Gå til interaktiv modus ved ganske enkelt å skrive kommandoen forklar på terminalen.
explain
og skriv deretter kommandoene etter hverandre for å se hva de gjør i ett vindu, som:
Command: whatis
Command: whereis
For å avslutte interaktiv modus trenger han bare å gjøre Ctrl + c.
4. Du kan be om å forklare mer enn én kommando lenket av pipeline.
explain 'ls -l | grep -i Desktop'
På samme måte kan du be skallet ditt om å forklare en hvilken som helst shell-kommando. Alt du trenger er en fungerende Internett-tilkobling. Utdataene genereres basert på forklaringen som trengs fra serveren, og utdataresultatet kan derfor ikke tilpasses.
For meg er dette verktøyet veldig nyttig, og det har vært en ære å bli lagt til .bashrc. Fortell meg hva du synes om dette prosjektet? Hvordan kan det være nyttig for deg? Er forklaringen tilfredsstillende?
Gi oss din verdifulle tilbakemelding i kommentarene nedenfor. Lik og del oss og hjelp oss med å spre oss.