Hi,
ich hätte eine Frage: Ich habe eine ziemlich verschachtelte
Verzeichnisstruktur und will nur die Rechte der Ordner oder der Dateien
ändern.
Ein
“chmod -R 770 /Verzeichnis”
ändert die Rechte von den Verzeichnissen und den Dateien.
Wie stell ich es an das nur die Verzeichnisse-Rechte geändert werden?
Der Schmöker “Linux in a Nutshell” gibt kein Aufschluß darüber oder ich
interpretiere das geschriebene falsch und so wie ich “man chmod” ansehe
ist da auch nichts brauchbares. Bin mir aber nicht sicher wegen Englisch
Probs.
Bei Verzeichnissen deren Inhalt die Dateien Dateiendungen haben bin ich
mit
“chmod -R 660 test/*/*/*/*.*”
ans Ziel gekommen aber was mach ich wenn keine Dateiendungen vorhanden
sind?
Martin
Hi Matthias,
ja, sieht gut aus und es Funktioniert aber könntest du mir das Kommando etwas
erklären.
soweit denke ich mir das
-type f = findet alle Dateien im Pfad
-exec = übergibt das gefundene an das folgende Programm
aber was macht {} \;
Martin
{} setzt an dieser Stelle den Namen des gefundenen Eintrags ein, \; schließt das mit -exec begonnene Kommando, das für jeden gefundenen Eintrag ausgeführt wird, ab. Ich meine übrigens daß das zweite “Verzeichnisse:” in Matthias’ Post eigentlich “Files:” heißen müßte, denn -type f sucht nur nach Dateien, -type d nur nach Verzeichnissen.
Für dich wäre außerdem das Kommando man find von Interesse.
Hi,
noch eine Frage: warum funktioniert in diesem Fall | (Pipe) nicht warum muss
es -exec sein? (mit Pipe kommt eine Fehlermeldung)
Hab mir find in “Linux in a Nutshell” angesehn, sind 5 Seiten.
Martin
mit pipe geht auch jedoch brauchst du dann xargs:
Verzeichnisse:
find -type d | xargs -n1 chmod
Verzeichnisse:
find -type f | xargs -n1 chmod
“xargs -n1” nimmt den output von find und führt ihn zeilen weise mit den restlichen argumenten aus (hier wär das “chmod “
The use of xargs may be dangerous. See here why http://en.wikipedia.org/wiki/Xargs#The_separator_problem
Consider using GNU Parallel http://www.gnu.org/software/parallel/ instead.
Watch the intro video to GNU Parallel at http://www.youtube.com/watch?v=OpaiGYxkSuQ