GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So ändern Sie die Dateien basierend auf den Ergebnissen des Befehls find

Denken Sie einen Moment über Ihre Anforderung nach. Haben Sie (möglicherweise) ausführbare Dateien (Skripte oder Binärdateien) in Ihrem Verzeichnisbaum? Wenn ja, möchten Sie die Ausführungsberechtigung (auch von sich selbst) entfernen oder die Ausführungsberechtigung unberührt lassen? Wenn Sie die Ausführungsberechtigung unberührt lassen möchten, sollten Sie chmod o-w verwenden um w zu entfernen (subtrahieren). Rituserlaubnis vom o nur dieses Feld.

Außerdem, wie Anthon betont, die find Der in der anderen Antwort angegebene Befehl führt den chmod aus Programm einmal für jede Datei, die von allen Benutzern beschreibbar ist, die es findet. Es ist etwas effizienter zu sagen

find  top-level_directory  -perm -2  -type f  -exec chmod o-w {} +

Dies führt chmod aus mit vielen Dateien auf einmal, wodurch die Anzahl der Execs minimiert wird.

P.S. Sie brauchen die führenden Nullen auf der 2 nicht .


find /dir/stuct/path -perm -0002 -type f -exec chmod 664 {} \;

Das "{}" steht für die von find gefundene Datei. Das "\;" beendet den auszuführenden Befehl.


Linux
  1. Suchen von Dateien in der Befehlszeile (How To)

  2. So finden Sie Dateien in CentOS 8 in der Befehlszeile

  3. Wie finde ich doppelte Dateien in Linux? Hilfe ist hier mit dem fdupes-Befehl!

  4. So verwenden Sie den Linux-Befehl find zum Suchen von Dateien

  5. Wie man die Ergebnisse von 'find' unter Linux an mv weiterleitet

So suchen Sie nach Dateien über die Linux-Befehlszeile

So verwalten Sie Dateien vom Linux-Terminal aus

So finden Sie Dateien in der Ubuntu-Befehlszeile

So finden Sie Dateien mit dem fd-Befehl in Linux

So finden Sie Dateien mit Dutzenden von Kriterien mit dem Bash-Suchbefehl

Wie finde ich die platzraubendsten Verzeichnisse oder Dateien heraus?