Auf der Kommandozeile erstellst du neue Dateien direkt auf der Kommandozeile. Je nach Situation stehen dir verschiedene Methoden zur Verfügung: leere Dateien, Dateien mit Inhalt oder große Testdateien.

Voraussetzung: Schreibrechte

Für die Erstellung einer Datei benötigst du Schreibrechte im Zielverzeichnis. Ohne diese Berechtigung erhältst du eine Fehlermeldung.

Mit touch eine leere Datei erstellen

Der touch-Befehl erstellt leere Dateien oder aktualisiert Zeitstempel bestehender Dateien.

touch datei.txt

Existiert datei.txt bereits, werden nur die Zeitstempel aktualisiert. Mehrere Dateien erstellst du durch Leerzeichen getrennt:

touch datei1.txt datei2.txt datei3.txt

Mit Umleitung eine Datei erstellen

Der Umleitungsoperator > schreibt die Ausgabe eines Befehls in eine Datei. Ohne Befehl davor erstellst du eine leere Datei:

> datei.txt

Das ist die kürzeste Methode zur Dateierstellung. Vorsicht: Der >-Operator überschreibt bestehende Dateien ohne Rückfrage.

Der >>-Operator hängt Inhalte an eine bestehende Datei an, statt sie zu überschreiben.

Mit cat eine Datei erstellen

Der cat-Befehl liest und verkettet Dateien. Mit Umleitung erstellst du eine neue Datei und gibst den Inhalt direkt ein:

cat > datei.txt

Nach Eingabe des Textes beendest du mit Strg+D. Der Inhalt wird gespeichert.

Mit echo eine Datei erstellen

Der echo-Befehl gibt Text aus. In Kombination mit Umleitung schreibst du diesen Text direkt in eine Datei:

echo "Erste Zeile" > datei.txt

Für eine leere Datei mit einem Zeilenumbruch:

echo > datei.txt

Mit >> hängst du weiteren Text an:

echo "Zweite Zeile" >> datei.txt

Mit Heredoc mehrzeilige Dateien erstellen

Heredoc ermöglicht die Eingabe mehrerer Zeilen in einem Block. Das ist praktisch für Shell-Skripte:

cat > datei.txt << EOF
Erste Zeile
Zweite Zeile
Dritte Zeile
EOF

Alles zwischen << EOF und EOF wird in die Datei geschrieben. Der Begrenzer (hier EOF) kann beliebig gewählt werden. Heredoc unterstützt Variablen und Befehlssubstitution.

Große Dateien für Tests erstellen

Für Geschwindigkeitstests oder als Platzhalter benötigst du manchmal große Dateien.

Mit dd

Der dd-Befehl erzeugt eine 1-GB-Datei:

dd if=/dev/zero of=testdatei.bin bs=1 count=0 seek=1G

Mit fallocate

Schneller geht es mit fallocate:

fallocate -l 1G testdatei.bin

fallocate reserviert den Speicherplatz sofort, ohne jeden Block einzeln zu schreiben.

Zusammenfassung

MethodeAnwendung
touchLeere Dateien erstellen, Zeitstempel aktualisieren
>Schnelle leere Datei, Ausgabe umleiten
cat >Interaktiv Inhalt eingeben
echo >Einzeiler mit Text erstellen
HeredocMehrzeilige Dateien in Skripten
dd, fallocateGroße Testdateien erzeugen

Wähle die Methode, die zu deinem Anwendungsfall passt. Für leere Dateien ist touch am gebräuchlichsten, für Dateien mit Inhalt echo oder Heredoc.