Erstellung neuer Dateien in Linux: Eine Schritt-für-Schritt-Anleitung

Foto des Autors

By Jan

Verwendung der Linux-Kommandozeile zum Erstellen neuer Dateien

Die Linux-Kommandozeile bietet dir eine leistungsfähige Möglichkeit, neue Dateien zu erstellen. Befolge diese Schritte, um mit der Kommandozeile neue Dateien anzulegen:

Leere Dateien erstellen

Öffne zunächst ein Terminalfenster. Um eine leere Datei zu erstellen, verwende den Befehl touch gefolgt vom Namen der Datei, die du erstellen möchtest. Beispiel:

touch neue_datei.txt

Dateien mit Inhalt erstellen

Du kannst auch Dateien mit vordefinierten Inhalten erstellen, indem du den Befehl echo verwendest. Beispiel:

echo "Beispieltext" > meine_datei.txt

Der obige Befehl erstellt die Datei meine_datei.txt und schreibt den Text "Beispieltext" hinein.

Dateien mit Umleitungen erstellen

Du kannst den Befehl > auch zum Erstellen einer Datei aus anderen Quellen verwenden. Beispiel:

ls -l > dateiliste.txt

Der obige Befehl erstellt die Datei dateiliste.txt und leitet die Ausgabe des Befehls ls -l hinein.

Optionen zum benutzerdefinierten Festlegen von Dateinamen und Pfaden

Wenn du eine neue Datei erstellst, kannst du ihren Dateinamen und den Pfad, in dem sie gespeichert wird, anpassen. Dies gibt dir Flexibilität und Kontrolle über die Organisation deiner Dateien.

Dateinamen

Der Dateiname ist die Kennung für eine bestimmte Datei. Er kann Buchstaben, Zahlen, Unterstriche (_) und Punkte (.) enthalten. Leerzeichen sind jedoch nicht zulässig.

Um einen benutzerdefinierten Dateinamen anzugeben, verwende die Option -n gefolgt vom gewünschten Namen.

touch -n personal_notes.txt

Pfade

Der Pfad gibt den Speicherort der Datei innerhalb des Dateisystems an. Er besteht aus einer Reihe von Verzeichnissen, die durch Schrägstriche (/) getrennt sind.

Um einen benutzerdefinierten Pfad anzugeben, verwende die Option -d.

touch -d /home/user/documents/new_file.txt

Relative und absolute Pfade

Es gibt zwei Arten von Pfaden: relative und absolute.

  • Relative Pfade werden in Bezug auf das aktuelle Verzeichnis angegeben.
  • Absolute Pfade beziehen sich auf das Stammverzeichnis des Dateisystems.

Um einen absoluten Pfad anzugeben, beginne mit einem Schrägstrich (/).

Weitere Optionen zur Anpassung

Neben der Festlegung von Dateinamen und Pfaden gibt es weitere Optionen, mit denen du die Erstellung von Dateien anpassen kannst:

  • -c: Erstellt eine Datei nur, wenn sie noch nicht existiert.
  • -f: Erzwingt die Erstellung einer Datei, auch wenn sie bereits existiert.
  • -m: Legt die Zeit- und Datumsstempel der Datei fest.
  • -r: Kopiert die Berechtigungen und Zeit- und Datumsstempel einer vorhandenen Datei.

Festlegen von Berechtigungen für neu erstellte Dateien

Wenn du eine neue Datei erstellst, musst du Berechtigungen festlegen, die festlegen, wer die Datei lesen, schreiben und ausführen darf. Dies wird durch die drei Dateiberechtigungsbits gesteuert:

Lesen, Schreiben und Ausführen

  • Lesen (r): Erlaubt das Lesen der Dateiinhalte.
  • Schreiben (w): Erlaubt das Ändern oder Löschen von Dateiinhalten.
  • Ausführen (x): Erlaubt die Ausführung der Datei als Programm (nur für ausführbare Dateien).

So legst du Berechtigungen fest

Du kannst Berechtigungen beim Erstellen einer Datei mit dem -c-Flag des touch-Befehls festlegen:

touch -c mode file_name

Dabei ist:

  • mode die Berechtigungszeichenfolge im Format ugo+rwx. Hier:

    • u steht für Benutzer
    • g steht für Gruppe
    • o steht für andere
    • + fügt Berechtigung hinzu
    • - entfernt Berechtigung
    • r steht für Leseberechtigung
    • w steht für Schreibrechtigung
    • x steht für Ausführungsberechtigung
  • file_name ist der Name der zu erstellenden Datei.

Beispiel:

touch -c u+rw,g+r,o-x new_file

Anmerkung: Wenn du keine Berechtigungen angibst, erhält die neue Datei die Standardberechtigungen rw-r--r-- (644) für Benutzer, Gruppe und andere.

Berechtigungsmodi

Alternativ kannst du Berechtigungen auch mit einem Oktalwert festlegen. Dabei repräsentieren die drei Ziffern die Berechtigungen für Benutzer (erste Ziffer), Gruppe (zweite Ziffer) und andere (dritte Ziffer).

  • Beispielsweise gibt der Oktalwert 755 die folgenden Berechtigungen an:
    • Benutzer: lesen, schreiben, ausführen
    • Gruppe: lesen, ausführen
    • Andere: lesen, ausführen

Um Berechtigungen mit einem Oktalwert festzulegen, verwende die -m-Option des chmod-Befehls:

