GNU/Linux >> Linux Esercitazione >  >> Linux

Alias ​​della riga di comando nella shell di Linux

Finora, in questa serie di tutorial, abbiamo discusso l'utilizzo di base e i relativi dettagli del cd - e pushd /popd comandi, nonché CDPATH variabile d'ambiente. In questa quarta e ultima puntata, discuteremo il concetto di alias e come puoi usarli per rendere la navigazione da riga di comando più semplice e agevole.

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).

Alias ​​della riga di comando in Linux

In parole povere, gli alias possono essere pensati come nomi brevi o abbreviazioni di un comando complesso o di un gruppo di comandi, inclusi i loro argomenti o opzioni. Quindi, in pratica, con gli alias, crei nomi facili da ricordare per comandi non così facili da digitare/ricordare.

Ad esempio, il comando seguente crea un alias 'home' per il comando 'cd ~':

alias home="cd ~"

Ciò significa che ora puoi digitare rapidamente "home" e premere invio ogni volta che vuoi tornare alla tua directory home da qualsiasi punto del tuo sistema.

Ecco cosa dice la pagina man del comando alias su questa utility:

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.

Quindi, in che modo esattamente gli alias aiutano nella navigazione della riga di comando? Bene, ecco un semplice esempio:

Supponiamo che tu stia lavorando in /home/himanshu/projects/howtoforge directory, che contiene inoltre molte sottodirectory e sottodirectory. Ad esempio, di seguito è riportato un ramo di directory completo:

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

Ora immagina di essere nella directory 'finale', e poi vuoi tornare alla directory 'tips-tricks', e da lì, devi tornare alla directory 'howtoforge'. Cosa faresti?

Bene, normalmente, eseguiresti il ​​seguente set di comandi:

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

Anche se questo approccio non è di per sé sbagliato, non è sicuramente conveniente, specialmente quando devi tornare indietro, diciamo 5 directory in un percorso molto lungo. Allora, qual è la soluzione? La risposta è:alias.

Quello che puoi fare è creare alias facili da ricordare (e digitare) per ciascuno dei cd .. comandi. Ad esempio:

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

Quindi ora ogni volta che vuoi tornare indietro, diciamo 5 posti, dalla tua attuale directory di lavoro, puoi semplicemente eseguire il seguente comando:

bk5

Non è facile adesso?

Mentre la tecnica che abbiamo usato per definire gli alias finora (usando il comando alias) sul prompt della shell fa il trucco, gli alias esistono solo per la sessione del terminale corrente. Ci sono buone probabilità che tu voglia che gli alias definiti da te persistano in modo che possano essere utilizzati in qualsiasi nuova finestra/scheda del terminale della riga di comando che avvii in seguito.

Per questo, devi definire i tuoi alias in ~/.bash_aliases file, che viene caricato dal tuo ~/.bashrc file per impostazione predefinita (verificalo se stai utilizzando una versione precedente di Ubuntu).

Di seguito è riportato l'estratto dal mio file .bashrc che parla del file .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

Dopo aver aggiunto una definizione di alias al tuo file .bash_aliases, quell'alias sarà disponibile su qualsiasi nuovo terminale. Tuttavia, non sarai in grado di usarlo in nessun altro terminale che era già aperto quando hai definito quell'alias:l'uscita è quella di sorgere .bashrc da quei terminali. Di seguito è riportato il comando esatto che dovrai eseguire:

source ~/.bashrc

Se ti sembra un po' troppo laborioso (sì, ti sto guardando PGRELLI), allora ecco una scorciatoia per fare tutto questo:

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

Inutile dire che dovrai sostituire [the-alias] con il comando vero e proprio. Ad esempio:

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

Andando avanti, supponiamo ora di aver creato degli alias e di averli utilizzati a intermittenza per alcuni mesi. All'improvviso, un giorno, dubiti che uno di loro non funzioni come previsto. Quindi senti il ​​bisogno di guardare il comando esatto che è stato assegnato a quell'alias. Cosa faresti?

Naturalmente, puoi aprire il tuo file .bash_aliases e dare un'occhiata lì, ma questo processo può richiedere un po' di tempo, specialmente quando il file contiene molti alias. Quindi, se stai cercando una soluzione semplice, eccone una:tutto ciò che devi fare è eseguire l'alias comando con l'alias-name come argomento.

Ecco un esempio:

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

Come puoi vedere, il comando di cui sopra mostrava il comando effettivo assegnato all'alias bk6. C'è un altro modo:usare il tipo comando. Segue un esempio:

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

Quindi il comando type produce un output più comprensibile per l'uomo.

Un'altra cosa che vale la pena condividere qui è che puoi utilizzare alias per gli errori di battitura comuni che fai. Ad esempio:

alias mroe='more'

Infine, vale anche la pena ricordare che non tutti sono favorevoli all'utilizzo di alias. La maggior parte di loro sostiene che una volta che ti sei abituato agli alias che definisci per comodità, diventa davvero difficile per te lavorare su qualche altro sistema in cui quegli alias non esistono (e non ti è permesso crearne neanche uno) . Per ulteriori (oltre che precisi motivi) per cui alcuni esperti sconsigliano l'uso di alias, puoi andare qui.

Conclusione

Come la variabile d'ambiente CDPATH di cui abbiamo discusso nella parte precedente, anche l'alias è un'arma a doppio taglio che si dovrebbe usare con molta cautela. Non scoraggiarti però, perché ogni cosa ha i suoi vantaggi e svantaggi. Solo che la pratica e la conoscenza completa sono la chiave quando hai a che fare con concetti come alias.

Quindi questo segna la fine di questa serie di tutorial. Spero che ti sia piaciuto e che tu abbia imparato alcune cose/concetti nuovi da esso. In caso di dubbi o domande, condividili con noi (e con il resto del mondo) nei commenti qui sotto.


Linux
  1. Genera password sulla riga di comando di Linux

  2. 8 suggerimenti per la riga di comando di Linux

  3. Padroneggia il comando ls di Linux

  4. Avere una mucca sulla riga di comando di Linux

  5. Entra nella riga di comando di Linux

Che cos'è la shell in Linux?

Padroneggia la riga di comando di Linux

alias Comando in Linux

Recensione del libro:La riga di comando di Linux

Visualizza il contenuto di un file nella riga di comando di Linux

Comando alias Linux