Modius - Techblog

  • Ansible
  • Docker
  • DevOps
  • Gastautor werden
  • Newsletter abonnieren
  • Über Mich
  • Kontakt

Aufbau und Umgang mit der Verzeichnisstruktur unter Linux

Veröffentlicht am 28. Oktober 2016 von Christian Piazzi Hinterlasse ein Kommentar , Aktualisiert am 28. Oktober 2016
Geschätzte Lesezeit: 4 Minuten

Da ich immer mal wieder in den letzten Jahren mit dem Gedanken gespielt habe, mich LPIC-1 zertifizieren zu lassen, habe ich nun mal beschlossen einige Themengebiete für diese Zertifizierung hier auf dem Blog aufzuarbeiten. Den Anfang soll nun dabei das Thema Verzeichnisstrukturen, Dateien und die dafür benötigten Befehle.

Inhaltsverzeichnis

  • 1 Datei- und Pfadnamen
  • 2 Kommandos für den Umgang mit Verzeichnissen
  • 3 Anlegen und löschen von Verzeichnissen

Ich versuche mich dabei etwas an den entsprechenden Prüfungsunterlagen zu orientieren, welche durch die tuxcademy bereit gestellt werden (https://www.tuxcademy.org/).

Datei- und Pfadnamen

Beginnen wir mit Dateien und Pfaden. Einer der wichtigsten hinweise hier ist, dass Linux zwischen Groß- und Kleinschreibung in den Datei- und Ordnernamen unterscheidet. Viele Benutzer aus dem Windows Bereich sind dies nicht gewohnt und wundern sich, warum Dateien nicht gefunden werden.

Eine weiter rechte wichtige Information ist, dass Linux nicht auf die Dateiendungen angewiesen ist. Ein Beispiel dafür sind Textdateien. Diese müssen auf einem Linux System nicht mit .txt enden.
Etwas vorsichtig muss man mit der Thematik jedoch trotzdem Umgehen. Nur weil Linux von Haus aus keine Endungen braucht, heißt das nicht, dass Dienste bzw. Software nicht darauf angewiesen ist.

So will zum Beispiel ein Webserver natürlich .html oder .php Dateien haben. Und ein Compiler erwartet auch eine .c oder .h Datei. Wichtig hierbei ist zu wissen, dass dies von der Software abhängig ist und nicht vom Betriebssystem.

Sonderzeichen oder Umlaute können in den Dateinamen grundsätzlich verwendet werden. Es ist aber davon abzuraten.

Daraus ergeben sich die folgenden Zeichen, die verwendet werden können.

1
2
3
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789+-._

Um Problemen vorzubeugen sollten die letzten vier Zeichen nicht am Anfang einer Datei stehen, da diese bestimmte Funktionalitäten zur Folge haben kann. Der Punkt am Anfang sorgt zum Beispiel dafür, dass die Datei versteckt wird.

Diese Konventionen gelten auch für alle Verzeichnisse.

Kommen wir jetzt zu den Pfaden. Hierbei gilt es den absoluten und den relativen Pfad zu unterscheiden.

Ein absoluter Pfad ist immer der komplette Pfad. Er beginnt also immer in Wurzelverzeichnis /.

Ein relativer Pfad beginnt immer im aktuellen Verzeichnis.

Um das ganze etwas zu verdeutlichen ein kleines Beispiel. Wir befinden uns im Ordner /etc/apache2. Von hier aus wollen wir in das Verzeichnis /etc/apache2/users wechseln. Dabei können wir einmal den absoluten und einmal den relativen Pfad benutzen. Das ganze sieht dann wie folgt aus:

Shell
1
2
3
4
5
#absoluter Pfad
cd /etc/apache2/users/
 
#relativer Pfad von /etc/apache2
cd users/

Wie wir sehen ist die Verwendung des relativen Pfades etwas kürzer. Hier gibt es auch noch einen kleinen Trick. Wir befinden uns immer noch im Verzeichnis /etc/apache2/. Jetzt wollen wir in den Ordner /etc/resolver/ wechseln. Der absolute Pfad ist dabei recht einfach. Wollen wir an dieser Stellen einen relativen Pfad benutzen, müssen wir .. verwenden. Mit cd .. können wir Ordner höher springen. In unserem Fall also nach /etc/. Die beiden Befehle würde dann so aussehe:

Shell
1
2
3
4
5
#absoluter Pfad
cd /etc/resolver
 
#relativer Pfad von /etc/apache2
cd ../resolver

Kommandos für den Umgang mit Verzeichnissen

Um richtig mit der Verzeichnisstruktur umgehen zu können sind im ersten Schritt drei Kommandos wichtig: cd, pwd und ls

cd haben wir ja schon kennen gelernt. Mit diesem Kommando kann man unter der Verwendung eines absoluten oder relativen Pfades sich in der Verzeichnisstruktur von Linux bewegen. Hier gibt es auch nicht weiter zu beachten.

pwd ist ein recht nützlicher Befehl um festzustellen in welchem Ordner man sich gerade befindet. Dafür kann man einfach pwd eingeben und bekommt den absoluten Pfad als Ausgabe:

Shell
1
2
pwd
/Users/Christian/Sites/symfonyBundle

Mit dem Befehl ls kann man sich den Inhalt eines Verzeichnisses anzeigen lassen. Das ganze sieht dann zum Beispiel so aus:

1
2
3
4
ls
README.md         composer.json     src/              vendor/
app/              composer.lock     tests/            web/
bin/              phpunit.xml.dist  var/

Die Ausgabe können wir nun noch mit der Angabe von Parametern verfeinern. Wenn wir zum Beispiel ein -l anfügen, bekommen wir eine Liste der Dateien und einige Zusatzinformationen:

Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
ls -l
total 176
-rw-rw-rw-   1 Christian  staff    87B 21 Sep 18:00 README.md
drwxr-xr-x   8 Christian  staff   272B  3 Sep 18:02 app/
drwxr-xr-x   4 Christian  staff   136B  3 Sep 18:04 bin/
-rw-rw-rw-   1 Christian  staff   2,0K 21 Sep 18:00 composer.json
-rw-rw-rw-   1 Christian  staff    73K 21 Sep 18:00 composer.lock
-rw-r--r--   1 Christian  staff   978B  3 Sep 18:02 phpunit.xml.dist
drwxr-xr-x   5 Christian  staff   170B 20 Okt 14:33 src/
drwxr-xr-x   3 Christian  staff   102B  3 Sep 18:02 tests/
drwxr-xr-x   7 Christian  staff   238B  3 Sep 18:04 var/
drwxr-xr-x  16 Christian  staff   544B  3 Sep 18:04 vendor/
drwxr-xr-x  10 Christian  staff   340B  3 Sep 18:04 web/

Hier sieht man jetzt unter anderem auch die Rechte der Dateien und Ordner. Dies will ich an dieser Stelle nicht erklären, da ich vor einiger Zeit schon mal einen Artikel dazu geschrieben (Rechtevergabe unter Linux).

Der ls Befehl kann für die LPI-101 Zertifizierung recht wichtig sein. Ihr sollte euch deshalb auf jedenfall folgende Parameter einprägen:

  • -a oder –all zeigt auch versteckte Dateien an
  • -i oder –inode gibt die eindeutige Dateinummer (Inode-Nr.) aus
  • -l oder –format=long liefert zusätzliche Informationen
  • –color=no verzichtet auf die Farbcodierung
  • -p oder -F markiert Dateityp durch angehängte Sonderzeichen
  • -r oder –reverse kehrt Sortierreihenfolge um
  • -R oder –recursive durchsucht auch Unterverzeichnisse
  • -S oder –sort=size sortiert Dateien nach Größe (größte zuerst)
  • -t oder –sort=time sortiert Dateien nach Zeit (neueste zuerst)
  • -X oder –sort=extension sortiert Dateien nach Dateityp

Anlegen und löschen von Verzeichnissen

Neben dem finden und verwenden von Verzeichnissen ist es natürlich noch wichtig, wie man Verzeichnisse anlegt bzw. löscht. Dafür können die Befehle mkdir und rmdir verwendet werden.

Beim Anlegen eines Verzeichnisses hat man die Möglichkeit den relativen oder absoluten Pfad zu verwenden oder den Ordner direkt in dem Verzeichnis in dem wir uns momentan befinden anzulegen. Hier ein Beispiel für die drei Möglichkeiten.

1
2
3
4
5
6
7
8
#direkt im Ordner
mkdir test
 
#relativer Pfad (Beispiel)
mkdir ../../test
 
#absoluter Pfad
mkdir /home/modius/test

In allen drei Fällen wird ein Ordner Test angelegt.

Der rmdir Befehl funktioniert genauso wie mkdir, nur das er ein Verzeichnis löscht und nicht erstellt.

Shell
1
2
3
4
5
6
7
8
#direkt im Ordner
rmdir test
 
#relativer Pfad (Beispiel)
rmdir ../../test
 
#absoluter Pfad
rmdir /home/modius/test

Kategorie: Linux Tags: absoluter Pfad, cd, Linux, LPI-101, LPIC, ls, pwd, relativer Pfad

Über Christian Piazzi

Ich blogge hier über alles, was mir so in meinem ITler Altag über den Weg läuft =)
Man findet mich privat bei Google+ und Twitter

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

  • Linux
  • Internet, Bloggen & Co
  • Programmierung
  • Sicherheit
  • Netzwerk & Co
  • Mikrokontroller
  • Windows

