Ricerca nel sito web

Diversi modi per creare e utilizzare alias Bash in Linux


L'alias in bash può essere definito semplicemente come un comando o una scorciatoia che eseguirà un altro comando/programma. Alias è molto utile quando il nostro comando è molto lungo e per i comandi utilizzati di frequente. Nel corso di questo articolo vedremo quanto è potente un alias e i diversi modi per impostarlo e utilizzarlo.

Controlla gli alias Bash in Linux

Alias è un comando integrato nella shell e puoi confermarlo eseguendo:

type -a alias

alias is a shell builtin

Prima di saltare e impostare un alias vedremo i file di configurazione coinvolti. È possibile impostare un alias a “livello utente” o a “livello di sistema”.

Richiama la tua shell e digita semplicemente "alias" per visualizzare l'elenco degli alias definiti.

alias

Gli alias a livello utente possono essere definiti nel file .bashrc o nel file .bash_aliases. Il file .bash_aliases serve a raggruppare tutti i tuoi alias in un file separato invece di inserirlo nel file .bashrc insieme ad altri parametri. Inizialmente, .bash_aliases non sarà disponibile e dovremo crearlo.

ls -la ~ | grep -i .bash_aliases       # Check if file is available
touch ~/.bash_aliases                  # Create empty alias file

Apri il file .bashrc e cerca la sezione seguente. Questa sezione di codice è responsabile di verificare se il file .bash_aliases è presente nella directory home dell'utente e di caricarlo ogni volta che si avvia una nuova sessione di terminale.

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

Puoi anche creare un file alias personalizzato in qualsiasi directory e aggiungere la definizione in .bashrc o .profile per caricarlo. Ma non lo preferirò e scelgo di continuare a raggruppare tutti i miei alias sotto .bash_aliases.

Puoi anche aggiungere alias nel file .bashrc. Cerca la sezione alias sotto il file .bashrc dove viene fornito con alcuni alias predefiniti.

enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

Add an "alert" alias for long running commands.  Use like so:
  sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

Creazione di alias in Linux

Puoi creare un alias temporaneo che verrà archiviato solo per la sessione corrente e verrà distrutto al termine della sessione corrente oppure un alias permanente che sarà persistente.

La sintassi per creare un alias in Linux.

alias <name-of-the-command>="command to run"

Ad esempio, in uno scenario reale.

alias Hello="echo welcome to Tecmint"

Apri il terminale e crea qualsiasi comando alias desideri. Se apri un'altra sessione, l'alias appena creato non sarà disponibile.

alias Hello"echo welcome to Tecmint"
alias
Hello

Per rendere l'alias persistente, aggiungilo al file .bash_aliases. Puoi utilizzare il tuo editor di testo preferito oppure utilizzare il comando cat o il comando echo per aggiungere un alias.

echo alias nf="neofetch" >> ~/.bash_aliases
cat >> ~/.bash_aliases
cat ~/.bash_aliases

Devi ricaricare il file .bash_aliases affinché le modifiche abbiano effetto nella sessione corrente.

source ~/.bash_aliases

Ora, se eseguo “nf ” che è un alias di “neofetch”, si attiverà il programma neofetch.

nf

Un alias può tornare utile se desideri sovrascrivere il comportamento predefinito di qualsiasi comando. A scopo dimostrativo, prenderò un comando uptime, che visualizzerà il tempo di attività del sistema, il numero di utenti che hanno effettuato l'accesso e il carico medio del sistema. Ora creerò un alias che sovrascriverà il comportamento del comando uptime.

uptime
cat >> ~/.bash_aliases alias uptime="echo 'I am running uptime command now'"
source ~/.bash_aliases
uptime

Da questo esempio, puoi concludere che la precedenza spetta agli alias bash prima di controllare e invocare il comando vero e proprio.

cat ~/.bash_aliases
source ~/.bash_aliases
uptime

Rimozione di un alias in Linux

Ora rimuovi la voce uptime dal file .bash_aliases e ricarica il file .bash_aliases che stamperà comunque il uptime con la definizione di alias. Questo perché la definizione dell'alias è caricata nella sessione corrente della shell e dobbiamo iniziare una nuova sessione o annullare l'impostazione della definizione dell'alias eseguendo il comando unalias come mostrato nella figura immagine sotto.

unalias uptime

Aggiunta di alias a livello di sistema

Fino a questo punto abbiamo visto come impostare un alias a livello utente. Per impostare un alias a livello globale puoi modificare il file “/etc/bash.bashrc” e aggiungere alias che saranno efficaci a livello globale. È necessario disporre del privilegio elevato per modificare il file bash.bashrc.

In alternativa, crea uno script in “/etc/profile.d/”. Quando accedi a una shell, “/etc/profile ” eseguirà qualsiasi script in profile.d prima di eseguire effettivamente ~/.profile. Questo metodo ridurrà il rischio di incasinare il file /etc/profile o /etc/bash.bashrc.

sudo cat >> /etc/profile.d/alias.sh
alias ls=”ls -ltra”

Di seguito è riportato il codice prelevato da /etc/profile che si occupa di eseguire tutti gli script che inseriamo in /etc/profiles.d/. Cercherà eventuali file con estensione .sh ed eseguirà il comando source.

tail /etc/profile

Per questo articolo è tutto. Abbiamo visto cos'è l'alias, i file di configurazione coinvolti nell'alias e diversi modi per impostare l'alias a livello locale e globale.