Skip to main content

Praktische Übung

  1. Erstellen Sie eine neue EC2 Instanz. Klicken Sie anschliessend auf den Button Mit Instance verbinden um eine Web-Bash zu öffnen:
    image.png
  2. Selektieren Sie den Tab EC2-Instance-Verbindung und klicken Sie auf den Button Verbinden

Sie sehen nun folgende Ausgabe nach dem erfolgreichen Login.


       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
4 package(s) needed for security, out of 7 available
Run "sudo yum update" to apply all updates.

Die Anmeldung ist unter dem Benutzer ec2-user erfolgt. Sie können dies verifizieren, indem Sie nun den folgenden Befehl eintippen und mit Enter bestätigen:

whoami

Frage: Was für eine Ausgabe sehen Sie und was bewirkt der Befehl whoami vermutlich?


Der Benutzer ec2-user hat nur eingeschränkte Rechte. Mit diesem Benutzer können Sie beispielsweise keine System-Dateien einsehen oder verändern. Aus diesem Grund müssen Sie nun dem Betriebssystem mitteilen, dass Sie gerne nun mit dem Administrator-Benutzer arbeiten möchten. Verwenden Sie hierzu den Befehl sudo su und bestätigen Sie mit Enter.

[ec2-user@ip-172-31-95-132 ~]$ sudo su
[root@ip-172-31-95-132 ec2-user]# 

Frage: Was hat sich nun an der Text-Eingabe verändert. Beachten Sie den obenstehenden Output genau. Wie lautet der Name des Admin-Benutzers?


Mit dem Admin-Benutzer können Sie uneingeschränkt Dateien verändern auf dem Linux-System. Man spricht hier von dem sogenannten Root-Zugriff. Damit können Sie aber auch vieles kaputt machen. Setzen Sie daher auf einer produktiven Umgebung Befehle mit Bedacht ab.

Navigation im Dateisystem

Sie sind es sich gewohnt, dass Ordner visuell dargestellt werden um darin zu navigieren. In der Shell ist dies etwas anders. Die Ordner und Dateien werden als Text aufgelistet. Als erstes möchten wir nun herausfinden, in welchem Verzeichnis wir uns genau befinden. Dazu können Sie den Befehl pwd verwenden:

[root@ip-172-31-95-132 ec2-user]# pwd
/home/ec2-user

Vermutlich befinden sie sich ebenfalls im Home Verzeichnis des Benutzers ec2-user. Das Home-Verzeichnis entspricht hierbei dem C:/Users/<Benutzer> Verzeichnis unter Windows. Sie finden hier die persönlichen Daten des Benutzers.

Wenn Sie nun sehen möchten, ob sich im Verzeichnis des Benutzers ec2-user irgenwelche Dateien oder Verzeichnisse befinden, können Sie den Befehl ls absetzen. ls steht für Listing und listet alle Elemente in einem Verzeichnis auf:

[root@ip-172-31-95-132 ec2-user]# ls
[root@ip-172-31-95-132 ec2-user]# 

Sie sehen nun vermutlich kein Resultat. Es hat somit vermutlich keine Dateien. Dies stimmt jedoch nicht ganz, denn genau wie unter Windows, kann es versteckte Dateien geben. Diese können Sie aufrufen, indem Sie dem Befehl ls einen Parameter mitgeben (auch als Flag bekannt). Wir geben dem Befehl ls nun den Parameter a für all mit. Damit listen wir alle Dateien und Verzeichnisse auf, auch die versteckten. Ein Parameter wird mit einem Abstand mit einem Bindestrich dem gewünschten Befehl angehängt:

[root@ip-172-31-95-132 ec2-user]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .ssh

Nun werden die versteckten Dateien und Verzeichnisse ersichtlich. Sie können Sich nun vorstellen, dass dies bei vielen Dateien und Verzeichnissen eher unübersichtlich ist. Aus diesem Grund existiert ein weiterer Parameter. Mit dem Parameter l (kleines L) kann eine Listendarstellung erzwungen werden. Die beiden Parameter l und a können dabei kombiniert werden. Dies sieht so aus:

[root@ip-172-31-95-132 ec2-user]# ls -la
total 12
drwx------ 3 ec2-user ec2-user  74 Oct 17 22:30 .
drwxr-xr-x 3 root     root      22 Oct 17 22:30 ..
-rw-r--r-- 1 ec2-user ec2-user  18 Jul 15  2020 .bash_logout
-rw-r--r-- 1 ec2-user ec2-user 193 Jul 15  2020 .bash_profile
-rw-r--r-- 1 ec2-user ec2-user 231 Jul 15  2020 .bashrc
drwx------ 2 ec2-user ec2-user  29 Oct 17 22:30 .ssh

