Kommando linje aliaser i Linux Shell

Kommando linje aliaser i Linux Shell

Indtil videre har vi i denne tutorial-serie diskuteret den grundlæggende brug samt relaterede detaljer af cd - , PUSHD/POPD kommandoer, såvel som CDPATH miljøvariabel. I denne fjerde og den sidste rate vil vi også diskutere begrebet aliaser, hvordan du kan bruge dem til at gøre din kommandolinjevirksomhed lettere og glattere.

Som altid, før du hopper videre til hjertet af selvstudiet, er det værd at dele, at alle instruktioner og eksempler, der er præsenteret i denne artikel, er testet på Ubuntu 14.04LTS. Kommandolinjeshallen, vi har brugt, er bash (version 4.3.11).

Kommando linje aliaser i Linux

I lægmandsbetegnelser kan aliaser betragtes som korte navne eller forkortelser til en kompleks kommando eller en gruppe kommandoer, inklusive deres argumenter eller muligheder. Så dybest set, med aliaser, opretter du nemme at huske navne til ikke-så-let-at-type / husk kommandoer.

For eksempel opretter følgende kommando et alias 'hjem' til kommandoen 'cd ~':

alias home = ”cd ~”

Dette betyder, at du nu hurtigt kan skrive 'hjem' og trykke på enter, når du vil vende tilbage til dit hjemmekatalog hvor som helst på dit system.

Her er, hvad alias-kommandomandssiden siger om dette værktøj:

Alias-hjælpeprogrammet skal oprette eller omdefinere aliasdefinitioner eller skrive værdierne af eksisterende aliasdefinitioner til standardoutput. En aliasdefinition tilvejebringer en strengværdi, der skal erstatte et kommandonavn, når det opstår. En aliasdefinition skal påvirke det aktuelle shell-eksekveringsmiljø og eksekveringsmiljøerne i underskallene i det aktuelle shell. Når det bruges som specificeret af denne lydstyrke af IEEE Std 1003.1-2001, skal aliasdefinitionen ikke påvirke den overordnede proces for det aktuelle shell eller noget nyttemiljø, der påberåbes af shell.

Så hvordan nøjagtige aliaser hjælper med kommandolinjens navigation? Nå, her er et simpelt eksempel:

Antag at du arbejder i / Home / Himanshu / projekter / howtoforge bibliotek, som yderligere indeholder mange undermapper og underunderkataloger. F.eks. Er følgende en komplet mappeafdeling:

/ Home / himanshu / projekter / howtoforge / kommando-line / navigation / tips-tricks / part4 / endelig

Forestil dig nu, at du er i det 'endelige' bibliotek, og så vil du vende tilbage til biblioteket 'tip-tricks', og derfra skal du komme tilbage til 'howtoforge'-biblioteket. Hvad ville du gøre?

Nå, normalt, kører du følgende sæt kommandoer:

cd ../ ..

cd ../../ ..

Selvom denne tilgang ikke i sig selv er forkert, er det bestemt ikke praktisk, især når du skal gå tilbage, siger 5-mapper på en meget lang vej. Så hvad er løsningen? Svaret er: aliaser.

Hvad du kan gøre er, at du kan oprette let at huske (og skrive) aliaser for hver af de cd .. kommandoer. For eksempel:

alias bk1 = ”cd ..”
alias bk2 = ”cd ../ ..”
alias bk3 = ”cd ../../ ..”
alias bk4 = ”cd ../../../ ..”
alias bk5 = ”cd ../../../../ ..”

Så nu, når du vil gå tilbage, siger 5 steder, fra din nuværende arbejdsmappe, kan du bare køre følgende kommando:

bk5

Er det ikke så let nu?

Beslægtede oplysninger

Mens den teknik, vi har brugt til at definere aliaser indtil videre (ved hjælp af kommandoen alias) på shell-prompten, gør susen, eksisterer aliaserne kun for den aktuelle terminalsession. Der er gode chancer for, at du måske ønsker, at aliaser, der er defineret af dig, fortsætter, så de kan bruges i ethvert nyt kommandolinjeterminalvindue / -fane, du derefter starter.

