Dateiinhalte und Vergleich

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Willkommen in diesem praktischen Lab (Workshop) über die Arbeit mit Dateien in Linux! Wenn Sie neu in Linux sind, keine Sorge. Wir werden Sie Schritt für Schritt begleiten. In diesem Lab lernen Sie, wie Sie den Inhalt von Dateien anzeigen, bestimmte Teile von Dateien betrachten und Dateien vergleichen können. Dies sind grundlegende Fähigkeiten, die Ihnen helfen, sich im Linux-Dateisystem zurechtzufinden und es zu verstehen.

Ziele

Bis zum Ende dieses Labs können Sie Folgendes:

  • cat verwenden, um den gesamten Inhalt einer Datei anzuzeigen
  • head verwenden, um den Anfang einer Datei anzuzeigen
  • tail verwenden, um das Ende einer Datei anzuzeigen
  • diff verwenden, um den Inhalt von Dateien und Verzeichnissen zu vergleichen

Voraussetzungen

  • Ein Linux-System (in diesem Lab wird Ubuntu verwendet, aber die meisten Linux-Distributionen funktionieren ähnlich)
  • Grundlegende Vertrautheit mit der Verwendung eines Computers

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/head("File Beginning Display") linux/BasicFileOperationsGroup -.-> linux/tail("File End Display") linux/VersionControlandTextEditorsGroup -.-> linux/diff("File Comparing") subgraph Lab Skills linux/cat -.-> lab-270251{{"Dateiinhalte und Vergleich"}} linux/head -.-> lab-270251{{"Dateiinhalte und Vergleich"}} linux/tail -.-> lab-270251{{"Dateiinhalte und Vergleich"}} linux/diff -.-> lab-270251{{"Dateiinhalte und Vergleich"}} end

Dateiinhalt ausgeben

Zunächst öffnen Sie bitte ein Terminal auf dem Desktop ODER wechseln Sie zum Terminal-Tab in der Lab-Umgebung.

Screenshot des Terminalfensters

Sobald Sie ein Terminal geöffnet haben, sollten Sie eine Eingabeaufforderung sehen, die normalerweise mit einem $-Zeichen endet. Hier geben wir unsere Befehle ein.

Nun verwenden wir den cat-Befehl, um den Inhalt einer Datei anzuzeigen:

  1. Geben Sie im Terminal den folgenden Befehl ein und drücken Sie Enter:
cat /tmp/hello

Hier ist /tmp/hello der Pfad zur Datei, deren Inhalt wir anzeigen möchten. /tmp ist ein Verzeichnis (Ordner) auf Ihrem System, und hello ist der Name der Datei in diesem Verzeichnis.

  1. Nach dem Drücken von Enter sollten Sie den Inhalt der Datei sehen:
Hi,
I am Labby!

Dies ist alles, was sich in der Datei /tmp/hello befindet. Der cat-Befehl hat es uns im Terminal angezeigt.

Dateiinhalt mit Zeilennummern anzeigen

Nun verwenden wir erneut den cat-Befehl, aber diesmal fügen wir den Ausgabezeilen Zeilennummern hinzu.

  1. Geben Sie im Terminal den folgenden Befehl ein und drücken Sie Enter:
cat -n /tmp/hello

Das -n hier wird als Option oder Flag (Schalter) bezeichnet. Es teilt cat mit, alle Ausgabezeilen zu nummerieren.

  1. Sie sollten jetzt den Inhalt der Datei mit Zeilennummern sehen:
     1 Hi,
     2 I am Labby!

Dies kann sehr hilfreich sein, wenn Sie mit längeren Dateien arbeiten und auf bestimmte Zeilen verweisen müssen.

Die ersten Zeilen einer Datei ausgeben

Als Nächstes verwenden wir den head-Befehl. Wie der Name schon sagt, wird head verwendet, um den Anfang oder den "Kopf" einer Datei anzuzeigen.

  1. Geben Sie im Terminal den folgenden Befehl ein und drücken Sie Enter:
head -n1 /tmp/hello

Hier ist -n1 eine Option, die head anweist, nur die erste Zeile anzuzeigen. Die 1 kann durch eine beliebige Zahl ersetzt werden, um diese Anzahl von Zeilen anzuzeigen.

  1. Sie sollten die folgende Ausgabe sehen:
Hi,

Dies ist nur die erste Zeile der Datei. Standardmäßig, ohne die -n1-Option, würde head die ersten 10 Zeilen der Datei anzeigen.

Die ersten Bytes einer Datei anzeigen

Nun verwenden wir erneut den head-Befehl, diesmal jedoch, um eine bestimmte Anzahl von Bytes vom Anfang einer Datei anzuzeigen.

  1. Geben Sie im Terminal den folgenden Befehl ein und drücken Sie Enter:
head -c1 /tmp/hello

Die Option -c1 teilt head mit, nur das erste Byte (Zeichen) der Datei anzuzeigen. Wie bei -n können Sie die 1 durch eine beliebige Zahl ersetzen, um diese Anzahl von Bytes anzuzeigen.

  1. Sie sollten die folgende Ausgabe sehen:
H

Dies ist nur das erste Zeichen der Datei. In Textdateien entspricht jedes Zeichen normalerweise einem Byte.

Die letzten Zeilen einer Datei ausgeben

Nun kommen wir zum tail-Befehl. Wie Sie sich vielleicht denken können, ist tail das Gegenteil von head – es zeigt das Ende einer Datei an.

  1. Geben Sie im Terminal den folgenden Befehl ein und drücken Sie Enter:
