Ich bin relativ neu in der Programmierung als Ganzes und einige Tutorials haben mir ls -l
gesagt, dass ich Dateien in einem Verzeichnis betrachten soll, und andere haben gesagt ll
. Ich weiß, das ls
ist eine kurze Liste, aber gibt es einen Unterschied zwischen den beiden anderen?
shell
shell-script
ls
Jon
quelle
quelle
which ll
. Sie werden wahrscheinlich feststellen, dass diesll
tatsächlich ein Alias für istls -l
.ls
anderen Befehlen, die ich in die Shell geschrieben habe? Wenn ich tippewhich ls
bekomme ichalias ls='ls --color=auto' /bin/ls
, aber wenn ich tippe (zum Beispiel)which cd
bekomme ich/usr/bin/which: no cd in (........)
. EDIT: Ich habe es nochmal mit probiertwhich mkdir
und bekam/bin/mkdir
. Was ist der Unterschied zwischen diesen Befehlen, in denen einige von ihnen gespeichert sind (?)/usr/bin
Und andere anscheinend nicht?$PATH
.ls
wird sehr oft mit einem Alias versehen, sodass Ihre Shell den Alias (der Vorrang vor der Binärdatei hat) und die tatsächliche Position der Binärdatei (in Ihrem Fall/bin/ls
) meldet . Wennwhich
nicht finden konntecd
, dann scheint etwas schrecklich falsch.cd
ist ein in die Shell eingebautes Schlüsselwort, kein Programm, das in einem Dateisystem gefunden wird. Nutzetype cd
und umtype ls
zu sehen was ich meine. Einige Befehle werden einfach durch Shell builtins außer Kraft gesetzt:echo
vor/bin/echo
, aber inbash
und in der Tat die meisten der modernen Schalen, eine builtinecho
wird Funktion aufgerufen statt (die in der Regel hat Features erweitert).type
sagt dir eigentlich, welches es ist.Antworten:
Ist auf vielen Systemen
ll
ein Alias vonls -l
:Sie sind gleich.
quelle
ls -alF
in Ubuntu 12.04, 16.04 und wahrscheinlich vielen mehr.ls -lh
Wie bereits erwähnt,
ll
wird dies oft als Alias von definiertls -l
. In der Tatls
ist oft ein Pseudonym selbst:Der eigentliche Befehl ist
ls
der in/usr/bin
.ll
Dies ist nur als Annehmlichkeit gedacht, aber Sie können sich nicht darauf verlassen, dass es auf allen * nix-Systemen definiert ist. Daher ist es gut zu wissen, was es wirklich tut.quelle
ls
in der Regel eine schlechte Idee ist, sich auf Automatisierung zu verlassen (insbesondere auf Ad-hoc-Einzeiler). Es gibt verschiedene Optionen, die die Ausgabe ändern, und viele Möglichkeiten, sie anzugeben. Wenn unterschiedliche Distributionen unterschiedliche Standardeinstellungen auswählen, kann dies zu Kopfschmerzen führen.ls
für irgendetwas anderes gesehenls --color=auto
. Entweder das oder es gibt keinen Alias.Ubuntu 14.04
quelle
Funktioniert in den meisten Fällen
ll
nicht in Shell-Skripten.quelle
ll
um Aliase, die beim Ausführen von Skripten nicht definiert werden.ls -l
ll
ist ein Alias fürls -l
.Die Option
-l
weist den Befehl an, ein langes Listenformat zu verwenden. Es werden mehrere Spalten zurückgegeben, die bei Verwendung des einfachenls
Befehls nicht angezeigt werden. Diese Spalten umfassen:Berechtigungen
Anzahl der Hardlinks
Dateieigentümer
Dateigruppe
Dateigröße
Änderung
Zeit
Dateiname
quelle
Wenn Sie ll ausführen, werden die Dateien in der Shell angezeigt, und Sie müssen die Eingabetaste drücken, um die nächsten Dateien anzuzeigen (Option more ..). Wenn Sie ls -l ausführen, werden alle Dateien gleichzeitig angezeigt.
quelle