Linux chown命令介绍
Linux chown命令(英文全拼:change owner)用于设置文件所有者和文件关联组。在Linux/Unix这种多人多工操作系统中,所有的文件都有拥有者。我们可以利用chown命令将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID,组可以是组名或者组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。chown命令需要超级用户root的权限才能执行。只有超级用户和属于组的文件所有者才能变更文件关联组。非超级用户如需要设置关联组可能需要使用chgrp命令。
Linux chown命令适用的Linux版本
chown命令在大多数Linux发行版中都可以使用,包括但不限于Ubuntu、Debian、Fedora、CentOS等。如果你在使用过程中遇到了bash: chown: command not found
的错误,那么可能是你的系统中尚未安装coreutils包,因为chown命令通常包含在这个包中。你可以使用下面的命令来安装:
对于基于Debian的系统(如Ubuntu),可以使用:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install coreutils
对于基于RPM的系统(如CentOS或Fedora),可以使用:
[linux@bashcommandnotfound.cn ~]$ sudo yum install coreutils
对于CentOS 8或Fedora 22及更高版本,可以使用:
[linux@bashcommandnotfound.cn ~]$ sudo dnf install coreutils
Linux chown命令的基本语法
chown命令的基本语法如下:
chown [OPTIONS] USER[:GROUP] FILE
其中,USER
是新的文件拥有者的用户名或用户ID,GROUP
是新的文件拥有者的用户组,FILE
是目标文件。如果要更改文件的用户组,需要在USER
和GROUP
之间使用冒号。
Linux chown命令的常用选项说明
以下是chown命令的一些常用选项:
选项 | 说明 |
---|---|
-c | 显示更改的部分的信息 |
-f | 忽略错误信息 |
-h | 修复符号链接 |
-v | 显示详细的处理信息 |
-R | 处理指定目录以及其子目录下的所有文件 |
Linux chown命令的实例
以下是一些chown命令的使用实例:
- 把/var/run/httpd.pid的所有者设置为root:
[linux@bashcommandnotfound.cn ~]$ chown root /var/run/httpd.pid
- 将文件file1.txt的拥有者设为solr,群体的使用者solr:
[linux@bashcommandnotfound.cn ~]$ chown solr:solrfile1.txt
- 将当前目录下的所有文件与子目录的拥有者皆设为solr,群体的使用者solr:
[linux@bashcommandnotfound.cn ~]$ chown -R solr:solr*
- 把/home/solr的关联组设置为512(关联组ID),不改变所有者:
[linux@bashcommandnotfound.cn ~]$ chown :512 /home/solr
Linux chown命令的注意事项
- chown命令需要超级用户root的权限才能执行。
- 只有超级用户和属于组的文件所有者才能变更文件关联组。
- 非超级用户如需要设置关联组可能需要使用chgrp命令。
- 如果在使用chown命令时遇到
bash: chown: command not found
的错误,可能需要安装coreutils包。
更多详细讲解可以参考:
Linux chown命令教程:如何轻松地改变文件或目录的所有者或所属组