GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie funktioniert der Befehl „ls“ unter Linux/Unix?

Um die Antwort zu ergänzen, haben sie im Buch The C Programming Language (K&RC) ein kleines Beispiel gegeben, wie man ls implementiert. Sie haben die verwendeten Datenstrukturen und Funktionen sehr gut erklärt.


Um zu verstehen, was ls tut, können Sie einen Blick auf die OpenSolaris-Quelle werfen:https://hg.java.net/hg/solaris~on-src/file/tip/usr/src/cmd/ls/ls.c.

Wenn das überwältigend ist, beginnen Sie unter Solaris damit, truss zu verwenden, um sich die Systemaufrufe anzusehen, die ls macht, um zu verstehen, was es tut. Versuchen Sie es mit Truss:

truss -afl -o ls.out /bin/ls

dann schauen Sie sich die Ausgabe in ls.out

an

Ich glaube, dass Trace das Äquivalent zu Truss in Linux ist.


ls gabelt nicht. Die Shell verzweigt und führt aus, um jeden Befehl auszuführen, der nicht eingebaut ist, und einer der Befehle, die sie ausführen kann, ist ls.

ls verwendet opendir() und readdir(), um alle Dateien im Verzeichnis schrittweise durchzugehen. Wenn es mehr Informationen über einen von ihnen benötigt, ruft es stat() auf.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. Wie funktioniert das Sticky Bit?

  4. Linux – Wie überprüft man die Verzeichnisstrukturinformationen einer Unix/Linux-Datei?

  5. Wie funktioniert der Exit-Befehl auf einem Unix-Terminal?

So passen Sie den Linux-Befehl top an

So verwenden Sie den fd-Befehl auf einem Linux-System

Was ist Source Command in Linux und wie funktioniert es?

Wie funktioniert Swap-Speicher in Linux?

Wie verwende ich den wget-Befehl unter Linux?

Wie funktioniert eine Linux-GUI auf der untersten Ebene?