Linux基础命令[29]-chown

文章目录

    • [1. chown 命令说明](#1. chown 命令说明)
    • [2. chown 命令语法](#2. chown 命令语法)
    • [3. chown 命令示例](#3. chown 命令示例)
      • [3.1 修改属主](#3.1 修改属主)
      • [3.2 修改属组](#3.2 修改属组)
      • [3.3 修改属主和属组](#3.3 修改属主和属组)
      • [3.4 修改文件夹所属](#3.4 修改文件夹所属)
    • [4. 总结](#4. 总结)

1. chown 命令说明

chown:更改文件的用户或用户组,需要 root 用户或 sudo 权限的用户执行该命令。基本信息如下:

shell 复制代码
Usage: chown [OPTION]... [OWNER][:[GROUP]] FILE...
  or:  chown [OPTION]... --reference=RFILE FILE...
Change the owner and/or group of each FILE to OWNER and/or GROUP.
With --reference, change the owner and group of each FILE to those of RFILE.

  -c, --changes          like verbose but report only when a change is made
  -f, --silent, --quiet  suppress most error messages
  -v, --verbose          output a diagnostic for every file processed
      --dereference      affect the referent of each symbolic link (this is
                         the default), rather than the symbolic link itself
  -h, --no-dereference   affect symbolic links instead of any referenced file
                         (useful only on systems that can change the
                         ownership of a symlink)
      --from=CURRENT_OWNER:CURRENT_GROUP
                         change the owner and/or group of each file only if
                         its current owner and/or group match those specified
                         here.  Either may be omitted, in which case a match
                         is not required for the omitted attribute
      --no-preserve-root  do not treat '/' specially (the default)
      --preserve-root    fail to operate recursively on '/'
      --reference=RFILE  use RFILE's owner and group rather than
                         specifying OWNER:GROUP values
  -R, --recursive        operate on files and directories recursively

The following options modify how a hierarchy is traversed when the -R
option is also specified.  If more than one is specified, only the final
one takes effect.

  -H                     if a command line argument is a symbolic link
                         to a directory, traverse it
  -L                     traverse every symbolic link to a directory
                         encountered
  -P                     do not traverse any symbolic links (default)

      --help     display this help and exit
      --version  output version information and exit

Owner is unchanged if missing.  Group is unchanged if missing, but changed
to login group if implied by a ':' following a symbolic OWNER.
OWNER and GROUP may be numeric as well as symbolic.

Examples:
  chown root /u        Change the owner of /u to "root".
  chown root:staff /u  Likewise, but also change its group to "staff".
  chown -hR root /u    Change the owner of /u and subfiles to "root".

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'chown invocation'

参数如下:

选项 作用
-c 只有真正更改时才会显示信息
-f 忽略错误信息
-h 修复符号链接
-v 显示详细的处理信息
-R 处理文件夹及文件夹中所有文件、子文件夹
-H 配合 -R ,如果命令行参数是指向目录的符号链接,则遍历它
-L 配合 -R ,遍历遇到的每个指向目录的符号链接
-P 配合 -R ,不遍历任何符号链接(默认)

2. chown 命令语法

shell 复制代码
chown [OPTION]... [OWNER][:[GROUP]] FILE

3. chown 命令示例

3.1 修改属主

shell 复制代码
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 root root  0 May 17 08:52 a.txt
drwxrwxrwx. 3 root root 30 Jun  3 12:44 bbb
[root@localhost aaa]# chown test1 a.txt 
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 test1 root  0 May 17 08:52 a.txt
drwxrwxrwx. 3 root  root 30 Jun  3 12:44 bbb
[root@localhost aaa]# 

3.2 修改属组

修改属组需要加冒号

shell 复制代码
[root@localhost aaa]# chown :test1 a.txt 
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 test1 test1  0 May 17 08:52 a.txt
drwxrwxrwx. 3 root  root  30 Jun  3 12:44 bbb
[root@localhost aaa]# id test2
uid=1015(test2) gid=1015(test2) groups=1015(test2)
[root@localhost aaa]# chown 1015 a.txt 
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 test2 test1  0 May 17 08:52 a.txt
drwxrwxrwx. 3 root  root  30 Jun  3 12:44 bbb
[root@localhost aaa]# 

3.3 修改属主和属组

shell 复制代码
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 test2 test1  0 May 17 08:52 a.txt
drwxrwxrwx. 3 root  root  30 Jun  3 12:44 bbb
[root@localhost aaa]# chown test1:test2 a.txt 
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 test1 test2  0 May 17 08:52 a.txt
drwxrwxrwx. 3 root  root  30 Jun  3 12:44 bbb
[root@localhost aaa]# 

3.4 修改文件夹所属

修改文件夹时,若不加 -R 选项,会只修改该文件夹的所属,加 -R 会将该文件夹下所有内容一起修改。

shell 复制代码
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 test1 test2  0 May 17 08:52 a.txt
drwxrwxrwx. 3 root  root  30 Jun  3 12:44 bbb
[root@localhost aaa]# chown test1:test1 bbb/
[root@localhost aaa]# ll
total 0
-r--rw-r--. 1 test1 test2  0 May 17 08:52 a.txt
drwxrwxrwx. 3 test1 test1 30 Jun  3 12:44 bbb
[root@localhost aaa]# cd bbb/
[root@localhost bbb]# ll
total 0
-rwxrwxrwx. 1 root root 0 Jun  3 12:44 1.txt
drwxrwxrwx. 2 root root 6 Jun  3 12:38 ccc
[root@localhost bbb]# cd ..
[root@localhost aaa]# chown -R test1:test1 bbb/
[root@localhost aaa]# cd bbb/
[root@localhost bbb]# ll
total 0
-rwxrwxrwx. 1 test1 test1 0 Jun  3 12:44 1.txt
drwxrwxrwx. 2 test1 test1 6 Jun  3 12:38 ccc
[root@localhost bbb]# 

4. 总结

chown:更改文件的用户或用户组,常用命令

shell 复制代码
chown 属主:属组 文件

若是想同步改变文件夹的内容所属,则加上 -R。

相关推荐
小王要努力上岸1 小时前
[特殊字符] Nginx全栈实战指南:Rocky Linux 10 & Ubuntu 24.04 双系统部署
linux·nginx·ubuntu
linweidong4 小时前
C++ 模块化编程(Modules)在大规模系统中的实践难点?
linux·前端·c++
invicinble8 小时前
对linux形成认识
linux·运维·服务器
小Pawn爷8 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
技术路上的探险家8 小时前
8 卡 V100 服务器:基于 vLLM 的 Qwen 大模型高效部署实战
运维·服务器·语言模型
有谁看见我的剑了?8 小时前
介绍一款 测试 DNS解析成功率的网站
运维
半桔8 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
绵绵细雨中的乡音8 小时前
深入理解 ET 与 LT 模式及其在 Reactor 模型中的应用
服务器·网络·php
HABuo9 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
Howrun7779 小时前
关于Linux服务器的协作问题
linux·运维·服务器