chmod -m octal_value file_name

Erstellen von Dateien mit vordefinierten Inhalten

In bestimmten Fällen kann es erforderlich sein, Dateien mit vordefinierten Inhalten anstelle einer leeren Datei zu erstellen. Dies ist hilfreich in Situationen, in denen du eine Vorlage, eine Konfigurationsdatei oder andere Daten einrichten möchtest, die beim ersten Öffnen der Datei verfügbar sein sollen.

Textdateien mit vordefinierten Inhalten erstellen

Um eine reine Textdatei mit vordefiniertem Text zu erstellen, verwende den echo-Befehl in Kombination mit der Umleitungszeichenfolge >. Die Syntax lautet wie folgt:

echo "Dein Text hier" > deine_datei.txt

Beispiel:

echo "Dies ist eine Textdatei mit vordefiniertem Text." > vordefinierter_text.txt

Binärdateien mit vordefinierten Inhalten erstellen

Das Erstellen von Binärdateien mit vordefinierten Inhalten ist etwas komplexer und hängt vom Format der Datei ab. In vielen Fällen kannst du jedoch den dd-Befehl verwenden, um Binärdaten in eine Datei zu schreiben. Die Syntax lautet wie folgt:

dd if=Eingabedatei of=Ausgabedatei cbs=Blockgröße

Beispiel:

Angenommen, du hast eine Binärdatei namens "binär.bin" mit einem vordefinierten Inhalt, kannst du sie wie folgt erstellen:

dd if=binär.bin of=neue_binärdatei.bin cbs=512

Bash-Skript zur automatischen Dateierstellung mit Inhalten

Wenn du mehrere Dateien mit vordefinierten Inhalten erstellen musst, kannst du ein Bash-Skript verwenden, um den Vorgang zu automatisieren. Du kannst den echo– oder dd-Befehl in Kombination mit einer for-Schleife verwenden, um Dateien basierend auf einer Liste von Namen und Inhalten zu erstellen.

Beispiel:

#!/bin/bash

# Liste der Dateinamen
dateinamen=(datei1.txt datei2.txt datei3.txt)

# Liste der Inhalte
inhalte=("Inhalt für Datei 1" "Inhalt für Datei 2" "Inhalt für Datei 3")

# Erstelle Dateien mit vordefinierten Inhalten
for ((i=0; i<${#dateinamen[@]}; i++)); do
  echo "${inhalte[i]}" > "${dateinamen[i]}"
done

Verwendung von Skripten zum automatischen Erstellen von Dateien

Wenn du häufig neue Dateien in Linux erstellen musst, kann die Verwendung von Skripten den Prozess erheblich automatisieren und beschleunigen. Skripte sind Textdateien, die Befehle enthalten, die beim Ausführen sequenziell ausgeführt werden.

Erstellen eines einfachen Skripts

Um ein einfaches Skript zum Erstellen neuer Dateien zu erstellen, öffnest du einen Texteditor wie nano oder vim und fügst den folgenden Code ein:

#!/bin/bash

# Befehl zum Erstellen einer Datei
touch neue_datei.txt

# Befehl zum Festlegen der Dateiberechtigungen
chmod 644 neue_datei.txt

Speichere die Datei mit der Erweiterung .sh (z. B. erstelle_datei.sh).

Ausführen des Skripts

Um das Skript auszuführen, öffne das Terminal und navigiere zu dem Verzeichnis, in dem sich das Skript befindet. Führe dann den folgenden Befehl aus:

sh erstelle_datei.sh

Das Skript erstellt die Datei neue_datei.txt im aktuellen Verzeichnis und setzt die Dateiberechtigungen auf 644 (Lese-/Schreibberechtigung für den Besitzer, Lese-/Schreibberechtigung für die Gruppe und keine Berechtigung für andere).

Automatisieren mit cron

Wenn du neue Dateien zu einem bestimmten Zeitpunkt oder in regelmäßigen Abständen erstellen möchtest, kannst du das Cron-Dienstprogramm verwenden. Cron ist ein Zeitplaner, mit dem du Aufgaben automatisieren kannst.

Füge den folgenden Befehl zum Crontab hinzu:

0 0 * * * /pfad/zum/erstelle_datei.sh

Dieser Befehl erstellt um 0:00 Uhr jeden Tag eine neue Datei mit dem Namen neue_datei.txt im angegebenen Pfad.

Integrieren von Variablen

Du kannst Variablen verwenden, um die zu erstellenden Dateien und Pfade anzupassen. Beispielsweise kannst du den folgenden Code verwenden, um eine neue Datei mit dem aktuellen Datum zu erstellen:

#!/bin/bash

date=$(date +%Y-%m-%d)

touch "$date.txt"
chmod 644 "$date.txt"

Weitere Überlegungen

  • Du kannst externe Programme wie find und awk in deinen Skripten verwenden, um dynamischere und komplexere Dateierstellungsaufgaben durchzuführen.
  • Verwende man touch und man chmod im Terminal, um detailliertere Informationen zu den Optionen und Parametern dieser Befehle zu erhalten.
  • Du kannst auch vorgefertigte Skripte online finden, wie z. B. das Shell-Skript create_files von Jeff Geerling, das eine Reihe von Optionen für das Erstellen neuer Dateien bietet.

Schreibe einen Kommentar