Hallo, ich würde in einer recht komplexen Verzeichnisstruktur gerne rekursiv die Berechtigungen für alle Dateien auf einen bestimmten Wert setzen; chmod -R unterscheidet aber leider nicht zwischen Dateien und Verzeichnissen, so daß ich den Effekt hätte, daß bei einem chmod -R a-x /pfad/ die Rechte für alle Unterverzeichnisse so gesetzt werden würden, daß man in sie nicht mehr hineinkommt. Kann ich chmod irgendwie beibringen, nur Dateien und keine Verzeichnisse anzufassen? In der man page habe ich leider nichts gefunden, und zum googlen scheine ich in dem Fall zu blöd zu sein, entweder gibt's zehntausende Treffer oder gar keine... :( Wer zeigt mir den Wald, ich sehe nur Bäume. MfG, Michael.
Michael Schachtebeck wrote:
ich würde in einer recht komplexen Verzeichnisstruktur gerne rekursiv die Berechtigungen für alle Dateien auf einen bestimmten Wert setzen; chmod -R unterscheidet aber leider nicht zwischen Dateien und Verzeichnissen, so daß ich den Effekt hätte, daß bei einem
chmod -R a-x /pfad/
die Rechte für alle Unterverzeichnisse so gesetzt werden würden, daß man in sie nicht mehr hineinkommt. Kann ich chmod irgendwie beibringen, nur Dateien und keine Verzeichnisse anzufassen? In der man page habe ich leider nichts gefunden, und zum googlen scheine ich in dem Fall zu blöd zu sein, entweder gibt's zehntausende Treffer oder gar keine... :(
find /pfad -type f -exec chmod a-x {} \; Willst Du Verzeichnisse ansprechen, so musst Du "-type d" verwenden. Details, siehe "man find". /pfad musst Du entsprechend ersetzen, wenn Du im richtigen Verzeichnis stehst, reicht evtl. ein "." fuer die Angabe. CU, Th.
Thomas Hertweck schrieb am 08/01/2004 02:51 PM:
Michael Schachtebeck wrote:
Kann ich chmod irgendwie beibringen, nur Dateien und keine Verzeichnisse anzufassen? In der man page habe ich leider nichts gefunden, und zum googlen scheine ich in dem Fall zu blöd zu sein, entweder gibt's zehntausende Treffer oder gar keine... :(
find /pfad -type f -exec chmod a-x {} \;
Willst Du Verzeichnisse ansprechen, so musst Du "-type d" verwenden. Details, siehe "man find". /pfad musst Du entsprechend ersetzen, wenn Du im richtigen Verzeichnis stehst, reicht evtl. ein "." fuer die Angabe.
Da kann ich natürlich lange in der man page von chmod suchen, danke für den Tipp! Michael.
Philipp Thomas wrote:
Thomas.Hertweck@gpi.uni-karlsruhe.de [01 Aug 2004 14:51:46 +0200]:
find /pfad -type f -exec chmod a-x {} \;
find /pfad -type f|xargs chmod a-x
Halte ich für besser, da dann nicht für jede einzelne Datei chmod aufgerufen werden muss.
Da hast Du recht. Was die Performance angeht, ist Deine Loesung sicherlich besser, allerdings duerfte das erst bei einer groesseren Dateianzahl wirklich zum Tragen kommen. CU, Th.
find /pfad/ -type f | xargs chmod a-x Am Sonntag, 1. August 2004 14:44 schrieb Michael Schachtebeck:
ich wuerde in einer recht komplexen Verzeichnisstruktur gerne rekursiv die Berechtigungen fuer alle Dateien auf einen bestimmten Wert setzen; chmod -R unterscheidet aber leider nicht zwischen Dateien und Verzeichnissen, ...
participants (4)
-
Michael Schachtebeck
-
Michael Zimmermann
-
Philipp Thomas
-
Thomas Hertweck