it-swarm.com.de

Wie erstelle ich eine einfache TXT-Datei (Textdatei) mit dem Terminal?

Ich versuche nur, grundlegende Terminalbefehle zu überprüfen. Wie erstelle ich eine Textdatei nur mit dem Terminal?

85
Mike Wentworth

Sie können kein Terminal zum Erstellen einer Datei verwenden. Sie können eine Anwendung verwenden, die in einem Terminal ausgeführt wird. Rufen Sie einfach einen Nicht-GUI-Editor auf (emacs -nw, joe, nano, vi, vim,…).

Wenn Sie die Befehlszeile verwenden wollten, fragen Sie, wie Sie eine Datei mit der Shell erstellen. Siehe Was ist der genaue Unterschied zwischen einem 'Terminal', einer 'Shell', einem 'tty' und einer 'Konsole'?

Die grundlegende Methode zum Erstellen einer Datei mit der Shell ist Ausgabeumleitung . Mit dem folgenden Befehl wird beispielsweise eine Datei mit dem Namen foo.txt Erstellt, die die Zeile Hello, world. Enthält.

echo 'Hello, world.' >foo.txt

Wenn Sie mehrere Zeilen schreiben möchten, finden Sie hier einige Möglichkeiten. Sie können printf verwenden.

printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt

Sie können ein Zeichenfolgenliteral verwenden, das Zeilenumbrüche enthält.

echo 'First line.
Second line.
Third line.' >foo.txt

oder

echo $'First line.\nSecond line.\nThird line.' >foo.txt

Eine andere Möglichkeit besteht darin, Befehle zu gruppieren.

{
  echo 'First line.'
  echo 'Second line.'
  echo 'Third line.'
} >foo.txt

In der Befehlszeile können Sie dies direkter mit cat tun. Leiten Sie die Ausgabe in die Datei um und geben Sie die Eingabe zeilenweise in die Standardeingabe von cat ein. Drücken Sie Ctrl+D am Anfang der Zeile, um das Ende der Eingabe anzuzeigen.

 $  cat> foo.txt  Erste Zeile.  Zweite Zeile.  Dritte Zeile. Ctrl+D

In einem Skript würden Sie ein hier Dokument verwenden, um den gleichen Effekt zu erzielen:

cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF

Wenn Sie nur eine leere Datei erstellen möchten, können Sie den Befehl touch verwenden: Er erstellt die Datei, wenn sie nicht vorhanden ist, und aktualisiert nur das Datum der letzten Änderung, falls vorhanden.

touch foo.txt

Gleichwertig:

>>foo.txt

d.h. öffnen Sie foo.txt zum Anhängen, aber schreiben Sie 0 Bytes hinein - dies erstellt die Datei, ändert sie jedoch nicht. Im Gegensatz zu touch wird das Datum der letzten Änderung der Datei nicht aktualisiert, wenn es bereits vorhanden ist.

Sie können verwenden, um eine leere Datei zu erstellen und den Inhalt der Datei zu entfernen, falls die Datei bereits vorhanden ist

>foo.txt
touch ~/Desktop/something.txt

Dadurch wird eine leere txt -Datei erstellt.

Oder

echo "Hello" > ~/Desktop/somethingelse.txt

Dadurch wird eine txt -Datei mit der Aufschrift "Hallo" erstellt.

nano ~/Desktop/anotherfile.txt

Dies öffnet ~/Desktop/anotherfile.txt in nano, oder wenn es nicht existiert, wird es erstellt und in nano geöffnet.

Das gleiche kann durch einfaches Ersetzen von nano durch emacs oder vim erfolgen, und es wird emacs oder vim anstelle von nano

13
DisplayName

Zum Erstellen einer leeren Datei ist lediglich Folgendes erforderlich:

> my.txt
9
SAM

Etwas hilfreiches, wenn Sie nicht weiterkommen und eine mehrzeilige Textdatei in der Befehlszeile erstellen müssen, ist ungefähr so:

# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile 
This "should"
prove useful, 'maybe'.

Sie können cat durch einen anderen Befehl ersetzen, z. B. grep und ein Muster, und grep muss seine Aufgabe bei Ihrer Eingabe erledigen, und dies würde in dieselbe Datei ausgegeben Mode.

3
user44370

Sie können entweder das Nano-, Vi- oder Emacs-Bearbeitungsprogramm verwenden, um Dateien auf Terminalebene zu erstellen. Wenn Sie ein x Windows-System verwenden, müssen Sie Ihr System anweisen, das Programm in der GUI nicht zu verwenden. aber trotzdem werde ich emacs als Beispiel verwenden.

Aus der Bash; Art:

 emacs filename.txt (press enter) - it will create an empty file with the filename specified "filename.txt". It will save "filename.txt" from which ever 
directory type in "emacs filename.txt" command.

denken Sie daran, dass in allen UNIX-Systemen VI mitgeliefert wird. emacs nicht, Sie müssen emacs installieren. Nano hingegen ist beliebter; Nur für den Fall, dass dies nicht reagiert, bedeutet dies, dass Sie "nano filename.ext" installieren und nichts passiert. Sie müssen es installieren.

sobald Sie vi filename.txt ausgeben, werden Sie höchstwahrscheinlich eine neue Datei erstellen. Sie sollten vi, emacs oder nano nachschlagen, wie Sie es bei Google verwenden können, bevor Sie beginnen. Das Schreiben, Bearbeiten einer Datei und das Suchen und Ersetzen von Text mithilfe der Tools unterscheidet sich in diesen Bearbeitungsprogrammen. Ich mag Emacs aus allen Möglichkeiten, aber Sie werden Entwickler finden, die von vi und nano besessen sind oder diese bevorzugen

2
unixmiah