Bash

以遞歸方式對具有名稱的目錄執行命令

  • February 8, 2016

我在 AIX 中有以下目錄結構。

codeRepo/REPO1/AREA1/objects
codeRepo/REPO1/AREA2/SUBAREA1/objects
codeRepo/REPO1/AREA2/SUBAREA2/objects

從 codeRepo 我想在樹中的chown myUser *每個objects目錄上執行。如您所見,有不同的對象目錄位於不同的位置。

如果您只想 chown 目錄(而不是子文件),請使用find -exec,如下所示:

find -type d -name objects -exec chown myUser {} \;

經歷這個: -type d只選擇目錄 -name objects只查找完全命名為“對象”的目錄為 找到的每個路徑-exec chown myUser {} \;執行chown myUser {}(用路徑替換 {})

如果您還想同時chown包含裡面的所有文件,只需替換chownchown -R.

您幾乎回答了自己的問題..答案是使用遞歸選項 -R

執行命令sudo chown -R richie codeRepo/(假設您的使用者名是richie)

這將遞歸地將每個文件/文件夾設置為您作為所有者,但這樣做;在樹下越遠越好,這更像是一種大錘方法。

引用自:https://unix.stackexchange.com/questions/260662