Beliebte Artikel

  • Docker Container – anzeigen, starten, stoppen und löschen
  • Nextcloud https mit self-signed Zertifikat einrichten
  • ioBroker auf dem Raspberry Pi installieren und konfigurieren
  • Fritzbox 7490 – VPN mit dynDNS einrichten
  • systemctl / systemd richtig verwenden

Neueste Kommentare

  • Thorben bei Nextcloud https mit self-signed Zertifikat einrichten
  • Sepp bei Automatisierte Dokumentation von Python Projekten mit sphinx
  • Sascha bei Arduino – 4fach 7-Segmentanzeige mit Schieberegister
  • Sylvio Seidel bei Nextcloud https mit self-signed Zertifikat einrichten
  • Markus Beier bei ioBroker auf dem Raspberry Pi installieren und konfigurieren

Werbung

Archive

Kontakt, Datenschutz und Impressum

  • Kontakt
  • Datenschutz
  • Impressum

Schlagwörter

Anleitung Ansible Apache Apple App Store Automatisierung Blogparade C++ Centos centos 7 CentOS7 Container Datenbank DevOps Docker Dr. Racket Dr. Scheme funktional Gastartikel Google HowTo httpd Icinga2 Icinga 2 Installation itsm Linux Minecraft Monitoring mooc MySQL owncloud PHP Plugin Programmierung python Raspberry Pi Schritt für Schritt Server Sicherheit Tutorial Ubuntu Update Windows Wordpress

Copyright © 2022 · Outreach Pro on Genesis Framework · WordPress · Anmelden