Nun sind viele Informationen ersichtlich. 

  • Die erste Spalte gibt die Berechtigungen der Dateien und Verzeichnissen aus. Sie erinnern sich aus dem Modul 117. (R = Read, W = Write und X = Execute). Der erste Buchstabe gibt hierbei an, ob es sich um eine Datei oder ein Verzeichnis handelt (d = Directory (Verzeichnis) / - = Datei)
  • Die dritte Spalte gibt den Besitzer der Datei aus. Wir sehen, die meisten Elemente gehören dem Benutzer ec2-user und ein Element dem Benutzer Root
  • Die vierte Spalte gibt die Gruppe welcher die Datei zugeordnet ist.
  • Die fünfte Spalte gibt die Grösse der Datei in Bytes an.
  • Die sechste bis achte Spalte gibt das Datum und die Uhrzeit an, wo die Datei das letzte Mal verändert wurde.
  • In der letzten Spalte ist der Name der Datei oder des Verzeichnisses ersichtlich.

Weiter sehen Sie im Verzeichnis zwei komische Elemente bestehend aus einem Punkt (.) und einem Doppelpunkt (..). Diese repräsentieren das aktuelle Verzeichnis (.) sowie das übergeordnete Verzeichnis (..). Wir benötigen diese Elemente zur Navigation innerhalb des Dateisystems. 

Nun können Sie den Inhalt in einem Verzeichnis anzeigen lassen und interpretieren.

Navigieren

Sie haben nun gelernt, wie Sie den Inhalt in einem Verzeichnis anzeigen können. Nun wird es Zeit, dass Sie sich auch andere Verzeichnisse anschauen können. Aus diesem Grund werden Sie nun als erstes ein Verzeichnis höher Navigieren. Dazu verwenden Sie den Befehl cd. Dies ist die Abkürzung für change directory (Ändere das Verzeichnis). Der Befehl cd erfordert immer die Angabe des Zielverzeichnisses. Wenn wir nun eine Verzeichnis-Ebene nach oben navigieren möchten, setzen Sie folgenden Befehl cd .. ab:

[root@ip-172-31-95-132 ec2-user]# cd ..
[root@ip-172-31-95-132 home]# 

Frage: Wie erkennen Sie den Namen des übergeordneten Verzeichnisses nachdem Sie gewechselt haben, ohne dass Sie den Befehl pwd verwenden? Wie lautete der Name des Verzeichnisses?




Kontrollieren Sie anschliessend mit dem Befehl pwd ob Ihre Vermutung korrekt ist. 

Navigieren Sie nun wieder in das Verzeichnis des Benutzers ec2-user:

[root@ip-172-31-95-132 ec2-user]# cd ..
[root@ip-172-31-95-132 home]# 

Geheimtipp: Wenn Sie im Dateisystem navigieren, können Sie die Tab-Taste verwenden. Es handelt sich hierbei um eine vervollständigungs-Funktion. Tippen Sie cd und anschliessend die Tab-Taste. Sie sehen nun alle verfügbaren Verzeichnisse. Schreiben Sie nun den ersten Buchstaben des gewünschten Verzeichnisses und tippen Sie erneut Tab. Der Name wird nun im Befehl automatisch ergänzt.

Sie können nun im Dateisystem navigieren.

Dateien schreiben

Es gibt verschiedene Möglichkeiten wie Sie unter Linux eine Datei erstellen oder bearbeiten können. Hierzu sind vorallem zwei Text-Editoren bekannt, Vim und Nano. Einen Text-Editor benötigen Sie, sobald z. B. eine Konfigurationdatei angepasst werden soll.

In dieser Übung werden wir den Text-Editor Nano verwenden, da dieser etwas einfacher ist. Falls Sie mit Vim bereits vertraut sind können die Aufgaben natürlich auch mit Vim gelöst werden.

Prüfen Sie als erstes mit den Befehl pwd ob Sie sich im korrekten Verzeichnis /home/ec2-user befinden. Erstellen Sie nun eine neue Datei mit dem Namen Testdatei.txt indem Sie nano aufrufen und als erstes Argument den Namen der Datei übergeben:

 

Nano öffnet nun im Editiermodus und Sie können Ihren Inhalt schreiben. Um die Datei zu speichern und beenden verwenden Sie die Tastenkombination CTRL + X. Nano wird Sie nun fragen, ob der gesetzte Dateinamen in Ordnung ist. Bestätigen Sie hier einfach mit Enter.

Sie können nun den Inhalt der Datei anzeigen. Eine Möglichkeit ist natürlich, dass Sie die Datei mit Nano wieder im Bearbeitungsmodus öffnen. Sie können aber auch mit dem Befehl cat den Inhalt der Datei direkt im Terminal darstellen lassen. Als Argument geben Sie den Dateinamen der gewünschten Datei an.

Falls Sie mit dem Namen der Datei nicht einverstanden sind können Sie diesen einfach umbenennen. Hierzu existiert der Befehl mv.