Co je to alias
Alias je zkrácený zápis shellu, který vám umožňuje upravovat a zkracovat příkazy. Aliasy jsou dostupné ve všech shellech. Běžná syntaxe pro definování aliasu na příkazovém řádku je následující:
$ alias name=command_string
Pokud je první slovo na příkazovém řádku alias, shell toto slovo nahradí textem aliasu. Shell udržuje seznam aliasů, které prohledává při zadání příkazu. Při vytváření aliasu platí následující pravidla:
- Na žádné straně rovnítka nesmí být mezera.
- Řetězec příkazu musí být v uvozovkách, pokud obsahuje nějaké možnosti, metaznaky nebo mezery.
- Každý příkaz v jednom aliasu musí být oddělen středníkem.
Posloupnost příkazů
Můžete seskupit několik příkazů pod jeden alias. Jednotlivé příkazy jsou odděleny středníky. Například:
$ alias info='uname -s; id; date'
Linux uid=1001(user) gid=1001(user) Tue Dec 5 15:11:58 UTC 2017
V následujícím příkladu je alias vytvořen pomocí svislé čáry (|), která přesměruje výstup příkazu ls -l na příkaz more. Po vyvolání nového aliasu se zobrazí seznam adresářů.
$ alias ll='ls -l | more'
$ cd /usr/bin $ ll total 121528 -rwxr-xr-x. 1 root root 41496 Nov 5 2016 [ -rwxr-xr-x. 1 root root 107856 Aug 2 17:46 a2p -rwxr-xr-x. 1 root root 52640 Oct 19 20:40 ab -rwxr-xr-x. 1 root root 29112 Sep 6 16:47 addr2line -rwxr-xr-x. 1 root root 29 Sep 6 16:25 alias -rwxr-xr-x. 1 root root 12930120 Oct 25 18:22 amazon-ssm-agent -rwxr-xr-x. 1 root root 7200 Jun 16 2016 animate lrwxrwxrwx. 1 root root 6 Sep 29 2014 apropos -> whatis -rwxr-xr-x. 1 root root 62680 Sep 6 16:47 ar ... --More--
Předdefinované aliasy
Shell obsahuje několik předdefinovaných aliasů. Tyto předdefinované aliasy můžete zobrazit pomocí příkazu alias. Například:
$ alias alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias info='uname -s; id; date' alias l.='ls -d .* --color=auto' alias ll='ls -l | more' alias ls='ls --color=auto' alias vi='vim' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'Poznámka :Příkaz alias také zobrazí uživatelem definované aliasy.
Uživatelsky definované aliasy
Uživatelsky definované aliasy jsou definovány uživatelem, obvykle ke zkrácení nebo přizpůsobení často používaných příkazů. Například příkaz history má alias jako h pomocí příkazu alias v následujícím kódu:
$ alias h=history ... 46 cd /usr 47 ls -lrt 48 cd 49 cd /usr/bin 50 ll 51 clear 52 alias 53 alias h=history 54 h
Pomocí rm , cp a mv příkazy mohou neúmyslně vést ke ztrátě dat. Jako preventivní opatření můžete tyto příkazy aliasovat pomocí interaktivní možnosti. Například příkaz rm má alias s –i možnost, jak je kódováno následovně:
$ alias rm='rm -i' $ rm file1 rm: remove file1: (yes/no)? no
Podobně vytvoření „cp -i ‘ a ‘mv -i ‘ alias zajišťuje, že vás shell vyzve k potvrzení před přepsáním existujících souborů.
Deaktivace aliasu
Alias můžete dočasně deaktivovat umístěním zpětného lomítka (\) před alias na příkazovém řádku. Například v následujícím kódu zpětné lomítko brání shellu v hledání v seznamu aliasů. To umožňuje shellu spustit původní příkaz rm k odstranění souboru file1.
$ rm file1 rm: remove file1 (yes/no)? no
$ \rm file1 $ ls file1 file1: No such file or directory
Nebo pokud by alias jako h pro historii zobrazil chybu, jak je uvedeno níže, pokud použijete zpětné lomítko.
$ \h -bash: h: command not found
Odebrání aliasu
Příkaz unalias odstraní aliasy ze seznamu aliasů.
$ unalias alias_name
Například h alias, který byl vytvořen dříve, je odstraněn pomocí příkazu unalias.
$ unalias h
$ h -bash: h: command not foundPříklady vytvoření aliasu příkazu v různých shellech