Gjør bash cli enklere å bruke

Gjør bash cli enklere å bruke
Denne opplæringen vil vise deg hvordan du kan tilpasse bash -skallet for å gjøre kommandolinjen enklere og raskere å bruke.

Mål

Mot slutten av denne seesionen vil du kunne:

  • Endre ledeteksten for å vise den gjeldende arbeidskatalogen
  • Sett ledeteksten til en valgt farge
  • Lag og bruk aliaser
  • Lagre tilpasninger som ledeteksten og aliasene
  • Bruk historiefunksjonen
  • Bruk kommando fullføring

Hjemmekatalog - Hjem

Linux bruker et sett med store bokstaver med store bokstaver, snarere som pidgin -hull, som automatisk er befolket, for å lagre informasjon. Den komplette listen kan sees på som følger:

$ sett | mer

Jeg har rørt inn i mer her i stedet for mindre, slik at kommandoen kan sees i skjermdumpen.

Navnet på en brukers hjemmekatalog, vanligvis/hjemme/brukernavn (/home/kdm i min CAE), lagres i miljøvariabelen hjem; Merk at de fleste miljøvariabler er i store bokstaver.

Vi bruker en $ når vi refererer til en miljøvariabel for å spesifisere at det er en

Variabelt navn og ikke en streng. For å se den variable hjemmet Enter:

$ ekko $ hjem

Linux er full av snarveier og karakteren Tilde, ~, er en snarvei til hjemmet. Det kan brukes i stedet:

$ ekko ~

Working Directory - PWD

Kommandoen PWD kan brukes til å finne ut hva som er den gjeldende arbeidskatalogen. Når en bruker logger inn, er dette hjemmekatalogen som definert i /etc/passwd fil. Her viser vi bare de to siste linjene i filen og gjeldende bane for brukeren KDM:

$ hale -2 /etc /passwd
$ pwd

Endre kataloger - CD

Kommando -CDen kan brukes til å endre den gjeldende arbeidskatalogen.

For eksempel for å flytte til rotkatalogen:

$ cd /; pwd
#; Karakter tillater to kommandoer på en linje

Å flytte til katalogen /osv.:

$ cd /etc; pwd

For å flytte tilbake til forrige katalog, bruk kommandoen:

$ CD -

For å flytte tilbake til hjemmekatalogen, bruk kommandoen CD uten noen alternativer:

$ CD; PWD

Kommandoprompt - PS1

Når du bruker CD -kommandoen for å endre kataloger, er det ikke alltid åpenbart hva den gjeldende katalogen er. Bash -skallet gjør at ledeteksten kan tilpasses.

Standard kommandokortet er lagret i en systemvariabel, PS1; Dette er lagt inn i øverste sak. For å se variabelen Enter:

$ ekko $ PS1

Merk at '$' vises er ikke den ledeteksten, men innhold av variabelen!

Følgende spesialtegn kan brukes til å endre ledeteksten:

  • \ S- \ V gjeldende skall og versjon
  • \ W gjeldende arbeidskatalog
  • \ h@\ u vert og brukernavn
  • \ d@\ t gjeldende dato og tid

For eksempel for å sette ledeteksten til gjeldende bruk av skall og versjon:

$ Ps1 = '\ s- \ v:'

Ledeteksten vises nå som Bash-5.0: .

Gjeldende katalog - $ PWD

For å lagre konstant bruk av PWD -kommandoen, kan ledeteksten settes til hele banenavnet til den gjeldende katalogen, et konsept kjent for DOS -brukere. For å gjøre dette, skriv inn følgende nøye i øverste sak:

bash-5,0: ps1 = '$ pwd:'

Hurtig endres til å være den gjeldende arbeidskatalogen, i dette eksemplet

/Hjem/KDM: .

Endre nå kataloger og legg merke til hvordan ledeteksten endres.

/Hjem /KDM: CD /
/: CD /etc
/etc: CD

Vi kan nå se hvilken katalog vi er i uten å bruke PWD -kommandoen.

Legge til farge

En farge, i dette eksemplet gul, kan legges til som følger:

/home/kdm: ps1 = '\ [\ e [01; 33m \] $ pwd: \ [\ 033 [01; 34m \] \ [\ 033 [00m \]' '


Jeg har vanligvis hurtigsettet mitt til den gjeldende katalogen, og reserverer fargen rød (alter 33 til 31 i kommandoen over) for når jeg bruker rot. For at eksemplene skal følge, vil jeg imidlertid gå tilbake til "$" -tegnet.

Sekundær ledetekst ->

Den sekundære ledeteksten er også lagret i en systemvariabel, PS2, også i store bokstaver. For å se denne variabelen Enter:

$ ekko $ ps2

Denne ledeteksten vil bli sett hvis en ufullstendig kommando er lagt inn, for eksempel:

$ ekko “Hei der

I dette eksemplet mangler det andre sitatet symbolet. For å rette opp denne situasjonen, fullfør kommandoen eller angir kontroll & c og legg inn kommandoen på nytt.

Filer eller kataloger?

Når innholdet i en katalog vises, er det ikke alltid åpenbart om oppføringene er filer eller kataloger.

Med alternativet -F, ofte brukt på UNIX -servere, blir oppføringene som vises fulgt av en ekstra karakter. For eksempel, prøv:

