Befehle für Verzeichnisse
 

ls = listet Verzeichnisse auf

Syntax= ls [option] [verzeichnis]

wichtigste Optionen:
-a (all) = zeigt auch versteckte Files an
-l (long) = zeigt noch mehr Informationen an
-h (human readable) = zeigt die Dateigröße in besser lesbarer Form

Beispiel:
# ls -al /home


cd = "change directory" wechselt das Verzeichnis

Syntax= cd [Verzeichnis]

Beispiele:
# cd .. wechselt aus dem aktuellen in das nächst höhere Verzeichnis.
# cd /etc wechselt in das Verzeichnis /etc
# cd allein wechselt in das Heimatverzeichnis des Benutzers


mkdir = legt ein Verzeichnis an

Syntax = mkdir [option] [verzeichnis]

Um verschachtelte Verzeichnisse in einem Schritt anzulegen, muß die Option -p verwendet werden. Ansonsten wird angenommen, daß alle Verzeichnisse bis auf das Letzte schon existieren.


rmdir = löscht ein Verzeichnis

Das Verzeichnis muß leer sein, darf also keinerlei Einträge mehr enthalten. Um mehrere verschachtelte Verzeichnisse zu entfernen, muß man ebenfalls wie bei mkdir die Option -p angeben.

Zum Löschen von Verzeichnissen die Dateien enthalten
siehe den Befehl rm!

cp = kopiert Dateien

Syntax= cp [option] Quelle Ziel

Beispiele:
# cp liste.txt liste-old.txt
erstellt eine Kopie der Datei liste.txt unter dem neuen Namen liste-old.txt.
# cp liste.txt /home/udo
kopiert die Datei liste.txt unter ihrem alten Namen ins Verzeichnis /home/udo
# cp /home/udo/liste.txt .
kopiert die Datei liste.txt ins aktuelle Verzeichnis, welches der Punkt repräsentiert.

Standardmäßig fragt cp nicht nach, ob eine bereits existierende Datei überschrieben werden soll. Nur mit der Option -i (interaktiv) wird nachgefragt, sonst wird eine existierende Datei gnadenlos überschrieben!

Vorsicht ist geboten bei versteckten Dateien (unter Linux Dateien die mit einem Punkt . beginnen), denn die werden beim normalen kopieren übergangen. Möchte man versteckte Dateien kopieren gibt es dafür mehrere Möglichkeiten. Dazu ein paar Beispiele:
# cp -v /home/udo/.* /backup
kopiert nur die versteckten Dateien aus dem Home-Verzeichnis in den Ordner backup (Punkt+Wildcard *=alle Dateien die mit Punkt beginnen).
# cp -rv /home/udo/ /backup
hier gibt es einen Unterschied, ob der Ordner backup existiert oder nicht. Existiert der Ordner kopiert cp den gesamten Ordner udo in den Ordner backup, inkl. der Unterverzeichnisse und versteckten Dateien. Existiert der Ordner nicht, legt cp diesen an und kopiert nur den Inhalt des Ordners udo inklusive Unterordner und versteckten Dateien in den Ordner backup. Hingegen
# cp -rv /home/udo/* /backup
kopiert lediglich die nicht versteckten Dateien, inkl. sämtlicher Unterverzeichnisse! Möchte man den Inhalt eines Verzeichnisses inklusive sämtlicher Dateien (versteckt oder unversteckt) in ein schon existierendes Verzeichnis kopieren gibt es einen kleinen, aber feinen Unterschied zum vorigen Befehl:
# cp -rv /home/udo/. /backup
der Punkt am Ende des Quellverzeichnisses sorgt dafür, daß alle Dateien -auch die versteckten!- inklusive der Unterverzeichnisse kopiert werden.
Doch VORSICHT vor folgendem Befehl:
# cp -rv /home/udo/.* /backup
kopiert nicht nur sämtliche Dateien inklusive der versteckten Dateien und Unterverzeichnisse, sondern auch die übergeordneten Verzeichnisse, da dieser cp-Befehl mit dem Wilcardausdruck Punkt-Stern auch auf den Doppelpunkt .. im Verzeichnis reagiert, welcher für das übergeordnete Verzeichnis steht! Somit könnte man sagen, die komplette Festplattenpartition wird damit kopiert!
# cp /home/udo/.[!.]* /home/udo/* /Backup/
Kopiert alle Dateien eines Verzeichnisses, inklusive der versteckten Dateien OHNE Unterordner.
.[!.]* bedeutet, alle versteckten Dateien die mit einem Punkt beginnen und dann alphanumerische Zeichen nutzen.

