Ich versuche nur, grundlegende Terminalbefehle zu überprüfen. Wie erstelle ich eine Textdatei nur mit dem Terminal?
Ich versuche nur, grundlegende Terminalbefehle zu überprüfen. Wie erstelle ich eine Textdatei nur mit dem Terminal?
Antworten:
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 eine beliebige Nicht-GUI - Editor ( emacs -nw
, joe
, nano
, vi
, vim
, ...).
Wenn Sie die Befehlszeile verwenden wollten, fragen Sie sich, wie Sie eine Datei mit der Shell erstellen können. 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 die Ausgabeumleitung . Der folgende Befehl erstellt beispielsweise eine Datei foo.txt
mit dem Namen, die die Zeile enthältHello, world.
echo 'Hello, world.' >foo.txt
Wenn Sie mehrere Zeilen schreiben möchten, haben Sie hier einige Möglichkeiten. Sie können verwenden printf
.
printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt
Sie können ein Zeichenfolgenliteral mit Zeilenumbrüchen verwenden.
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
Auf der Kommandozeile können Sie dies direkter mit tun cat
. Leiten Sie die Ausgabe in die Datei um und geben Sie die Eingabe Zeile für Zeile in cat
die Standardeingabe ein. Drücken Sie Ctrl+ Dam Zeilenanfang, um das Ende der Eingabe anzuzeigen.
$ cat> foo.txt Erste Zeile. Zweite Reihe. Dritte Zeile. Ctrl+D
In einem Skript würden Sie ein Here-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 folgenden touch
Befehl verwenden: Die Datei wird erstellt, wenn sie nicht vorhanden ist, und das Datum der letzten Änderung wird nur aktualisiert, wenn es vorhanden ist.
touch foo.txt
Äquivalent:
>>foo.txt
dh foo.txt
zum Anhängen öffnen , aber 0 Bytes schreiben - dadurch wird die Datei erstellt, aber nicht geändert. Im Gegensatz touch
dazu wird das Datum der letzten Änderung der Datei nicht aktualisiert, wenn diese bereits vorhanden ist.
Um eine leere Datei zu erstellen und den Inhalt der Datei zu entfernen, wenn die Datei bereits vorhanden ist, können Sie verwenden
>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 vorhanden ist , wird es es schaffen , und öffnen Sie es in nano
.
Dasselbe kann durch einfaches Ersetzen nano
durch emacs
oder geschehen, vim
und es wird emacs
oder vim
anstelle von verwendetnano
cat
mit <<
und erwähnen >>
.
<<
und >>
werden in Was sind die Steuerungs- und Umleitungsoperatoren der Shell?
Alles was Sie brauchen, um eine leere Datei zu erstellen, ist:
> my.txt
:> my.txt
benötigt. :
ist ein leerer Befehl.
Sie können das Bearbeitungsprogramm nano, vi oder emacs 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 wie auch immer, ich werde 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, in allen UNIX-System-VI kommt mit; Emacs nicht, müssen Sie Emacs installieren. Nano hingegen ist populärer; Nur für den Fall, dass das nicht reagiert, bedeutet dies, dass Sie "nano filename.ext" eingeben und nichts passiert. Sie müssen es installieren.
Sobald Sie vi filename.txt eingeben, wird höchstwahrscheinlich eine neue Datei erstellt. Sie sollten sich über die Verwendung von vi, emacs oder nano bei Google informieren, bevor Sie loslegen. Das Schreiben und Bearbeiten einer Datei sowie das Verwenden der Tools zum Suchen und Ersetzen von Text 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
Folgendes ist hilfreich, wenn Sie nicht weiterkommen und eine mehrzeilige Textdatei in der Befehlszeile erstellen müssen:
# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile
This "should"
prove useful, 'maybe'.
Sie können einen cat
anderen Befehl, z. B. grep
ein Muster , durch einen anderen ersetzen und grep für Ihre Eingabe ausführen lassen. Dies würde dann auf die gleiche Weise in eine Datei ausgegeben.