Operation Manual

buch” 2014/9/6 18:56 page 136 #132
3 Arbeiten im Terminal
Kurz einige Anmerkungen zur Interpretation des ls-Ergebnisses: Die zehn Zeichen
am Beginn der Zeile geben den Dateityp und die Zugriffsbits an. Als Dateityp kommen
infrage: der Bindestrich
- für eine normale Datei, d für ein Verzeichnis (Directory), b
oder c für eine Device-Datei (Block oder Char) oder l für einen symbolischen Link. Die
nächsten drei Zeichen (
rwx) geben an, ob der Besitzer die Datei lesen, schreiben und
ausführen darf. Analoge Informationen folgen für die Mitglieder der Gruppe sowie
für alle anderen Systembenutzer.
Die Zahl im Anschluss an die zehn Typ- und Zugriffszeichen gibt an, wie viele Hard-
Links auf die Datei verweisen. Die weiteren Spalten geben den Besitzer und die
Gruppe der Datei an (hier jeweils
pi), die Größe der Datei, das Datum und die Uhrzeit
der letzten Änderung und zuletzt den Dateinamen.
Wie funktionieren Zugriffsrechte?
Um zu verstehen, wer welche Dateien lesen, ändern und ausführen kann, müssen Sie
die Konzepte der Benutzer- und Gruppenverwaltung sowie der Zugriffsrechte kennen.
Ausführliche InformationendazufolgeninKapitel5.
ls berücksichtigt normalerweise nur die Dateien des gerade aktuellen Verzeichnis-
ses. Wenn Sie auch die Dateien aus Unterverzeichnissen einschließen möchten,
verwenden Sie die Option
-R. Diese Option steht übrigens auch bei vielen anderen
Kommandos zur Verfügung. Das folgende Kommando listet sämtliche Dateien in
allen Unterverzeichnissen auf. Diese Liste wird normalerweise recht lang. Daher lei-
tet
| less das Resultat von ls an less weiter, sodass Sie durch das Ergebnis blättern
nnen.
ls -lR | less
Verborgene Dateien und Verzeichnisse sichtbar machen
Wir haben es ja bereits erwähnt: Dateien und Verzeichnisse, deren Namen mit einem
Punkt beginnen, gelten in Linux als verborgen. Normalerweise gibt es in Ihrem
Heimatverzeichnis eine Menge solcher Dateien und Verzeichnisse mit lokalen Ein-
stellungen diverser Programme.
ls zeigt verborgene Dateien standardmäßig nicht an.
Abhilfe schafft
ls -a.
Um nur verborgene Dateien und Verzeichnisse anzuzeigen, nicht aber gewöhnliche
Dateien, führen Sie das Komando
ls -a .[^.]* aus. Warum nicht einfach ls -a .*,
werden Sie sich vielleicht fragen. Weil Sie dann auch den Inhalt des aktuellen Ver-
zeichnisses
. und des übergeordneten Verzeichnisses .. zu sehen bekommen. Der
Dateiname soll mit einem Punkt anfangen, das zweite Zeichen darf aber kein Punkt
sein, und es darf auch nicht fehlen.
136
buch”—2014/9/6—18:56—page137—#133
3
3.7 Verzeichnisse und Dateien
Dateien suchen
ls -R ist praktisch, um schnell rekursiv alle Dateien aufzulisten. Für eine gezielte
Suche ist das Kommando aber ungeeignet. Dazu verwenden Sie besser
find.Dasist
ein ebenso leistungsfähiges wie komplexes Kommando zur Suche nach Dateien. Es
kann verschiedene Suchkriterien berücksichtigen: ein Muster für den Dateinamen,
die Dateigröße, das Datum der Erstellung oder des letzten Zugriffs etc. Eine vollstän-
dige Referenz aller Optionen gibt
man find.
Ohne weitere Parameter liefert
find eine Liste aller Dateien im aktuellen Verzeichnis
und in allen Unterverzeichnissen. Anders als
ls berücksichtigt find standardmäßig
auch alle verborgenen Dateien und Verzeichnisse.
Mit der Option
-name können Sie ein Suchmuster angeben, das die Dateinamen
erfüllen müssen. Achten Sie darauf, das Muster in einfache Apostrophe zu stellen!
Sie verhindern damit, dass die bash die im Muster enthaltenen Jokerzeichen sofort
auswertet. Das folgende Kommando untersucht das Verzeichnis
mycode und alle
Unterverzeichnisse nach
*.c-Dateien:
find mycode -name '*. c'
mycode/gpio -bcm2835/ ledonoff.c
mycode/gpio -wiringpi /ledonoff .c
mycode/make -test / main.c
mycode/make -test / func1 .c
...
Wenn Sie wissen möchten, welche Systemkonfigurationsdateien in /etc in der letzten
Woche verändert wurden, verwenden Sie die Option
-mtime zeitangabe. Die Zeit-
angabe erfolgt in Tagen, wobei Sie normalerweise
+ oder - voranstellen müssen.
-mtime 7 bedeutet vor genau sieben Tagen. -mtime -7 bedeutet in den letzten sieben
Tagen,
-mtime +7 vor mehr als sieben Tagen.
find liefert standardmäßig sowohl Dateien als auch Verzeichnisse. Die Option -type f
schränkt das Ergebnis auf Dateien ein. Die Option -ls bewirkt, dass find nicht einfach
nur die Liste der Dateien liefert, s ondern zu jeder Datei auch die Größe, die Zugriffs-
rechte etc., also ähnlich wie bei
ls -l. Außerdem müssen Sie dem Kommando sudo
voranstellen, weil manche Unterverzeichnisse von /etc nur für root lesbar sind.
sudo find / etc - type f - mtime -7
/ etc/ samba / dhcp .conf
/ etc/ resolv. conf
/ etc / fake- hwclock.data
/etc/ alternatives /editor
/etc/ alternatives /editor .1. gz
/etc/ alternatives /editorrc
...
137