Cos'è un alias
Un alias è una notazione di shell abbreviata che consente di personalizzare e abbreviare i comandi. Gli alias sono disponibili in tutte le shell. Una sintassi comune per definire un alias sulla riga di comando è la seguente:
$ alias name=command_string
Se la prima parola sulla riga di comando è un alias, la shell sostituisce quella parola con il testo dell'alias. La shell mantiene un elenco di alias che cerca quando viene immesso un comando. Durante la creazione di un alias si applicano le seguenti regole:
- Non può esserci spazio su entrambi i lati del segno di uguale.
- La stringa di comando deve essere tra virgolette se include opzioni, metacaratteri o spazi.
- Ogni comando in un singolo alias deve essere separato da un punto e virgola.
Sequenza dei comandi
Puoi raggruppare più comandi sotto un unico nome alias. I singoli comandi sono separati da punto e virgola. Ad esempio:
$ alias info='uname -s; id; date'
Linux uid=1001(user) gid=1001(user) Tue Dec 5 15:11:58 UTC 2017
Nell'esempio seguente, viene creato un alias utilizzando una pipe (|) per indirizzare l'output del comando ls -l al comando more. Quando viene richiamato il nuovo alias, viene visualizzato un elenco di directory.
$ 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--
Alias predefiniti
La shell contiene diversi alias predefiniti. È possibile visualizzare questi alias predefiniti utilizzando il comando alias. Ad esempio:
$ 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'Nota :Il comando alias visualizza anche gli alias definiti dall'utente.
Alias definiti dall'utente
Gli alias definiti dall'utente sono definiti da un utente, in genere per abbreviare o personalizzare i comandi utilizzati di frequente. Ad esempio, il comando history ha l'alias h usando il comando alias nel codice seguente:
$ 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
Usando il rm , cp e mv i comandi possono inavvertitamente causare la perdita di dati. Per precauzione, puoi alias questi comandi con l'opzione interattiva. Ad esempio, il comando rm è alias con –i opzione così codificata:
$ alias rm='rm -i' $ rm file1 rm: remove file1: (yes/no)? no
Allo stesso modo, creando un 'cp -i ' e 'mv -i ' alias assicura che la shell richieda conferma prima di sovrascrivere i file esistenti.
Disattivazione di un alias
Puoi disattivare temporaneamente un alias inserendo una barra rovesciata (\) davanti all'alias sulla riga di comando. Ad esempio, nel codice seguente, la barra rovesciata impedisce alla shell di cercare nell'elenco di alias. Ciò consente alla shell di eseguire il comando rm originale per rimuovere il file file1.
$ rm file1 rm: remove file1 (yes/no)? no
$ \rm file1 $ ls file1 file1: No such file or directory
O se l'alias come h per la cronologia darebbe un errore come di seguito se usi la barra rovesciata.
$ \h -bash: h: command not found
Rimozione di un alias
Il comando unalias rimuove gli alias dall'elenco degli alias.
$ unalias alias_name
Ad esempio, l'alias h creato in precedenza viene rimosso utilizzando il comando unalias.
$ unalias h
$ h -bash: h: command not foundEsempi di creazione di alias di comando in diverse shell