Til dette skal du definere dine aliaser i ~ / .bash_aliases fil, som er indlæst af din ~ / .bashrc fil som standard (vær venlig at bekræfte dette, hvis du bruger en ældre Ubuntu-version).

Følgende er uddraget fra min .bashrc-fil, der snakker om filen .bash_aliases:

# Alias ​​definitioner.
# Du vil måske sætte alle dine tilføjelser i en separat fil som
# ~ / .bash_aliases, i stedet for at tilføje dem her direkte.
# Se / usr / share / doc / bash-doc / eksempler i bash-doc-pakken.
hvis [-f ~ / .bash_aliases]; derefter . ~ / .bash_aliases fi

Når du har tilføjet en aliasdefinition til din .bash_aliases-fil, vil dette alias være tilgængeligt på enhver ny terminal. Du vil dog ikke kunne bruge den i nogen anden terminal, der allerede var åben, da du definerede det alias - vejen ud er at kilde .bashrc fra disse terminaler. Følgende er den nøjagtige kommando, du skal køre:

kilde ~ / .bashrc

Hvis det lyder lidt for meget af arbejde (ja, jeg ser på dig LAZY ONES), så er her en genvej til at gøre alt dette:

“Alias ​​[the-alias]” >> ~ / .bash_aliases && source ~ / .bash_aliases

Det er overflødigt at sige, at du bliver nødt til at erstatte [aliaset] med den aktuelle kommando. For eksempel:

“Alias ​​bk5 = 'cd ../../../../ ..'” >> ~ / .bash_aliases && source ~ / .bash_aliases

Gå videre, antag nu, at du har oprettet nogle aliasser, og har brugt dem til og fra i et par måneder. Pludselig, en dag, tvivler du på, at en af ​​dem ikke fungerer som forventet. Så du føler behov for at se på den nøjagtige kommando, der blev tildelt det alias. Hvad ville du gøre?

Naturligvis kan du åbne din .bash_aliases-fil og kigge der, men denne proces kan være lidt tidskrævende, især når filen indeholder en masse aliaser. Så hvis du leder efter en nem udvej, er her en: alt hvad du skal gøre er at køre alias kommando med alias-navnet som argument.

Her er et eksempel:

$ alias bk6
alias bk6 = 'cd ../../../../../ ..'

Som du kan se, viste ovennævnte kommando den aktuelle kommando tildelt til bk6-aliaset. Der er endnu en måde: at bruge typen kommando. Følgende er et eksempel:

$ type bk6
bk6 er aliaset til `cd ../../../../../ .. '

Så skriver kommandoen en mere menneskelig forståelig produktion.

En anden ting værd at dele her er, at du kan bruge aliaser til de fælles typografier, du laver. For eksempel:

alias mroe = 'mere'

Endelig er det også værd at nævne, at ikke alle er for at bruge aliaser. De fleste af dem hævder, at når du først er vant til de aliaser, du definerer for din lethed, bliver det virkelig vanskeligt for dig at arbejde på et andet system, hvor disse aliaser ikke findes (og du har heller ikke lov til at oprette nogen) . For flere (såvel som præcise årsager), hvorfor nogle eksperter ikke anbefaler at bruge aliaser, kan du gå i spidsen her.

Konklusion

Som CDPATH-miljøvariablen, som vi diskuterede i den foregående del, er alias også et dobbeltkantet sværd, som man skal bruge meget forsigtigt. Bliv dog ikke modløs, da alt har sine egne fordele og ulemper. Bare denne praksis og komplet viden er nøglen, når du beskæftiger dig med begreber som aliaser.

Så dette markerer afslutningen på denne selvstudieserie. Håber du nød det og lærte nogle nye ting/koncepter fra det.

Kilde