l, ls & la - was sind die Unterschiede, und gibt es mehr dieser Befehle?

25

Also, durch die Eingabe mehrerer Befehle Ich habe festgestellt , dass es nicht nur ls, sondern lund laauch. Unter manUbuntu 12.14 sind anscheinend keine Einträge vorhanden. Sie scheinen alle ähnliche Dinge mit kleinen Unterschieden zu tun:

$ ls
app        config     CONTRIBUTING.md  doc       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script  tmp     VERSION
CHANGELOG  config.ru  db               features  Gemfile.lock  lib        log      PROCESS.md      public    README.md  spec    vendor
$ la
app      CHANGELOG  config.ru        db   features  Gemfile       .git        Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   .rspec  .secret     spec  .travis.yml  VERSION
.bundle  config     CONTRIBUTING.md  doc  .foreman  Gemfile.lock  .gitignore  lib        log      PROCESS.md      public    README.md  script  .simplecov  tmp   vendor
$ l
app/       config/    CONTRIBUTING.md  doc/       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script/  tmp/     VERSION
CHANGELOG  config.ru  db/              features/  Gemfile.lock  lib/       log/     PROCESS.md      public/   README.md  spec/    vendor/

Gibt es mehr davon und was tun sie? Gibt es hier einen Ort, um das herauszufinden? Leider wird die Google-Suche für diese Befehle ignoriert, weil sie so kurz sind.

Seiyria
quelle
1
Höchstwahrscheinlich sind sie auf etwas bereits Bestehendes ausgerichtet. AFAIK, es gibt keine laoder lBefehle. Versuchen \laund in \ldem Bypass möglich Aliase.
MKC
Sicher genug, das einzige was funktioniert ist \ls. Ich nehme das an, um zu bedeuten, dass sie alle Aliase von lsdamals sind?
Seiyria
Richtig, das Fehlen von ausführbaren Dateien zeigt an, dass es sich um Aliase handelt. Siehe meine Antwort für andere Möglichkeiten, um dies zu bestimmen.
SLM

Antworten:

26

Aliase

lsist ein Befehl, lund laes handelt sich höchstwahrscheinlich um Aliase, die diesen Befehl verwenden ls. Wenn Sie den Befehl ausführen alias, können Sie alle Aliase auf Ihrem System finden.

$ alias | grep -E ' l=| la='

Dies gibt alle Aliase zurück, die mit dem Muster l=...oder übereinstimmen la=....

Weiteres Debuggen

Sie können den Befehl auch verwenden, um typezu sehen, wie ein bestimmter Befehl ausgeführt wird. Ist es ein Befehl, ein Alias ​​oder eine Funktion?

Beispiel

Auf meinem System ist der Befehl lsso eingeteilt, dass er aufruft, lsaber auch eine Reihe zusätzlicher Schalter enthält:

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
ls is /bin/ls

In der obigen Ausgabe kann man sehen, dass lses sich um Aliase handelt, dann aber auch auf meinem System auf $ PATH in den Verzeichnissen /usr/binund /bin.

slm
quelle
Vielen Dank für das ausführliche Beispiel. Ich habe heute ein bisschen mehr über Linux gelernt!
Seiyria
@Seiyria - gerne geschehen. Vielen Dank für die Fragen und hoffen, Sie in Zukunft auf unserer Website zu sehen. Viel Glück bei Ihrem Streifzug nach Linux!
SLM
9

Sie sind nur ein Alias ​​des Befehls ls mit einigen Optionen. Bildbeschreibung hier eingeben

Die Mitarbeiter listen alle Optionen und ihren Zweck auf. Sie können Ihren eigenen Alias ​​erstellen, indem Sie ihn auf dem Terminal ausführen oder in .bashrc so etwas wie: alias lsl = 'ls -lrt' hinzufügen.

Jay
quelle
3
Code sollte als Code formatiert werden und nicht als Screenshot, es sei denn, Farben werden demonstriert.
Tim
-1

Testen Sie la -helpBSD Unix-Systeme, um weitere Informationen zu erhalten la. Ich fand auch laals Ergebnis eines Tippfehlers.

Mohan
quelle
1
Wollen Sie damit sagen, dass laes sich bei Ihrem BSD-System um einen anderen Befehl und nicht um einen Alias ​​handelt?
Anthon