Unix
複製文件權限,但不複製 Unix 中的文件
(來自:https ://stackoverflow.com/questions/15245144/copy-file-permissions-but-not-files ,因離題而關閉)
我有同一個目錄樹的兩個副本。它們在兩者中幾乎都有相同的文件(一個版本可能有幾個額外或失去的文件)。但是,大多數文件對於兩個目錄都是通用的(具有相同的相對路徑和所有內容)。
假設這些在目錄中:
version1/ version2/
問題是 version1/ 中的權限搞砸了,我想複製 version2/ 中的權限,但不要替換 version1/ 中較新的文件。
是否有通過 shell 命令或腳本自動執行此操作的方法?
GNU cp自coreutils 8.6
--attributes-only
起就知道這個標誌–attributes-only 不復製文件數據,只複製屬性
我的版本
cp
沒有--attributes-only
標誌,所以我做了這個。在簡單文件夾 YMMV 上進行了簡要測試。$> ls version1/ version2/ $> ls -l version1/1/a -rw-rw-r-- 1 alex alex 0 Feb 5 12:49 version1/1/a $> ls -l version2/1/a -rwxrwxrwx 1 alex alex 0 Feb 5 12:49 version1/1/a $> find version1 -type f -printf '%P\n' | xargs -I {} \ chmod --reference=version1/{} version2/{} $> ls -l version2/1/a -rw-rw-r-- 1 alex alex 0 Feb 5 12:49 version1/1/a