Hy, Am 02/09/22@19:03 schrieb Markus Kolb:
Jan Trippler wrote:
On Son, 22 Sep 2002 at 12:06 (+0200), Markus Kolb wrote:
Das sollte man vielleicht mit in einem zusätzlichen Satz in die manpage von chmod bei der Erklärung von -R aufnehmen. Da steht nämlich eindeutig da: change files and directories recursively und oben: chmod [OPTION]... MODE[,MODE]... FILE Es ist also nichts von einer Einschränkung bei -R von FILE auf Verzeichnisse zu lesen. Den Satz change files and directories recursively versteht man erst wie er gemeint ist, wenn man weiss, wie er gemeint ist ;o)
Ich sehe, Du hast Rekursion verstanden ;-)
Die man-Page ist schon richtig. Du kannst einen chmod -R nur für ein Verzeichnis starten, Rekursion für eine Datei macht ja wenig Sinn, oder? Es ist aber so, dass chmod -R sehr wohl _unterhalb_ des Startverzeichnisses Dateien _und_ Verzeichnisse anpackt. Dein Denkfehler war, dass chmod die Wildcard *.html selbst auflöst (also rekursiv auf alle gefundenen Dateien + Verzeichnisse anwendet).
Wieso ist die manpage richtig? Für FILE kann man im Zusammenhang mit -R nur ein Verzeichnis angeben. Es werden nur alle Dateien geändert, wenn man für FILE ein Verzeichnis angibt. Kurz: chmod -R FILE ist blödsinn und in die manpage gehört zusätzlich rein: chmod -R [OPTION] ... MODE ... DIR Das war übrigens kein Denkfehler, sondern ich habe chmod durch die manpage einfach zu viel zugetraut.
Du hast vielleicht immer noch einen Dankfehler :(. In man chmod steht (bei mir) zurecht nichts von dem was Du oben schreibst. Vielleicht hilft Dir ein Beispiel: ---schnipp--- maik@syl:~ $ touch testmh maik@syl:~ $ mkdir test maik@syl:~ $ mkdir test/testmh maik@syl:~ $ cp testmh test/testmh/ maik@syl:~ $ chmod -R 700 tes* maik@syl:~ $ ls -lh test/testmh/testmh -rwx------ 1 maik maik 0 22. Sep 20:46 test/testmh/testmh maik@syl:~ $ ls -l testmh -rwx------ 1 maik maik 0 22. Sep 20:45 testmh ---schnapp--- Das hat für mich schon rekursives und, ja, das Beispiel ist schon gut gewählt;). Es würde aber zu Deiner chmod Änderung nicht passen:(. Das die bash dafür sorgt das bei anderen Beispielen, Deine Erwartungen nicht erfüllt werden, haben andere ja schon erwähnt. Man chmod muss aber IMHO auf keinem Fall geändert werden dann in meinem steht: ---schnipp--- chmod [OPTION]... MODE[,MODE]... FILE... -R, --recursive change files and directories recursively ---schnapp--- aber vor allem: ---schnipp--- The full documentation for chmod is maintained as a Tex info manual. ---schnapp--- und dort findet sich: ---schnipp--- `-R' `--recursive' Recursively change permissions of directories and their contents. ---schnapp--- HTH. -- bye maik