Con il primo metodo non si sta creando un alias, si sta creando un collegamento simbolico. I collegamenti simbolici sono abbreviati per collegamenti simbolici:
I collegamenti simbolici sono file che fungono da puntatori ad altri file. [...] Un collegamento simbolico è un tipo speciale di file il cui contenuto è una stringa che corrisponde al percorso di un altro file, il file a cui fa riferimento il collegamento. In altre parole, un collegamento simbolico è un puntatore a un altro nome e non a un oggetto sottostante.
Maggiori informazioni sui link simbolici qui e qui .
Solo con il secondo metodo, infatti, stai creando un alias.
Gli alias consentono di sostituire una stringa con una parola quando viene utilizzata come prima parola di un semplice comando. La shell mantiene un elenco di alias che possono essere impostati e non impostati con i comandi integrati alias e unalias (vedere COMANDI INCORPORATI SHELL di seguito). La prima parola di ogni semplice comando, se non quotata, viene controllata per vedere se ha un alias. In tal caso, tale parola è sostituita dal testo dell'alias.
È possibile definire un alias ovunque in cui è possibile digitare un comando e fare in modo che la shell ( bash in questo caso) lo interpreti, tuttavia, affinché l'alias sia disponibile in altre shell, deve essere definito in un file interpretato dalla shell all'avvio (avvio della shell, non avvio del computer).
Per bash questi sono /etc/bash.bashrc
(a livello di sistema) e ~/.bashrc
. Questi file vengono interpretati all'avvio della shell in modalità interattiva (come quando si utilizza Terminal
). Non parlerò dei file di profilo perché hanno uno scopo diverso.
Quindi, vuoi aggiungere i tuoi alias per ~/.bashrc
renderli disponibili in ogni shell interattiva.
Il .bash_aliases
metodo realizza esattamente la stessa cosa che inserire gli alias ~/.bashrc
ma ha l'ulteriore vantaggio di essere più facile da analizzare e manipolare dai programmi.
La . ~/.bash_aliases
fonte dei mezzi (carico) _~/.bash_aliases_
nel contesto della shell attualmente in esecuzione.