tail -n1 /tmp/hello

Genau wie bei head teilt die Option -n1 tail mit, nur eine Zeile anzuzeigen, in diesem Fall die letzte Zeile der Datei.

  1. Sie sollten die folgende Ausgabe sehen:
I am Labby!

Dies ist die letzte Zeile unserer Datei. Ohne die Option -n1 würde tail standardmäßig die letzten 10 Zeilen anzeigen.

Die letzten Bytes einer Datei anzeigen

Ähnlich wie bei head können wir tail verwenden, um eine bestimmte Anzahl von Bytes vom Ende einer Datei anzuzeigen.

  1. Zuerst versuchen wir, das letzte Byte anzuzeigen. Geben Sie im Terminal den folgenden Befehl ein und drücken Sie Enter:
tail -c1 /tmp/hello

Möglicherweise sehen Sie keine Ausgabe. Dies liegt daran, dass das letzte Zeichen wahrscheinlich ein Zeilenumbruch ist, der unsichtbar ist.

  1. Versuchen wir stattdessen, die letzten zwei Bytes anzuzeigen. Geben Sie den folgenden Befehl ein und drücken Sie Enter:
tail -c2 /tmp/hello
  1. Jetzt sollten Sie sehen:
!

Die Option -c2 teilt tail mit, die letzten 2 Bytes (Zeichen) der Datei anzuzeigen. In diesem Fall wird das Ausrufezeichen angezeigt, das das letzte sichtbare Zeichen in unserer Datei ist.

Dateien vergleichen

Nun lernen wir, wie wir den diff-Befehl verwenden können, um zwei Dateien zu vergleichen und die Unterschiede zwischen ihnen zu erkennen.

  1. Zuerst stellen wir sicher, dass wir im richtigen Verzeichnis (Ordner) sind. Geben Sie den folgenden Befehl ein und drücken Sie Enter:
cd ~/project

Dies ändert unser aktuelles Verzeichnis in den "project"-Ordner in unserem Home-Verzeichnis. Das Symbol ~ ist eine Abkürzung für Ihr Home-Verzeichnis.

  1. Jetzt vergleichen wir zwei Dateien. Geben Sie den folgenden Befehl ein und drücken Sie Enter:
diff file1 file2

Dies teilt diff mit, den Inhalt von file1 und file2 zu vergleichen.

  1. Sie sollten eine Ausgabe ähnlich der folgenden sehen:
1c1
< this is file1
---
> this is file2

Diese Ausgabe sagt uns, dass die erste Zeile von file1 sich von der ersten Zeile von file2 unterscheidet. Das Symbol < zeigt den Inhalt von file1, und das Symbol > zeigt den Inhalt von file2.

Verzeichnisse vergleichen

Schließlich verwenden wir den diff-Befehl, um ganze Verzeichnisse zu vergleichen.

  1. Geben Sie im Terminal den folgenden Befehl ein und drücken Sie Enter:
diff -r ~/Desktop ~/Code

Die Option -r teilt diff mit, auch Unterverzeichnisse rekursiv zu vergleichen. ~/Desktop und ~/Code sind die Pfade zu den beiden Verzeichnissen, die wir vergleichen.

  1. Möglicherweise sehen Sie eine Ausgabe ähnlich der folgenden:
Only in /home/labex/Desktop: code.desktop
Only in /home/labex/Desktop: gedit.desktop
Only in /home/labex/Desktop: gvim.desktop
Only in /home/labex/Desktop: xfce4-terminal.desktop

Diese Ausgabe zeigt, dass das Desktop-Verzeichnis vier Dateien enthält, die nicht im Code-Verzeichnis vorhanden sind.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "File Contents and Comparing" (Dateiinhalte und Vergleich) abgeschlossen. Lassen Sie uns zusammenfassen, was Sie gelernt haben:

  1. Sie haben cat verwendet, um den gesamten Inhalt einer Datei anzuzeigen.
  2. Sie haben gelernt, wie Sie cat -n verwenden, um Dateiinhalte mit Zeilennummern anzuzeigen.
  3. Sie haben head verwendet, um den Anfang einer Datei sowohl zeilenweise als auch byteweise anzuzeigen.
  4. Sie haben tail verwendet, um das Ende einer Datei sowohl zeilenweise als auch byteweise anzuzeigen.
  5. Sie haben gelernt, wie Sie diff verwenden, um den Inhalt von Dateien zu vergleichen.
  6. Schließlich haben Sie diff -r verwendet, um ganze Verzeichnisse zu vergleichen.

Diese Befehle sind grundlegende Werkzeuge in Linux. Wenn Sie weiterhin mit Linux arbeiten, werden Sie feststellen, dass Sie diese Befehle häufig verwenden, um Dateien und Verzeichnisse zu untersuchen und zu vergleichen.

Denken Sie daran, dass Sie, wenn Sie jemals vergessen, wie Sie einen Befehl verwenden, immer man gefolgt vom Befehlsnamen eingeben können (z.B. man cat), um die Handbuchseite für diesen Befehl anzuzeigen. Dies gibt Ihnen detaillierte Informationen über alle verfügbaren Optionen für jeden Befehl.

Üben Sie weiterhin mit diesen Befehlen an verschiedenen Dateien und Verzeichnissen, um sich besser damit vertraut zu machen. Je öfter Sie sie verwenden, desto natürlicher werden sie für Sie werden!