Wie andere Leute geantwortet haben, >
handelt es sich nicht um einen Befehl, sondern um einen Umleitungsoperator. Der Begriff "Umleitungsoperator" bezieht sich jedoch nicht speziell auf die >
, sondern auf eine Reihe verschiedener möglicher Umleitungsoperatoren. In der dash
Manpage sind die folgenden Umleitungsoperatoren aufgeführt:
< > >| << >> <& >& <<- <>
Ich bin nicht sicher, ob es für jeden einen gültigen individuellen Namen gibt. Vielleicht finden Sie etwas Interessantes, wenn Sie in alten Shell-Handbüchern stöbern. Diese Quelle , ob richtig oder falsch, hat sicherlich die Absicht, einige von ihnen zu benennen:
> - 'output redirection operator'
< - 'input redirection operator'
>> - 'output append operator'
Aber auch:
2> - 'standard error redirection operator'
Ich halte dies jedoch nicht für richtig, da 2
es sich eher um ein technisches Argument als um einen Teil des Betreibers handelt.
Eine Kurzreferenz (falls Sie keine der oben genannten erkennen):
> - redirect output stream to a file, eg >somefile (for stdout) or 2>somefile
>| - as above but overwrite the file even if the noclobber shell option is set
>> - append output stream to file
< - redirect input stream from file, n defaults to 0 for stdin
<> - open file for reading and writing on stdin
>& - redirect output stream to another stream (eg >&1) or close with - (eg 2>&-)
<< - here document - see http://en.wikipedia.org/wiki/Here_document
<<- - here document with leading tabs removed.
In bash
dir haben auch:
<<< - here string, a one line here file. Eg <<<"foo bar"
noclobber
ist,>|
wird die Datei überschrieben und möglicherweise gelöscht.