GNU/Linux >> Znalost Linux >  >> Linux

Aliasy příkazového řádku v prostředí Linux

V této sérii výukových programů jsme zatím diskutovali o základním použití a souvisejících podrobnostech cd – a pushd /popd příkazy a také CDPATH proměnná prostředí. V tomto čtvrtém a posledním díle budeme diskutovat o konceptu aliasů a také o tom, jak je můžete použít k usnadnění a plynulejší navigaci v příkazovém řádku.

As always, before jumping on to the heart of the tutorial, it's worth sharing that all the instructions as well examples presented in this article have been tested on Ubuntu 14.04LTS. The command line shell we've used is bash (version  4.3.11).

Aliasy příkazového řádku v Linuxu

Laicky lze aliasy chápat jako krátké názvy nebo zkratky složitého příkazu nebo skupiny příkazů, včetně jejich argumentů nebo možností. Takže v podstatě s aliasy vytvoříte snadno zapamatovatelné názvy pro příkazy, které se nedají tak snadno psát/zapamatovat.

Například následující příkaz vytvoří alias 'home' pro příkaz 'cd ~':

alias home="cd ~"

To znamená, že nyní můžete rychle napsat „home“ a stisknout enter, kdykoli se budete chtít vrátit do svého domovského adresáře odkudkoli ve vašem systému.

Zde je to, co o tomto nástroji říká manuálová stránka příkazu alias:

The alias utility shall create or redefine alias definitions or write the values of existing alias definitions to standard output. An alias definition provides a string value that shall replace a command name when it is encountered

An alias definition shall affect the current shell execution environment and the execution environments of the subshells of the current shell. When used as specified by this volume of IEEE Std 1003.1-2001, the alias definition shall not affect the parent process of the current shell nor any utility environment invoked by the shell.

Jak tedy aliasy pomáhají při navigaci v příkazovém řádku? Zde je jednoduchý příklad:

Předpokládejme, že pracujete v /home/himanshu/projects/howtoforge adresář, který dále obsahuje mnoho podadresářů a podadresářů. Následuje například jedna úplná větev adresáře:

/home/himanshu/projects/howtoforge/command-line/navigation/tips-tricks/part4/final

Nyní si představte, že jste v adresáři 'final' a pak se chcete vrátit do adresáře 'tips-tricks' a odtud se musíte vrátit do adresáře 'howtoforge'. Co byste udělali?

Normálně byste spustili následující sadu příkazů:

cd ../..
cd ../../..

I když tento přístup není sám o sobě špatný, rozhodně není vhodný, zvláště když se musíte vrátit, řekněme 5 adresářů na velmi dlouhé cestě. Takže, jaké je řešení? Odpověď zní:aliasy.

Co můžete udělat, je vytvořit snadno zapamatovatelné (a psát) aliasy pro každé z cd .. příkazy. Například:

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

Takže teď, kdykoli se budete chtít vrátit, řekněme o 5 míst, ze svého aktuálního pracovního adresáře, stačí spustit následující příkaz:

bk5

Není to teď snadné?

Zatímco technika, kterou jsme doposud používali k definování aliasů (pomocí příkazu alias) v příkazovém řádku, funguje, aliasy existují pouze pro aktuální relaci terminálu. Je velká šance, že budete chtít, aby vámi definované aliasy zůstaly zachovány, aby je bylo možné použít v každém novém okně/záložce příkazového řádku, které poté spustíte.

K tomu musíte definovat své aliasy v ~/.bash_aliases soubor, který je načten vaším ~/.bashrc soubor ve výchozím nastavení (ověřte si to, pokud používáte starší verzi Ubuntu).

Následuje výňatek z mého souboru .bashrc, který hovoří o souboru .bash_aliases:

# 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

Jakmile do souboru .bash_aliases přidáte definici aliasu, bude tento alias dostupný na každém novém terminálu. Nebudete jej však moci použít v žádném jiném terminálu, který již byl otevřený, když jste tento alias definovali – východiskem je zdroj .bashrc z těchto terminálů. Následuje přesný příkaz, který budete muset spustit:

source ~/.bashrc

Pokud to zní trochu moc práce (ano, dívám se na vás LÍNÍ), pak je zde zkratka, jak to všechno udělat:

"alias [the-alias]" >> ~/.bash_aliases && source ~/.bash_aliases

Netřeba dodávat, že budete muset nahradit [alias] skutečným příkazem. Například:

"alias bk5='cd ../../../../..'" >> ~/.bash_aliases && source ~/.bash_aliases

Nyní předpokládejme, že jste si vytvořili nějaké aliasy a několik měsíců je používáte zapnuté a vypnuté. Najednou jednoho dne zapochybujete, že jeden z nich nefunguje podle očekávání. Máte tedy pocit, že je potřeba podívat se na přesný příkaz, který byl danému aliasu přiřazen. Co byste udělali?

Samozřejmě můžete otevřít svůj soubor .bash_aliases a podívat se tam, ale tento proces může být trochu časově náročný, zvláště když soubor obsahuje mnoho aliasů. Pokud tedy hledáte snadný způsob, jak ven, zde je jeden:vše, co musíte udělat, je spustit alias příkaz s alias-name jako argumentem.

Zde je příklad:

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

Jak můžete vidět, výše uvedený příkaz zobrazil skutečný příkaz přiřazený k aliasu bk6. Existuje ještě jeden způsob:použít typ příkaz. Následuje příklad:

$ type bk6
bk6 is aliased to `cd ../../../../../..'

Příkaz type tedy vytváří lidsky srozumitelnější výstup.

Další věc, kterou zde stojí za to sdílet, je, že pro běžné překlepy, které uděláte, můžete použít aliasy. Například:

alias mroe='more'

Nakonec také stojí za zmínku, že ne každý je pro používání aliasů. Většina z nich tvrdí, že jakmile si zvyknete na aliasy, které si pro svou jednoduchost definujete, bude pro vás opravdu obtížné pracovat na nějakém jiném systému, kde tyto aliasy neexistují (a také si nesmíte žádné vytvářet) . Pro další (a také přesné důvody), proč někteří odborníci nedoporučují používat aliasy, můžete zamířit sem.

Závěr

Stejně jako proměnná prostředí CDPATH, o které jsme hovořili v předchozí části, je alias také dvousečný meč, který je třeba používat velmi opatrně. Nenechte se však odradit, protože vše má své výhody a nevýhody. Právě tato praxe a úplné znalosti jsou klíčem, když se zabýváte pojmy jako aliasy.

Takže toto znamená konec této série tutoriálů. Doufám, že se vám to líbilo a také se z něj naučili nějaké nové věci/koncepty. V případě, že máte nějaké pochybnosti nebo dotazy, podělte se o ně s námi (a se zbytkem světa) v komentářích níže.


Linux
  1. Generujte hesla na příkazovém řádku Linuxu

  2. Zvládněte příkaz Linux ls

  3. Použití síly na příkazovém řádku Linuxu

  1. Mít krávu na příkazovém řádku Linuxu

  2. Přihlaste se do příkazového řádku Linuxu

  3. Jak používat aliasy shellu v Linuxu

  1. 8 tipů pro příkazový řádek Linuxu

  2. Programujte hardware z příkazového řádku Linuxu

  3. Úvod do nástroje goto shell pro Linux