ls: Unterschied zwischen den Versionen

Aus Mikiwiki
Zur Navigation springen Zur Suche springen
Zeile 44: Zeile 44:
  $ <b>unalias ls</b>
  $ <b>unalias ls</b>


Zum dauerhaften Ändern des alias kann ein eigenes Alias in die Konfigurationsdatei ".bashrc" geschrieben und damit die systemweite Vorgabe unwirksam gemacht werden.
Zum dauerhaften Ändern der alias-Belegung kann ein eigenes Alias in die Konfigurationsdatei ".bashrc" geschrieben und damit die systemweite Vorgabe unwirksam gemacht werden.


Anzeige der definierten Parameter.
Anzeige der definierten Parameter.

Version vom 25. Januar 2009, 22:29 Uhr

Der Shell-Befehl ls (list) dient zum Anzeigen von Informationen über Dateien und Verzeichnisse. ls hat nur eine Standardausgabe (stdout).

Das erste Zeichen der Ausgabe von ls bezeichnet den Dateityp.

Dateityp Beschreibung
- gewöhnliche Datei
d (directory) Verzeichnis
b (block) blockorientiertes Gerät
c (character) zeichenorientiertes Gerät
l symbolischer Link
p (named pipe) FIFO-Datei
s Unix domain socket

Die nächsten neun Zeichen bezeichnen in Dreiergruppen die Zugriffsrechte von Benutzer (user), Gruppe (group) und allen anderen (other).

Zugriffsrecht Beschreibung
r (read) lesen
w (write) schreiben
x (execute) ausführen

Konfiguration

Nachsehen ob es sich beim Befehl "ls" um ein Alias handelt.

$ alias ls
alias ls='/bin/ls $LS_OPTIONS'

Ausserkraftsetzen des alias für die aktuelle Sitzung.

$ unalias ls

Zum dauerhaften Ändern der alias-Belegung kann ein eigenes Alias in die Konfigurationsdatei ".bashrc" geschrieben und damit die systemweite Vorgabe unwirksam gemacht werden.

Anzeige der definierten Parameter.

$ echo $LS_OPTION
-N --color=tty -T 0

Anzeige der definierten Farben zur Kennzeichnung der Dateitypen.

$ echo $LS_COLORS
no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;...

Ein Setzen der Farben und Anzeige der Steuercodes für die Farben ist mit dircolors möglich.

Optionen

Option Beschreibung
-a Anzeige sämtlicher Dateien im Verzeichnis (auch der Punkt-Dateien).
-C Spaltenweise Anzeige der Informationen.
--color Zuordnung von Farben zu bestimmten Dateitypen.
Werte Beschreibung
--color=always "ls" zeigt immer Farben an
--color=none "ls" zeigt nie Farben an
--color=auto "ls" zeigt Farben nur bei Ausgabe in ein Terminal, verzichtet aber darauf wenn die Ausgabe an ein anderes Programm oder in eine Datei umgelenkt wird (Standardeinstellung)
-d Anzeige nur des Namens von Verzeichnissen, aber nicht ihren Inhalt.
-F Zeigt an, ob es sich um eine Datei, ein Verzeichnis oder eine ausführbare Datei handelt.
-I (Ignore) Ausblenden bestimmter Dateien.
-i Anzeige der Indexnummer (des i-Nodes).
-l Anzeige ausführlicher Informationen.
-r (reverse) Anzeige der Einträge in umgekehrter Reihenfolge.
-S (Size) Anzeige dergrössten Dateien zuerst.
-s (sectors) Anzeige der Anzahl Blöcke zu 512 bytes.
-t (time stamp) Anzeige gemäss Zeitstempel.
-x Spaltenweise Anzeige der Informationen.

Verwendung

Die Dateinamen des aktuellen Verzeichnisses werden in die Datei "file" geschrieben. Auf dem Bildschirm wird die Anzahl Dateien des aktuellen Verzeichnisses ausgegeben.

$ ls | tee file | wc -l

Der Inhalt von Datei "filelist" wird mit "cat" ausgegeben und als Argument an den Befehl "ls" übergeben.

$ ls -l $(cat filelist)

Ausgabe der Inode-Nummer für eine Datei.

$ ls -il /dev/term/a
53810 lrwxrwxrwx   1 root     root          52 Mar 13 12:49 /dev/term/a -> ../../devices/pci@1f,0/pci@1,1/ebus@1/se@14,400000:a

Anzeige aller Zeilen mit erstem Zeichen "d", also alle Verzeichnisse. grep sucht dabei in der Standardeingabe einen Zeilenanfang, auf den direkt ein d folgt.

$ ls -l | grep "^d"

Ausgabe nach ("-l") Erstellungsdatum und Uhrzeit ("-t") absteigend.

$ ls -ltr

Anzeige aller Zeilen, die

  • mit D oder d beginnen und von irgendeinem Zeichen ("?") gefolgt werden
  • die mit A oder a weitergehen und von irgendwelchen Zeichen ("*") gefolgt werden
  • die von einer der Ziffern von 0 bis 9 gefolgt werden und mit irgendwelchen Zeichen ("*") weitergehen
$ ls -l [Dd]?[Aa]*[0-9]*

Ausgabe ausführlicher Informationen zu allen mit "file" beginnenden Dateien, sortiert nach Time-stamp, jedoch in umgekehrter Reihenfolge ("-r").

$ ls -ltr file*

Ausgabe aller Informationen zu den drei grössten Dateien im Verzeichnis "/usr/bin".

$ ls -al /usr/bin | grep ^- | sort -nr +4 | head -3 | awk '{print $0}'

Ausgabe des Dateinamens der grössten Datei im Verzeichnis "/usr/bin".

$ ls -l /usr/bin | grep ^- | sort -nr +4 | head -1 | awk '{print $8}'

Ausgabe der Anzahl der Dateien im aktuellen Verzeichnis.

$ ls -1Ra | wc | awk '{ printf("Es gibt %s Dateien in diesem Verzeichnis.\n", $1-2) }'
$ ls -l | wc -l

Weblinks

Vorlage:dewi