Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
find, chmod und Leerstellen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
aebi



Anmeldungsdatum: 02.12.1999
Beiträge: 41
Wohnort: Kastanienbaum

BeitragVerfasst am: 09. Sep 2001 12:59   Titel: find, chmod und Leerstellen

Hallo zusammen

Da ich immer wieder in mehreren Vereichnissen die gleichen Rechte eintragen musste habe ich mir ein Script geschrieben das so ausssieht:
#!/bin/bash
chmod 770 `find . -type d`
chmod 660 `find . -type f`
Leider haben aber einige der Dateien Leerstellen im Namen. Chmod mein aber dass nach jeder Leerstelle eine neue Datei kommt. Gibt es eine Möglichkeit chmod das abzugewöhnen?

Danke

Philipp
 
Benutzer-Profile anzeigen Private Nachricht senden

Sebastian Ude
Gast





BeitragVerfasst am: 09. Sep 2001 13:45   Titel: Re: find, chmod und Leerstellen

Ändere dein Script doch einfach in:

code:
#!/bin/bash

chmod 770 "`find . -type d`"
chmod 660 "`find . -type f`"



So sollte es funktionieren.
 

Sebastian Ude
Gast





BeitragVerfasst am: 09. Sep 2001 14:00   Titel: Re: find, chmod und Leerstellen

Uups ... Denkfehler ...

Du hast sicherlich schon mehrere Dateien / Verzeichnisse .

Probiers mal mit:

find . -type d -exec chmod 770 \{} /;
find . -type f -exec chmod 660 \{} /;


PS:

Der Schrägstrich vor dem Semikolon sollte ein Backslash sein (das Board hätte den Backslash sonst einfach geschluckt) - bitte bei dir ersetzen.
 

Sebastian Ude
Gast





BeitragVerfasst am: 09. Sep 2001 14:03   Titel: Re: find, chmod und Leerstellen

Und der Backslash vor der ersten geschweiften Klammer sollte da gar nicht hin ...

*mpfl*
 

aebi



Anmeldungsdatum: 02.12.1999
Beiträge: 41
Wohnort: Kastanienbaum

BeitragVerfasst am: 09. Sep 2001 14:40   Titel: Re: find, chmod und Leerstellen

Das war's tausend dank

Philipp
 
Benutzer-Profile anzeigen Private Nachricht senden

Jochen
Gast





BeitragVerfasst am: 10. Sep 2001 6:40   Titel: Re: find, chmod und Leerstellen

Das alte Problem... Keiner kennt mehr xargs!

#define KLUGSCHEISSER 1

Wenn Du 1000 Verzeichnisse/Dateien hast, wird auch 1000mal chmod aufgerufen, für jeweils eine Datei. Suboptimal...

Mach's besser so:

find . -type f -print0 | xargs -0 chmod 660

Analog für Verzeichnisse. find bastelt die Liste der Datein zusammen, gibt sie mittels Null-Byte terminiert an xargs weiter, der wiederum ein chmod-Kommandos mit all den Argumenten zusammenbastelt. Macht 3 Prozesse statt 1001 bei 1000 Dateien bzw. Verzeichnissen. Besser, oder?

#define KLUGSCHEISSER 0

Sorry.

Jochen
 

Sebastian Ude
Gast





BeitragVerfasst am: 10. Sep 2001 11:24   Titel: Re: find, chmod und Leerstellen

@ Jochen

Ich wusste nicht, dass die xargs-Methode auch bei Datei / Verzeichnisnamen mit Leerzeichen funktioniert.

Tut sie aber anscheinend, mit -0 und -print0 auf der find-Seite ...

Danke, wieder was dazu gelernt.


PS:

Klugscheisser
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy