Forskellige måder at oprette og bruge Bash-aliasser på Linux
Alias in bash kan betegnes som en kommando eller en genvej, der kører en anden kommando/et program. Alias er meget nyttigt, når vores kommando er meget lang og for ofte anvendte kommandoer. I løbet af denne artikel vil vi se, hvor kraftigt et alias er, og de forskellige måder at oprette et alias på og bruge det.
Tjek Bash Aliases i Linux
Alias er en shell-indbygget kommando, og du kan bekræfte det ved at køre:
$ type -a alias alias is a shell builtin
Før vi hopper og opretter et alias, ser vi de involverede konfigurationsfiler. Et alias kan indstilles enten på “brugerniveau” eller “systemniveau”.
Påkald din shell, og skriv blot "alias" for at se listen over definerede alias.
$ alias
Aliaser på brugerniveau kan defineres enten i .bashrc-filen eller .bash_aliases-filen. .Bash_aliases-filen er at gruppere alle dine aliaser i en separat fil i stedet for at placere den i .bashrc-filen sammen med andre parametre. Oprindeligt vil .bash_aliases ikke være tilgængelige, og vi er nødt til at oprette det.
$ ls -la ~ | grep -i .bash_aliases # Check if file is available $ touch ~/.bash_aliases # Create empty alias file
Åbn .bashrc-filen, og se efter det følgende afsnit. Dette afsnit af kode er ansvarlig for at kontrollere, om filen .bash_aliases er til stede under brugerens hjemmemappe og indlæse den, når du starter en ny terminalsession.
# Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
Du kan også oprette en brugerdefineret aliasfil under ethvert bibliotek og tilføje definition i enten .bashrc eller .profile for at indlæse den. Men jeg foretrækker ikke dette, og jeg vælger at holde fast ved at gruppere alle mine alias under .bash_aliases.
Du kan også tilføje aliasser under .bashrc-filen. Hold øje med alias sektionen under .bashrc filen, hvor den kommer med nogle foruddefinerede aliaser.
# enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi # colored GCC warnings and errors #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' # some more ls aliases alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' # Add an "alert" alias for long running commands. Use like so: # sleep 10; alert alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
Oprettelse af alias i Linux
Du kan enten oprette et midlertidigt alias, der kun gemmes til din nuværende session og vil blive ødelagt, når din nuværende session slutter, eller permanent alias, som vil være vedvarende.
Syntaksen til oprettelse af et alias i Linux.
$ alias <name-of-the-command>="command to run"
For eksempel i et ægte scenario.
$ alias Hello="echo welcome to Tecmint"
Åbn terminalen, og opret den ønskede aliaskommando. Hvis du åbner en anden session, vil det nyoprettede alias ikke være tilgængeligt.
$ alias Hello"echo welcome to Tecmint" $ alias $ Hello
For at gøre aliaset vedvarende skal du føje det til .bash_aliases-filen. Du kan bruge din yndlings teksteditor eller bruge kommandoen cat eller echo til at tilføje et alias.
$ echo alias nf="neofetch" >> ~/.bash_aliases $ cat >> ~/.bash_aliases $ cat ~/.bash_aliases
Du skal genindlæse .bash_aliases-filen for at ændringerne skal være effektive i den aktuelle session.
$ source ~/.bash_aliases
Hvis jeg nu kører "nf", som er et alias for "neofetch", vil det udløse neofetch-programmet.
$ nf
Et alias kan være nyttigt, hvis du vil tilsidesætte standardadfærden for en kommando. Til demonstration tager jeg en oppetidskommando, der viser systemets oppetid, antallet af brugere, der er logget ind og gennemsnittet for systembelastning. Nu opretter jeg et alias, der tilsidesætter opetidskommandoens opførsel.
$ uptime $ cat >> ~/.bash_aliases alias uptime="echo 'I am running uptime command now'" $ source ~/.bash_aliases $ uptime
Fra dette eksempel kan du konkludere, at forrang falder til bash-aliasser, før du kontrollerer og påberåber den aktuelle kommando.
$ cat ~/.bash_aliases $ source ~/.bash_aliases $ uptime
Fjernelse af et alias i Linux
Fjern nu oppetidsposten fra .bash_aliases-filen og indlæs .bash_aliases-filen, som stadig udskriver oppetid med alias-definition. Dette skyldes, at aliasdefinitionen er indlæst i den aktuelle shell-session, og vi skal enten starte en ny session eller fjerne aliasdefinitionen ved at køre unalias-kommandoen som vist i nedenstående billede.
$ unalias uptime
Tilføjelse af systemomspændende aliasser
Indtil dette tidspunkt har vi set, hvordan man opretter et alias på brugerniveau. For at indstille et alias globalt kan du ændre “/etc/bash.bashrc” -filen og tilføje aliaser, som vil være effektive globalt. Du skal have det forhøjede privilegium til at ændre bash.bashrc-filen.
Alternativt kan du oprette et script under “/etc/profile.d/”. Når du logger ind på en shell, kører "/ etc/profile" ethvert script under profile.d, før du faktisk kører ~/.profile. Denne metode reducerer risikoen for at ødelægge enten/etc/profile eller /etc/bash.bashrc-filen.
$ sudo cat >> /etc/profile.d/alias.sh alias ls=”ls -ltra”
Nedenfor er koden hentet fra/etc/profilen, der tager sig af at køre alle scripts, som vi lægger under /etc/profiles.d/. Det ser ud til alle filer med .sh
udvidelse og kører kildekommandoen.
$ tail /etc/profile
Det er det for denne artikel. Vi har set hvad der er alias, konfigurationsfilerne involveret i aliaset og forskellige måder at oprette aliaset lokalt og globalt på.