
Ich habe den Befehl „cat“ in einigen Online-Inhalten gesehen und war neugierig, was er cat
bedeutet und wozu er im Kontext von jemandem dient, der nur einige einfache Befehlszeilenaufgaben macht.
Antwort1
cat
Der Hauptzweck besteht darin,Katzeenate files. cat file1 file2 ...
zeigt den Inhalt von file
und file2
den anderen nacheinander an, als ob der Inhalt in einer einzigen Datei wäre. Siehe diemanpage:
NAME
cat - concatenate and print files
Es ist für den Einsatz in folgenden Fällen vorgesehen:
Ein Zielbefehl kann nicht aus Dateien lesen und Sie müssen mehrere Dateien an ihn übergeben. Ein Beispiel ist der
tr
Dienstprogramm. Normalerweise würden Sie mit einer Datei Folgendes tun:tr < file
Bei mehreren Dateien kann die Umleitung jedoch nicht verwendet werden. Sie müssen daher Folgendes tun:
cat file1 file2 ... | tr
- ein Zielbefehldürfenaus mehreren Dateien lesen, aber sein Verhalten kann sich ändern, wenn mehrere Dateien übergeben werden. Ein Beispiel ist
wc
, das die Anzahl für jede Datei zusammen mit den Dateinamen ausgibt, wenn Sie vielleicht nur die Gesamtzahl ohne Dateinamen gewünscht hätten.
Denken Sie daran, dass die meisten Befehle, auf die Sie stoßen ( grep
, sed
, awk
, sort
, ...), Dateien problemlos lesen können.
Wenn Sie wollenSichtder Inhalt einer Datei,benutze einenPager-less
Undmore
eignen sich beide hervorragend zum Präsentieren von Dateien zur Anzeige und sind weitaus bequemer zu verwenden.
Antwort2
cat
ist einer der am häufigsten verwendeten Befehle in Unix-ähnlichen Betriebssystemen. Er hat drei verwandte Funktionen in Bezug auf Textdateien:
- sie anzeigen
- Kopien davon kombinieren
- neue erstellen.
- Dateien kopieren
Die allgemeine Syntax von cat lautet:
cat [options] [filenames] [-] [filenames]
Dateien lesen
Die häufigste Verwendung von cat ist das Lesen von Dateiinhalten, und cat ist für diesen Zweck oft das bequemste Programm. Um eine Textdatei zur Anzeige auf dem Bildschirm zu öffnen, müssen Sie lediglich das Wort cat gefolgt von einem Leerzeichen und dem Namen der Datei eingeben und dann die Eingabetaste drücken. Im Folgenden wird beispielsweise der Inhalt einer Datei mit dem Namen file1 angezeigt:
cat file1
Verkettung
Die zweite Rolle von „cat“ ist die Verkettung. (Das ist der Ursprung des merkwürdigen Namens von „cat“). Dies hat keine Auswirkungen auf die Originaldateien.
Beispielsweise verkettet der folgende Befehl Kopien des Inhalts der drei Dateien file1, file2 und file3:
cat file1 file2 file3
Der Inhalt jeder Datei wird auf dem Bildschirm angezeigt. Diese Ausgabe könnte mit dem Ausgabeumleitungsoperator genauso einfach in eine andere Datei umgeleitet werden, beispielsweise in Datei4, und zwar wie folgt:
cat file1 file2 file3 > file4
Dateierstellung
Dank an@muruKommentar :cat kann neue Dateien abhängig von der Shell-Umleitungsfunktion und nicht von sich selbst erstellen
Bei kleinen Dateien ist dies oft einfacher als die Verwendung von vi, gedit oder anderen Texteditoren. Dies erreichen Sie, indem Sie cat gefolgt vom Ausgabeumleitungsoperator und dem Namen der zu erstellenden Datei eingeben, dann drücken ENTERund schließlich gleichzeitig die Tasten Ctrl& drücken d.
Eine neue Datei mit dem Namen file1 kann beispielsweise durch die Eingabe von
cat > file1
Drücken Sie dann ENTERund drücken Sie gleichzeitig die Tasten Ctrl& d.
PS1: Wenn eine Datei mit dem Namen file1 bereits existiert, wird sie überschrieben
PS2: Sie können an eine bestehende Datei anhängen, indem Sie den Anfügeoperator verwenden, >>
z. B. cat >> file1
Dateien kopieren
Der Befehl cat kann auch verwendet werden (abhängigüber die Shell-Umleitungsfunktion), um eine neue Datei zu erstellen und die Daten aus einer vorhandenen Datei dorthin zu übertragen. Beispiel: Erstellen Sie eine Kopie der Datei oldfile.txt
:
cat oldfile.txt > newfile.txt
Verweise:
Antwort3
Damit kann der Inhalt einer Datei angezeigt werden. Beispiel: cat "my file.txt"
. Sie können damit auch man cat
Details darüber anzeigen, wofür es cat
verwendet werden kann.
Antwort4
Hier istein anderer Wegzur Dateierstellung mittels Shell-Umleitung (oder Piping) und cat
:
cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF
cat << EOF
gibt die folgenden Zeilen aus, bis die Zeichenfolge EOF
erneut gefunden wird. Dann leitet >
( >>
) die Ausgabe in die Datei um foo.sh
. Wenn Sie als Root eine Datei erstellen müssen, können Sie die Ausgabe alternativ an den Befehl tee
( tee -a
) weiterleiten, der vom Befehl ausgeführt wird sudo
:
cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
- Das Obige macht die Datei ausführbar (
chmod +x
), wenn sie erfolgreich erstellt wurde (&&
). - Die besondere Bedeutung einiger Zeichen (wie
$
) sollte\
innerhalb der Ausgabe von maskiert (mit ) werdencat
.