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

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

Zatím jsme v tomto výukovém sérii diskutovali o základním použití a souvisejících detailech cd - a pushd/popd příkazy, stejně jako CDPATH proměnná prostředí. V této čtvrté a závěrečné splátce budeme diskutovat o konceptu aliasů a také o tom, jak je můžete použít k tomu, aby navigace na vašem příkazovém řádku usnadnila a hladší.

Jako vždy, před skokem do srdce tutoriálu, stojí za to sdílet, že všechny instrukce a příklady uvedené v tomto článku byly testovány na Ubuntu 14.04LTS. Použili jsme shell příkazového řádku bash (verze 4.3.11).

Aljasy příkazového řádku v systému Linux

V laických termínech, aliasy mohou být myšlenky jako krátké názvy nebo zkratky ke komplexnímu příkazu nebo skupině příkazů, včetně jejich argumentů nebo možností. Takže v podstatě, s aliasy, vytvoříte snadno zapamatovatelná jména pro ne-tak-snadno-to-typ / pamatovat příkazy.

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

alias home = "cd ~"

To znamená, že nyní můžete rychle napsat 'home' a stisknout enter, kdykoliv se budete chtít vrátit do svého domovského adresáře z libovolného místa v systému.

Zde je to, co o této utilitě říká mužská stránka příkazu alias:

Nástroj alias vytvoří nebo znovu definuje definice aliasů nebo zapíše hodnoty existujících definic aliasu na standardní výstup. Definice aliasu obsahuje hodnotu řetězce, která nahradí název příkazu, když se vyskytuje. Definice aliasu ovlivní aktuální prostředí prostředí pro vytváření prostředí a prostředí pro provedení subshellů aktuálního prostředí. Pokud se použije podle tohoto svazku IEEE Std 1003.1-2001, definice aliasu neovlivní rodičovský proces aktuálního shellu ani žádné prostředí nástroje vyvolané shellem.

Jak tedy přesně pomáhají aliasy v navigaci příkazového řádku? Tady je jednoduchý příklad:

Předpokládejme, že pracujete v / home / himanshu / projekty / howtoforge který dále obsahuje mnoho podadresářů a podadresářů. Například následující je jedna kompletní adresář větev:

/ home / himanshu / projekty / howtoforge / příkaz-line / navigace / tipy-triky / 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 bys dělal?

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

cd ../ ..

cd ../../ ..

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

Co můžete udělat, je, že můžete vytvářet snadno zapamatovatelné (a typové) aliasy pro každý z nich 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 chcete vrátit, řekněte 5 místa, z aktuálního pracovního adresáře můžete spustit následující příkaz:

bk5

Není to teď tak snadné?

Související podrobnosti

Zatímco technika, kterou jsme použili k definování aliasu doposud (pomocí příkazu alias) na výzvě shellu, dělá trik, aliasy existují pouze pro aktuální relaci terminálu. Existují dobré šance, že chcete, aby aliasy definované vámi vydržely, aby mohly být použity v jakémkoliv novém okně terminálu / záložce příkazového řádku, které poté spustíte.

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

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

# Definice aliasu.
# Možná budete chtít přidat všechny dodatky do samostatného souboru, jako je
# ~ / .bash_aliases namísto jejich přímého přidání.
# Viz / usr / share / doc / bash-doc / příklady v balíčku bash-doc.
pokud [-f ~ / .bash_aliases]; pak . ~ / .bash_aliases fi

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

zdroj ~ / .bashrc

Pokud to zní trochu moc práce (ano, dívám se na vás LAZY ONES), pak je zde zkratka, která to všechno provede:

„Alias ​​[alias]“ >> ~ / .bash_aliases && source ~ / .bash_aliases

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

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

Pohybujeme se dál, teď předpokládejme, že jste vytvořili nějaké aliasy a používáte je několik měsíců. Najednou, jednoho dne, pochybujete, že jeden z nich nefunguje podle očekávání. Takže cítíte potřebu podívat se na přesný příkaz, který byl tomuto aliasu přiřazen. Co bys dělal?

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ý, zejména když soubor obsahuje mnoho aliasu. Takže, pokud hledáte snadnou cestu ven, tady je jedna: vše, co musíte udělat, je spustit přezdívka příkaz s názvem alias-name jako argument.

Zde je příklad:

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

Jak vidíte, výše uvedený příkaz zobrazoval aktuální příkaz přiřazený aliasu bk6. Je tu ještě jeden způsob: použít typ příkaz. Následuje příklad:

$ typ bk6
bk6 je přidělen na `cd ../../../../../ .. '

Takže příkaz type produkuje více lidsky srozumitelný výstup.

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

alias mroe = 'více'

Konečně stojí za zmínku také to, že ne všichni jsou nakloněni používání aliasu. Většina z nich tvrdí, že jakmile si zvyknete na aliasy, které definujete pro vaši snadnost, je pro vás obtížné pracovat na nějakém jiném systému, kde tyto aliasy neexistují (a není dovoleno vytvářet žádné další). . Pro více (stejně jako přesné důvody), proč někteří odborníci nedoporučují používat aliasy, se můžete vydat na hlavu zde.

Proč investovat do čističky vzduchu?

Stejně jako proměnná prostředí CDPATH, o které jsme hovořili v předcházející části, je alias také dvojitým mečem, který by měl být používán velmi opatrně. Nenechte se však odradit, protože vše má své vlastní 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 to 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.

Zdroj