Was ist ein Alias
Ein Alias ist eine abgekürzte Shell-Notation, mit der Sie Befehle anpassen und abkürzen können. Aliasse sind in allen Shells verfügbar. Eine gängige Syntax zum Definieren eines Alias in der Befehlszeile lautet wie folgt:
$ alias name=command_string
Wenn das erste Wort in der Befehlszeile ein Alias ist, ersetzt die Shell dieses Wort durch den Text des Alias. Die Shell verwaltet eine Liste von Aliasnamen, die sie durchsucht, wenn ein Befehl eingegeben wird. Beim Erstellen eines Alias gelten die folgenden Regeln:
- Auf beiden Seiten des Gleichheitszeichens darf kein Leerzeichen stehen.
- Die Befehlszeichenfolge muss in Anführungszeichen gesetzt werden, wenn sie Optionen, Metazeichen oder Leerzeichen enthält.
- Jeder Befehl in einem einzelnen Alias muss durch ein Semikolon getrennt werden.
Befehlsfolge
Sie können mehrere Befehle unter einem einzigen Aliasnamen gruppieren. Einzelne Befehle werden durch Semikolons getrennt. Zum Beispiel:
$ alias info='uname -s; id; date'
Linux uid=1001(user) gid=1001(user) Tue Dec 5 15:11:58 UTC 2017
Im folgenden Beispiel wird ein Alias mit einem senkrechten Strich (|) erstellt, um die Ausgabe des Befehls ls -l an den Befehl more weiterzuleiten. Wenn der neue Alias aufgerufen wird, erscheint eine Verzeichnisliste.
$ alias ll='ls -l | more'
$ cd /usr/bin $ ll total 121528 -rwxr-xr-x. 1 root root 41496 Nov 5 2016 [ -rwxr-xr-x. 1 root root 107856 Aug 2 17:46 a2p -rwxr-xr-x. 1 root root 52640 Oct 19 20:40 ab -rwxr-xr-x. 1 root root 29112 Sep 6 16:47 addr2line -rwxr-xr-x. 1 root root 29 Sep 6 16:25 alias -rwxr-xr-x. 1 root root 12930120 Oct 25 18:22 amazon-ssm-agent -rwxr-xr-x. 1 root root 7200 Jun 16 2016 animate lrwxrwxrwx. 1 root root 6 Sep 29 2014 apropos -> whatis -rwxr-xr-x. 1 root root 62680 Sep 6 16:47 ar ... --More--
Vordefinierte Aliasse
Die Shell enthält mehrere vordefinierte Aliase. Sie können diese vordefinierten Aliase anzeigen, indem Sie den Befehl alias verwenden. Zum Beispiel:
$ alias alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias info='uname -s; id; date' alias l.='ls -d .* --color=auto' alias ll='ls -l | more' alias ls='ls --color=auto' alias vi='vim' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'Hinweis :Der Alias-Befehl zeigt auch benutzerdefinierte Aliase an.
Benutzerdefinierte Aliasse
Benutzerdefinierte Aliase werden von einem Benutzer definiert, normalerweise um häufig verwendete Befehle abzukürzen oder anzupassen. Beispielsweise wird der Verlaufsbefehl als h unter Verwendung des Aliasbefehls im folgenden Code verwendet:
$ alias h=history ... 46 cd /usr 47 ls -lrt 48 cd 49 cd /usr/bin 50 ll 51 clear 52 alias 53 alias h=history 54 h
Mit dem rm , cp , und mv Befehle können unbeabsichtigt zu Datenverlust führen. Als Vorsichtsmaßnahme können Sie diese Befehle mit der interaktiven Option aliasieren. Beispielsweise wird der Befehl rm mit dem Alias –i versehen Option wie folgt codiert:
$ alias rm='rm -i' $ rm file1 rm: remove file1: (yes/no)? no
In ähnlicher Weise erstellen Sie ein „cp -i ‘ und ‘mv -i alias stellt sicher, dass die Shell Sie zur Bestätigung auffordert, bevor vorhandene Dateien überschrieben werden.
Deaktivieren eines Alias
Sie können einen Alias vorübergehend deaktivieren, indem Sie einen Backslash (\) setzen vor dem Alias in der Kommandozeile. Im folgenden Code verhindert beispielsweise der umgekehrte Schrägstrich, dass die Shell in der Aliasliste nachsieht. Dadurch kann die Shell den ursprünglichen rm-Befehl ausführen, um die Datei file1 zu entfernen.
$ rm file1 rm: remove file1 (yes/no)? no
$ \rm file1 $ ls file1 file1: No such file or directory
Oder ob der Alias wie h für den Verlauf einen Fehler wie unten ausgeben würde, wenn Sie den umgekehrten Schrägstrich verwenden.
$ \h -bash: h: command not found
Entfernen eines Alias
Der Befehl unalias entfernt Aliase aus der Alias-Liste.
$ unalias alias_name
Beispielsweise wird der zuvor erstellte Alias h mit dem Befehl unalias entfernt.
$ unalias h
$ h -bash: h: command not foundBeispiele für das Erstellen von Befehlsaliasnamen in verschiedenen Shells