Wichtigste Optionen:
-i (interaktiv)=aktiviert die Nachfrage
-v (verbose,"geschwätzig")=cp meldet was es tut
-p (preserve,"erhalten")=Dateiattribute wie Eigentümer und Zeitstempel erhalten
-r (rekursiv)=Zum rekursiven kopieren von Verzeichnissen
-R = wie das kleine r nur daß hier auch Spezialdateien (z.B. /dev/zero) kopiert werden, wo hingegen beim kleinen r nur Ordner und Dateien.
-a (archiv)= laut manpage: "wie -dpR". Es wird nicht nur rekursiv kopiert, sondern cp bemüht sich um eine exakte Kopie, inkl. Zeitstempel und folgt keinen symbolischen Links.

cp am Besten grundsätzlich mit den Optionen -ivp verwenden (zum einfacheren merken iv wie intravenös), da es hilft Fehler zu vermeiden und nicht unbeabsichtigt Dateien überschrieben werden. Außerdem wird der Zeitstempel erhalten, was bei einem späteren Vergleich der Dateien Anhand des Zeitstempels hilfreich ist. Zum Beispiel:
# cp -ivp liste.txt liste-old.txt


mv = Dateien verschieben oder umbenennen

Syntax= mv [option] Quelle Ziel (Syntax und Regeln wie bei cp)

Optionen:
-i (interaktiv)=aktiviert Nachfrage
-v (verbose,"geschwätzig") mv sagt was es tut
Beispiel:
# mv liste.txt liste-old.txt
Benennt die Datei liste.txt in liste-old.txt um. Sollte die Datei liste-old.txt existieren, wird sie gnadenlos überschrieben, daher besser:
# mv -iv liste.txt liste-old.txt
oder auch
# mv -iv *.php Verzeichnis/
Verschiebt sämtliche PHP-Dateien aus dem aktuellen Verzeichnis in das neue Verzeichnis.


rm = (remove) löscht Dateien und Verzeichnisse

Syntax= rm [option] Datei

Optionen:
-r löscht Verzeichnisse mit dem gesamten Inhalt
-i (interaktiv) Abfrage wie bei cp und mv
-f (force) unterdrückt jede Widerrede, bzw. Nachfrage beim löschen

Zum Beispiel:
# rm -v Textdatei.txt
Löscht die angegebene Datei ohne Rückfrage, gibt aber einen Hinweis des Löschvorgangs aus.

rm geht genauso konsequent vor wie cp oder mv - die angegebenen Dateien, bzw. Verzeichnisse werden ohne die Option -i ohne Rückfrage gelöscht. Daher vorsicht vor Eingaben dieser Art:
# rm -rf /
Würde ohne Rückfrage das ganze Wurzelverzeichnis inklusive Unterverzeichnissen löschen, also somit das gesamte Betriebssystem. Daher ist besser:
# rm -ivr /home/udo
fragt nach, bevor das gesamte Verzeichnis /udo gelöscht wird und gibt die Meldungen über die gelöschten Dateien auf dem Bildschirm aus.


file = bestimmt den Dateityp

Syntax= file [option] file

file gibt Informationen über Dateien aus, z.B. der Typ der Datei und noch mehr.

Beispiele:
# file /home/udo/penguin.png
home/udo/penguin.png: PNG image data, 256 x158, 8-bit/color RGB,
non-interlaced

# file /etc/init.d/samba
/etc/init.d/samba: Bourne shell script text executable