$ ls -f

Disse ekstra tegnene inkluderer følgende og betegner:

  • katalog /
  • koblet fil @
  • kjørbar fil *

Linux -systemer støtter fargekoding av kataloger og filer. Farger kan være på som standard. Hvis ikke prøv følgende (bruk en dobbel bindestrek):

$ LS -farger

Disse ekstra fargene inkluderer følgende og betegner:

  • Katalogblått
  • koblet fil cyan
  • kjørbar filgrønn

Skape aliaser

På noen systemer som er nyttige kommandoer som LA, som kjører kommandoen LS -A og LL som kjører kommandoen LS -L er tilgjengelige. Imidlertid, hvis disse kommandoene ikke er tilgjengelige, kan det opprettes et alias for å oppnå samme resultat. Noen aliaser kan defineres automatisk når et skall startes.

Et alias kan opprettes for alle ofte brukte kommandoer. Dette sparer å måtte skrive hele kommandoen og dens alternativer. For eksempel, hvis farger ikke er i bruk med LS:

$ alias ls = 'ls -farge'
$ ls

Disse to eksemplene viser filer i /etc- og /bin -katalogene. Alternativet -D viser bare katalogoppføringer, ikke filene i katalogen:

$ ls -d /bin /y*
$ ls -d /etc /u*

Vanlige aliaser

Comman -aliaser inkluderer følgende for å fjerne, kopiere og flytte kommandoer. Disse aliasene gjør kommandoen interaktive, slik at du kan velge å ta en handling eller ikke:

$ alias rm = 'rm -i'
$ alias cp = 'cp -i'
$ alias mv = 'mv -i'

I eksemplet som vises her, opprettes fire tomme filer. Den første, fil1, blir deretter fjernet. Et alias opprettes deretter for RM og File2 fjernes interaktivt:

Det faktiske kommandonavnet trenger ikke nødvendigvis å brukes til aliasnavnet. Merk at disse eksemplene bruker aliaset til LS opprettet ovenfor:

$ alias la = 'ls -a'
$ alias ll = 'ls -l'
$ la
$ ll

Bruke aliaser

For å vise en liste over aliaser, bruk alias -kommandoen. Det er veldig sannsynlig at du allerede vil ha flere aliaser som standard:

$ alias

En kommando kan påberopes uten bruk av aliaset ved å prefiksere kommandoen med en tilbakeslag, \ . Dette er spesielt nyttig hvis et alias til RM -Jeg eksisterer og du vil fjerne mange filer!

$ ls
$ \ ls

For å fjerne en eller flere kommandoaliaser, bruk:

$ Unalias ll la
$ alias

Lagrer tilpasning

En ulempe når du endrer ledeteksten eller legger til aliaser er at disse innstillingene går tapt når brukeren avslutter økten. Dette problemet kan overvinnes ved å lagre innstillingene i en konfigurert fil. Bash Shell lagrer variabler og aliaser permanent i en av flere skjulte filer, filer som begynner med full stopp.

Her vil jeg bruke Simple Editor Nano (Vim kan brukes i stedet) for å oppdatere den skjulte filen .Bashrc for å konfigurere miljøet.

Jeg har lagt til endringene mine på slutten av filen, har endret ledeteksten og lagt til flere av favorittaliasene mine:

$ nano .Bashrc

For å lagre endringene og avslutte, skriv inn kontroll og x.

Dot -kommandoen - .

Den nye .Bashrc -fil kan testes ved å åpne en ny økt eller ved å logge ut og inn igjen. Som et alternativ kan filen testes slik:

$… Bashrc

Prikken (.) Kommando kjører innholdet i filen i det nåværende skallet.

Kommandohistorikk

Kommandohistorikkfunksjonen opprettholder en liste over nylig brukte kommandoer i filen .bash_history og gir en korthet for å utføre noen av disse kommandoene på nytt.

For å se de siste 10 kommandoene, skriv: Skriv inn:

$ historie 10

For å utføre den siste kommandoen Brukes på nytt !!. For eksempel:

$ head -3 /etc /skygge
$ sudo !!

Rediger kommandolinje

Kontrollnøkler som brukes til å redigere tidligere kommandolinjeoppføringer inkluderer følgende:

  • Kontroll & r omvendt historikksøk
  • Kontroll og en gå til start av linjen
  • Kontroll & E Gå til slutten av linjen
  • Kontroll & G Avbryt søk og gjenopprette original linje

I dette eksemplet bruker jeg kontroll & r (to ganger) for å gjøre et omvendt søk etter hodekommandoen. Trykk på ENTER vil deretter kjøre kommandoen:

Kommando fullføring

I fanen Bash Shell kan kategorien Key Sequence.

For å prøve dette, endres du først til katalogen /bin:

$ cd /bin

Skriv inn følgende kommando men ikke Trykk Enter ennå:

$ ls -l y

Trykk nå på Tab Nøkkel to ganger. En liste over alle filer som starter med tegnet vises.

Legg til tegn til kommandoen for å påkalle et unikt navn, men ikke trykk Enter ennå.

$ ls -l yp

Trykk nå på Tab nøkkel. Kommandoen vil automatisk velge riktig fil.