Skip to main content
  1. Comandi/

alias - create command alias

·3 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

`

Cosa fa
#

Crea un nome alternativo (alias) per un comando o una sequenza di comandi. La shell sostituisce l'alias con il comando originale prima dell'esecuzione. Gli alias non compaiono nell'output di printenv o set — si vedono solo con alias senza argomenti.

Sintassi
#

alias [nome='comando']

Comandi essenziali
#

ComandoFlagSignificato flagCosa fa
aliasMostra tutti gli alias attivi nella sessione
alias nome='comando'Crea un alias temporaneo per la sessione
unalias nomeRimuove un alias dalla sessione
unalias -a-aallRimuove tutti gli alias della sessione
\comandoEsegue il comando originale ignorando l'alias

Alias temporanei vs permanenti
#

# Temporaneo — dura solo la sessione corrente
alias ll='ls -la'
alias gs='git status'
alias grep='grep --color=auto'

# Permanente — aggiungi a ~/.bashrc (bash) o ~/.zshrc (zsh)
echo "alias ll='ls -la'" >> ~/.bashrc
source ~/.bashrc    # ricarica senza riaprire il terminale

# Verifica che l'alias sia attivo
alias ll
# alias ll='ls -la'

Esempi utili
#

# Navigazione
alias ..='cd ..'
alias ...='cd ../..'
alias ll='ls -la'
alias la='ls -A'

# Git (quello che usi su zsh)
alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gl='git log --oneline --graph'

# Sicurezza — conferma prima di operazioni distruttive
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# man con larghezza fissa (dall'esempio del capitolo)
alias man='MANWIDTH=75 man'

# Audit rapido alias — utile in incident response
alias ports='ss -tlnp'
alias myip='curl ifconfig.me'

Combinazioni utili
#

# Vedere la definizione di un alias specifico
alias ll
# alias ll='ls -la'

# Eseguire il comando originale senza alias (es. rm senza -i)
\rm file.txt
# il backslash dice alla shell di ignorare l'alias

# Trovare tutti gli alias che contengono git
alias | grep git

Scenario Reale
#

Un analista nota che su un sistema compromesso il comando ls si comporta in modo insolito — nasconde certi file. Con alias ls scopre che e' stato ridefinito come alias ls='ls --ignore=sospetto'. Questo e' un vettore di evasione: un attaccante che ottiene accesso ai dotfile puo' ridefinire comandi comuni per nascondere la propria presenza. Il \ls (con backslash) bypassa l'alias e mostra l'output reale.

Dove l'ho usato
#

Note personali
#

In un'analisi forense, controlla sempre gli alias prima di usare comandi di sistema su un sistema sospetto.

Un attaccante puo' aver ridefinito ls, ps, netstat per nascondere processi o file.

Usa sempre \comando o il path completo /bin/ls per bypassare gli alias.

alias | grep git e' il modo piu' rapido per vedere tutti gli alias git che hai accumulato in zsh nel tempo.

Collegato a
#

  • system — categoria
  • shell-interattiva — i dotfile ~/.bashrc e ~/.zshrc contengono gli alias permanenti
  • shell-environment — contesto dell'ambiente shell
  • export — altro meccanismo di personalizzazione dell'ambiente

Related