Was ist der Unterschied zwischen ls >
und ls >>
? Ich muss das für mein GCSE-Computing verstehen, weiß aber nicht, was der Unterschied ist.
command-line
Helen Schofield
quelle
quelle
man bash
).Antworten:
>
&>>
sind Umleitungsoperatoren; Sie übertragen die Ausgabe von etwas, in diesem Fallls
, an einen anderen Ort. Wenn diese Ausgabe in eine Datei geht,>
wird die Datei abgeschnitten - dh alle vorherigen Inhalte werden gelöscht, während>>
neue Daten an das Ende der Datei angehängt werden, wobei der vorherige Inhalt erhalten bleibt. Dies funktioniert mit jeder Eingabe, sodassecho
&cat
beispielsweise auch auf diese Weise verwendet werden kann.Interessant ist auch der
|
Betreiber, der die Daten an eine andere Anwendung weitergibt - so erhaltenls | cat -n
Sie eine zeilennummerierte Auflistung!Pipes ist der relevante Begriff.
quelle
strace
Ausgang fürbash -c 'echo a > blah'
:open("blah, O_WRONLY|O_CREAT|O_TRUNC, 0666)
, so gestutzt wäre der richtige Begriff sein.>>
zum Schreiben in eine Datei (z. B. ein Protokoll) hat auch die nette Seite bewirkt, dass am Anfang der saif-Datei keine "Nul" -Zeichen erscheinen, wenn die Datei abgeschnitten wird, während der Prozess noch darauf schreibt! (Beispiel: während der Rotation der Protokolldatei). Da "foo> file" nicht sucht, bemerkt es die Größenänderung nicht und zeigt immer noch weiter als bis zum Anfang, und das Betriebssystem füllt sich mit Nul.foo >>file
sucht und zeigt daher auf die neue Position (den Anfang).Die Symbole
>
und>>
werden verwendet, um die Ausgabe in eine Datei umzuleiten.Beide erstellen die Datei, wenn sie nicht existiert. Wenn die Datei bereits vorhanden ist,
>
wird die Datei überschrieben, wobei>>
die Daten an die Datei angehängt werden.So
ls > myfile
wird ein Dokument mit dem Namen erstellt,myfile
wenn es nicht vorhanden ist. Wennmyfile
es bereits vorhanden ist und Daten enthält, werden diese mit den neuen Daten, die Sie übergeben, überschrieben.Wobei
ls >> myfile
eine Datei erstellt, wenn sie nicht existiert, und Daten darauf schreibt. Wenn die Datei mit einigen Daten vorhanden ist, werden an ihrem Ende neue Daten hinzugefügt.quelle
WENN Sie ein einzelnes> verwenden, wird die Datei überschrieben, falls sie bereits vorhanden ist. Seien Sie sehr vorsichtig, wenn Sie diesen verwenden.
Wenn Sie zwei >> verwenden, wird es nur angehängt (mit anderen Worten, schreiben Sie am Ende der Datei), wenn es bereits vorhanden ist. Andernfalls wird eine neue Datei erstellt, falls sie nicht vorhanden ist.
quelle