Linux chown命令教程:如何改变文件或目录的所有者和组(附案例详解和注意事项)

Linux chown命令介绍

chown(change owner)命令在Linux中用于改变文件或目录的所有者和组。每个文件都与一个所有者用户或组相关联。正确配置文件和文件夹权限非常重要。

Linux chown命令适用的Linux版本

chown命令在所有主流的Linux发行版中都可以使用,包括但不限于Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora和Raspbian。在这些系统中,chown命令通常已经预装好了,所以不需要额外安装。

[linux@bashcommandnotfound.cn ~]$ chown [OPTIONS] USER [:GROUP] FILE

Linux chown命令的基本语法

chown命令的基本语法如下:

chown [OPTION]... [OWNER] [: [GROUP]] FILE...

Linux chown命令的常用选项或参数说明

以下是chown命令的一些常用选项:

选项说明
-c, --changes类似于详细模式,但只有在进行更改时才生成输出
-f, --silent, --quiet抑制大多数错误消息
-v, --verbose操作成功后生成输出
–dereference影响每个符号链接而不是符号链接本身
-h, --no-dereference影响符号链接而不是符号链接引用的文件
–from=CURRENT_OWNER:CURRENT_GROUP只有当前所有者和/或组匹配CURRENT_OWNER和/或CURRENT_GROUP时才更改所有者和/或组
–no-preserve-root不对’/'特殊处理(默认)
–preserve-root不对’/'进行递归操作
–reference=RFILE使用RFILE的所有者和组,而不是指定OWNER:GROUP值
-R, --recursive对目录及其内容进行递归操作

Linux chown命令实例详解

实例1:改变文件所有者

[linux@bashcommandnotfound.cn ~]$ chown newuser filename

这个命令将文件filename的所有者更改为newuser

实例2:改变目录所有者

[linux@bashcommandnotfound.cn ~]$ chown newuser directoryname

这个命令将目录directoryname的所有者更改为newuser

实例3:改变文件所有者和组

[linux@bashcommandnotfound.cn ~]$ chown newuser:newgroup filename

这个命令将文件filename的所有者更改为newuser,并将其组更改为newgroup

实例4:递归改变目录所有者和组

[linux@bashcommandnotfound.cn ~]$ chown -R newuser:newgroup directoryname

这个命令将目录directoryname及其所有子目录和文件的所有者更改为newuser,并将其组更改为newgroup

实例5:改变文件所有者,保持组不变

[linux@bashcommandnotfound.cn ~]$ chown newuser: filename

这个命令将文件的所有者更改为newuser,但保持文件的组不变。

实例6:只改变文件所属的组

[linux@bashcommandnotfound.cn ~]$ chown :newgroup filename

这个命令将文件filename的组更改为newgroup,但保持文件的所有者不变。

实例7:显示详细操作信息

[linux@bashcommandnotfound.cn ~]$ chown -v newuser:newgroup filename

这个命令将文件filename的所有者更改为newuser,并将其组更改为newgroup,同时显示执行过程的详细信息。

实例8:若指定组不存在, 终止操作

[linux@bashcommandnotfound.cn ~]$ chown -e newuser:nonexistentgroup filename

这个命令尝试将文件filename的所有者更改为newuser,并将其组更改为nonexistentgroup。如果指定的组不存在,则不会执行任何操作并显示错误信息。

实例9:忽略无效的用户和组

[linux@bashcommandnotfound.cn ~]$ chown -f newinvaliduser:newinvalidgroup filename

即使newinvalidusernewinvalidgroup可能不存在,这个命令也不会报任何错误,但是,所有者和组的更改不会生效。

实例10:递归改变目录所属的组,保持所有者不变

[linux@bashcommandnotfound.cn ~]$ chown -R :newgroup directoryname

这个命令将目录directoryname及其所有子目录和文件的组更改为newgroup,但保持文件的所有者不变。

实例11:把所属用户和所属组都改回到文件的创建者

[linux@bashcommandnotfound.cn ~]$ chown --reference=otherfile filename

这个命令将文件filename的所有者和组改回otherfile的所有者和组。

实例12:在更改所有者和组时,保留现有的文件模式

[linux@bashcommandnotfound.cn ~]$ chown --preserve-root newuser:newgroup filename

这个命令将文件filename的所有者更改为newuser,并将其组更改为newgroup,同时,在操作期间保留原有的文件属性和权限。

Linux chown命令的注意事项

  • chown命令需要超级用户权限来执行。
  • 如果你尝试运行chown命令但收到了bash: chown: command not found的错误,那么你可能需要使用sudo来获取必要的权限。

Linux chown相关命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值