读取文件权限并应用于shell中的另一个

时间:2012-11-12 10:44:25

标签: bash shell

我正在编写一个脚本,我想将给定文件的权限应用到另一个文件,因为这两个文件的所有者是相同的。文件可能很大,因此使用

移动文件内容
cp dest tmp
rm dest
cp source dest
echo tmp > dest
rm tmp

不是一种选择。

2 个答案:

答案 0 :(得分:4)

您的chmod是否支持--reference选项?它完全符合您的需求。

答案 1 :(得分:2)

FILE1="$HOME/.bashrc"
FILE2="$HOME/.profile"

FPERM=`stat -c "%a" "$FILE1"`
chmod $FPERM "$FILE2"

PS。如果还有所有权:

FUID=`stat -c "%U" "$FILE1"`
FGID=`stat -c "%G" "$FILE1"`

chown $FUID:$FGID "$FILE2"