it-swarm.com.de

Wo ist der Alias ​​für ll definiert

Ich finde mich oft dabei, ll zu verwenden, was ein Alias ​​ist.

$ type ll
ll is an alias for ls -lh

Ich habe mich immer gefragt, wo dies definiert wurde, da es sowohl auf bash, zsh als auch nicht auf sh funktioniert:

# THIS IS SH
$ ll
sh: 1: ll: not found
3
user791290

In Ubuntu ist dieser Alias ​​standardmäßig in der _~/.bashrc_ -Datei wie folgt definiert:

_$ grep "alias ll" ~/.bashrc
alias ll='ls -alF'
_

Eine andere Datei, die standardmäßig gelesen wird, ist der _~/.bash_aliases_. Es ist möglicherweise erst vorhanden, wenn Sie es erstellen. Es wird jedoch empfohlen, Aliase so zu speichern, dass sie in einer separaten Datei gespeichert werden, um die Übersichtlichkeit zu gewährleisten. Ihr _~/.bashrc_ enthält den folgenden Abschnitt, den if-Ausdruck, in den diese Aliase-Datei geladen wird, falls vorhanden:

_# 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
_

Was zsh anbelangt, so wird der Alias ​​in Ihrer _~/.zshrc_ -Datei oder einer von ihr stammenden Datei auf dieselbe Weise definiert. Wenn Sie _oh-my-zsh_ verwenden, kann es in lib/directories.zsh oder plugins/common-aliases/common-aliases.plugin.zsh enthalten sein.

sh (= dash in Ubuntu) liest nur _~/.profile_, das normalerweise keine Aliase enthält, da diese Shell-spezifisch definiert sind. Im Falle eines Alias ​​so einfach wie _alias ll='ls -lh'_ können Sie sich jedoch für eine Definition in _~/.profile_ entscheiden. Weiterführende Literatur: Gibt es eine ".bashrc" -Äquivalentdatei, die von allen Shells gelesen wird?

7
dessert