it-swarm.com.de

Für welchen Befehl ist der Alias ​​ll?

Kann mir jemand sagen, für welchen Terminalbefehl der Alias ​​ll ist? Alles, was ich online finden kann, ist, dass viele Leute sagen, dass es ein Alias ​​für ls -l oder ls -la oder ls -ltr ist. Das ist aber einfach falsch. Das Ergebnis sieht anders aus. Gibt es eine Möglichkeit, ll zu finden und die Syntax zu überprüfen?

25
Socrates

Mit den Befehlen alias oder type können Sie überprüfen, was ein bestimmter Alias ​​bedeutet:

$ alias ll
alias ll='ls -alF'

$ type ll
ll is aliased to `ls -alF'

Beachten Sie jedoch, dass Aliase möglicherweise andere Aliase verwenden, sodass Sie diese möglicherweise rekursiv überprüfen müssen, z. Im Fall von ll sollten Sie auch den ls -Befehl überprüfen, den es aufruft:

$ alias ls
alias ls='ls --color=auto'

$ type ls
ls is aliased to `ls --color=auto'

Also bedeutet ll tatsächlich:

ls --color=auto -alF
72
Byte Commander

ll ist ein in Ihrem ~/.bashrc definierter Alias, vorausgesetzt, Sie haben ihn nicht geändert, ist es ls -alF:

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

Diese drei Optionen sind:

  • -a, --all - Einträge, die mit beginnen, nicht ignorieren.
  • -l - Verwenden Sie ein langes Listenformat
  • -F, --classify - Anhängen eines Indikators (eines von */=> @ |) an Einträge

Wie

$ grep ls= <~/.bashrc
alias ls='ls --color=auto'

zeigt, ls selbst ist wieder ein Alias ​​für ls --color=auto:

Bei --color=auto gibt ls nur dann Farbcodes aus, wenn die Standardausgabe an ein Terminal angeschlossen ist. Die Umgebungsvariable LS_COLORS kann die Einstellungen ändern. Verwenden Sie den Befehl dircolors, um ihn festzulegen.

13
dessert

Sie können in Ihrem ~/.bashrc nachsehen (oder in einer Datei, in der sich Ihre Aliase befinden), oder Sie können einige dieser Befehle in Ihre Shell schreiben:

command -v ll # "command" is a Shell built-in that display information about       
              # the command. Use the built-in "help command" to see the 
              # options.
type -p ll # "type" is another built-in that display information about how the 
           # command would be interpreted
grep -r "alias ll=" ~ # and don't worry about de .file that contains your 
                      # alias. This command search recursively  under  each  
                      # folder of your home. So it's something rude.
find ~ -maxdepth 1 -type f | xargs grep "alias ll" # Just look in 
                      # the files (not folders) in your home folder

Aber warum sollte find ohne -name ". *" Verwendet werden? Weil Sie dies in Ihre .bashrc einfügen können

source bash_hacks # where the file bash_hacks, in your home directory can 
                  # contain the alias ll='ls -la etc etc'.

Da "ll" ein Alias ​​ist, ist es nicht notwendig, dass es nur eine Bedeutung hat (ll = 'ls -alF --color'). Sie können Ihr "ll" wie einen anderen Befehl aliasen, ich weiß nicht, "rm". . Ich denke, es ist eher eine Konvention (Produkt des allgemeinen Gebrauchs).

"Ll" könnte jedoch ein Programm sein, das in einem beliebigen Ordner Ihres PATH gespeichert ist. Wenn Sie beispielsweise einen Ordner mit dem Namen "bin" in Ihrem Heim haben, erstellen Sie ein "ll" -Skript, das so etwas wie enthält

#!/bin/bash
ls -lhar

Aber was ist, wenn Ihr PFAD geändert wurde, um einen weiteren Ordner hinzuzufügen, der den neuen Befehl "ll" enthält? Weitere interessante Informationen erhalten Sie über den folgenden Link zu einer verwandten Frage.

3
Cuauhtli

Es ist nicht erforderlich, ~/.bashrc oder ein anderes Skript zu analysieren. Sie können Ihre aktuellen Werte aller Aliase überprüfen, indem Sie im Terminal den Befehl alias eingeben. Es werden alle definierten Aliase mit ihren Definitionen auf Ihren Bildschirm gebracht.

0
Serg Stetsuk