Frage zum cp - Befehl

Guten Tag,
kann mir jemand meine Frage beantworten ?
Gegeben seien die Dateien abraham, bebraham, zebraham, alabaster sowie das directory alarich.
Durch Eingabe von cp a* werden abraham und alabaster in das Verzeichnis alarich kopiert.
WARUM ???
cp benötigt doch 2 Argumente: Quell und Zieldatei bzw. Quelldateien und Zielverzeichnis. Woher „weiss“ cp, was zu tun ist, welches die Quellen und welches das Zielverzeichnis ist ???
Bei dem „normalen“ Versuch, cp mit nur einem Argument aufzurufen (z.B. cp zebraham) meckert es doch auch erwartungsgemäss…

Vielleicht kann mir das mal jemand erklären. Danke und Gruss
Peter

Nu ja, cp nimmt auch die Eingabe file file file … directory, damit waere das voellig korrekt, ich schaetze mal alarich setht im Listing als letztes. Ich muss zugeben ich haette allerdings angenommen., dass die shell fuer jedes Argument cp separat aufruefen wuerde. Warum die Substitution so lauft, kann ich auch nicht sagen.

Mfg
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

das ist keine frage zu cp sondern zur shell expansion. die shell expandiert die wildcard eben und dann kriegt cp „abraham alabaster alarich“ als argumentstring. das entspricht genau dem fall multiple source - target directory der cp manpage…

joachim

Nu ja, cp nimmt auch die Eingabe file file file … directory,
damit waere das voellig korrekt, ich schaetze mal alarich
setht im Listing als letztes. Ich muss zugeben ich haette
allerdings angenommen., dass die shell fuer jedes Argument cp
separat aufruefen wuerde. Warum die Substitution so lauft,
kann ich auch nicht sagen.

cp nimmt erstens einmal nur die Eingabe cp [Optionen] [Files], wobei das letzte eingegebene Element immer das Ziel ist. Die Shell ruft natürlich nicht für jedes einzelne Element separat cp auf, weil sie damit gar nichts zu tun hat. Sie löst nur die Wildcard auf, und ersetzt das Element im Befehlsstring durch das Resultat. Dabei ist es ihr völlig egal, ob dabei so was wie oben rauskommt, weil es eben nichts mit der Substitution zu tun hat.

CU Roland