Unter Unix-Systemen hast du zur Arbeit mit dem Dateisystem zahlreiche nützliche Kommandos zur Verfügung. Doch häufig werden die damit verbundenen Möglichkeiten gar nicht ausgeschöpft.
Besonders wenn die Administration von Unix-Systemen “mal eben nebenbei” erledigt werden muss, fehlt häufig die Zeit für eine Einarbeitung in die Besonderheiten der Unix-Kommandos. Im Folgenden stelle ich dir daher die fünf wichtigsten Kommandos vor, mit denen du in deinem Dateisystem die Übersicht behälst.
pwd: Lasse dir das aktuelle Verzeichnis anzeigen
Ein typisches Problem beim Einstieg in die Unix-Welt ist die Frage nach dem aktuellen Verzeichnis, denn nach dem Login auf der Shell, per SSH oder per FTP siehst du als aktuelle Verzeichnisangabe lediglich “~”, was für das Home-Verzeichnis des verwendeten Benutzerkontos steht. Durch das Kommando pwd (print working directory) erhälst du eine einfache Orientierungshilfe. Es zeigt dir den Pfad des aktuellen Arbeitsverzeichnisses an.
ls: Ermittel Details zu Dateien und Verzeichnissen
Eine Auflistung der Inhalte des aktuellen Verzeichnisses bzw. eines als Parameter angegebenen Verzeichnisses erhälst du mit ls. Allerdings wird das volle Potenzial des Listing-Kommandos nur selten ausgenutzt. Dabei erleichtern dir die folgenden Parameter die Übersicht in deinem Dateisystem deutlich:
- -a: zeigt in der Auflistung auch versteckte Dateien an, deren Name mit einem Punkt beginnt
- -l: erweitert die Ausgabe um zusätzliche Details wie Zugriffsrechte, Dateigrösse und Änderungsdatum
- -t: sortiert die Ausgabe nach dem Änderungsdatum
- -S: sortiert die Ausgabe nach der Dateigrösse
- -R: berücksichtigt auch die Inhalte von Unterverzeichnissen
Die Parameter kannst du kombinieren, um z.B. mit ls -alS eine detaillierte Auflistung (“-l”) des aktuellen Verzeichnisses zu erhalten, die auch versteckte Dateien enthält (“-a”) und anhand der Dateigröße sortiert ist (“-S”).
find: Nutze die Suche im Dateisystem
Wenn du nicht weißt, in welchem Pfad des Dateisystems sich eine Datei oder ein Verzeichnis befindet, kommt das find ins Spiel. Ihm übergibst du einen Basispfad für die Suche, sowie Informationen zu der gesuchten Datei bzw. dem gesuchten Verzeichnis als Parameter. Anschliessend werden dir die Ergebnisse der Suche angezeigt.
Ein einfaches Beispiel: mit find / -name “sites-enabled” findest du das Verzeichnis, in dem üblicherweise die Konfigurationsdateien des Webservers apache2 zur Konfiguration der erreichbaren Websites enthalten sind (z.B. “/etc/apache2/sites-enabled”).
Dabei sorgt der erste Parameter (“/”) dafür, dass die Suche an der Wurzel des Dateisystems beginnt. Wenn du weißt, dass sich die gesuchte Datei innerhalb des aktuellen Verzeichnisses befindet, gibst du stattdessen einfach “.” an. Genauso kannst du auch mehrere Verzeichnisse als Basis für die Suche verwenden, z.B. find /etc/apache2 /var/log -name “access.*”
Unterhalb der Verzeichnisse “/etc/apache2″ und “/var/log” nach Dateien, die mit “access” beginnen und eine beliebige Dateiendung (“*”dient als Platzhalter) haben.
Abbildung 1: Als Ergebnis der Suche wurde “/var/log/access.log” gefunden.
file: Identifiziere den Typ beliebiger Dateien
Nicht immer gibt dir die Dateiendung Auskunft über den Typ einer Datei, denn diese kann in den meisten Fällen einfach weggelassen oder durch eine beliebige Dateiendung ersetzt werden. Mit dem Kommando file erkennst du bei deiner Arbeit auf der Shell direkt, um was für einen Typ es sich bei einer Datei handelt, beispielsweise eine gepackte Datei (“Zip archive data”), Textdatei (“ASCII text”) oder XML-Datei (“XML document text”).
Mit den Parametern “–mime-type” und “–mime-encoding” werden dir zudem der konkrete MIME-Type (z.B. “application/xml”) und die Codierung einer Datei (z.B. “us-ascii”) angezeigt.
df: Lese den verfügbaren Speicherplatz aus
Eine wichtige Frage für die Arbeit mit deinem Server ist die nach dem verbleibenden Speicherplatz. Wenn beispielsweise Log-Dateien zu stark anwachsen, kann eine vollgelaufene Festplatte zum Ausbleiben der Protokollierung oder sogar zum Absturz von Diensten führen. Du solltest daher den verfügbaren Speicherplatz deines Servers im Auge behalten.
Eine Übersicht über den Verfügbaren Speicherplatz erhältst du mit dem Kommando df (disk free):
df –human-readable
Abbildung 2: Die Ausgabe zeigt, dass erst 1% des Speicherplatzes genutzt wird, also noch genügend freier Speicherplatz verfügbar ist.