使用 chown 排除特定目录及其内容的 Unix 命令,同时应用对其他目录的权限
Unix command to exclude a particular directory and its contents using chown, while permission to other directories are applied
我正在使用以下命令更改 /opt/var
下的集合目录和文件的所有权(使用 chown),并尝试排除 .snapshot
目录及其内容。
find /opt/var/ ! -name '.snapshot' | xargs -I {} chown 2000:2000 {};
但是,它只排除 .snapshot 但其内容已获得许可。
我在这里遗漏了什么吗?我正在努力实现一条线。
首先,chmod
用于更改权限,而chown
用于更改所有者。无论如何,要排除目录,请使用 -path
选项:
find /opt/var/ ! -path '/opt/var/.snapshot*' | xargs -I {} chown 2000:2000 {}
或者
find /opt/var/ ! -path '*.snapshot*' | xargs -I {} chown 2000:2000 {}
我正在使用以下命令更改 /opt/var
下的集合目录和文件的所有权(使用 chown),并尝试排除 .snapshot
目录及其内容。
find /opt/var/ ! -name '.snapshot' | xargs -I {} chown 2000:2000 {};
但是,它只排除 .snapshot 但其内容已获得许可。
我在这里遗漏了什么吗?我正在努力实现一条线。
首先,chmod
用于更改权限,而chown
用于更改所有者。无论如何,要排除目录,请使用 -path
选项:
find /opt/var/ ! -path '/opt/var/.snapshot*' | xargs -I {} chown 2000:2000 {}
或者
find /opt/var/ ! -path '*.snapshot*' | xargs -I {} chown 2000:2000 {}