Linux
使用 ‘mv’ 移動文件時,如何通過 dir 的 setgid 位應用組更改?
$ mkdir test $ chown gtgteq:users test $ chmod g+s test $ touch test/a $ touch b $ mv b test/ $ ls -l test total 0 -rw-r--r-- 1 gtgteq users 0 a -rw-r--r-- 1 gtgteq gtgteq 0 b
如何自動更改移動文件組(
b
)?
最終我寫了 bash 函式。
mvs() { local dest if [[ $# -ne 2 ]]; then return 1 fi if [[ -d $2 ]]; then dest="$2/$(basename $1)" else dest="$2" fi mv "$1" "$2" || return $? chown "$USER":users -R "$dest" chmod g+rw -R "$dest" find "$dest" -type d -exec chmod g+xs {} ';' }