当前位置: 首页 > news >正文

linux:chown用法详解

文章目录

  • 1. 描述
  • 2. 语法
  • 3. 参数
  • 4. 例子


1. 描述

chown 是 Linux 中用于更改文件或目录的所有者和所有者组的命令。

2. 语法

chown [选项] 所有者[:组] 文件名

详细用法:

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 isthe 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 theownership of a symlink)--from=CURRENT_OWNER:CURRENT_GROUPchange the owner and/or group of each file only ifits current owner and/or group match those specifiedhere.  Either may be omitted, in which case a matchis 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 thanspecifying OWNER:GROUP values-R, --recursive        operate on files and directories recursivelyThe 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 linkto a directory, traverse it-L                     traverse every symbolic link to a directoryencountered-P                     do not traverse any symbolic links (default)--help     display this help and exit--version  output version information and exitOwner 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.

3. 参数

以下是chown命令常用的参数选项及其详细解释:

  1. -R, --recursive
    递归地改变文件及其目录内所有子文件和子目录的所有者和组。
    例如:chown -R user:group directory,将会改变directory及其内部所有文件和子目录的所有者和组。

  2. -h, --no-dereference
    只改变符号链接本身的所有者和组,而不是它指向的文件或目录。
    例如:chown -h user:group symlink,只改变符号链接syrmlink的所有者和组。

  3. -f, --silent, --quiet
    抑制错误信息,当chown尝试更改不存在的文件或目录时不会显示错误消息。
    例如:chown -f user:group file,如果file不存在,不会显示错误信息。

  4. -v, --verbose
    显示详细信息,显示更改了哪些文件的所有者和组。
    例如:chown -v user:group file,会输出更改file所有者和组的详细信息。

  5. –from=OWNER[:GROUP]
    只更改当前所有者和组与指定的所有者和组匹配的文件。
    例如:chown --from=user:group newowner:newgroup file,只会更改当前所有者为user且组为groupfile

  6. –reference=REF
    使用引用文件的所有者和组来更改文件。
    例如:chown --reference=ref_file file,将会把file的所有者和组改成与ref_file相同的。

  7. –no-preserve-root
    默认情况下,如果用户不是超级用户(root),则不允许指定/作为文件名。此选项取消此限制。
    例如:chown --no-preserve-root user:group /,允许非root用户尝试更改根目录的所有者和组。

  8. –preserve-root
    强制chown检查是否为根用户(root),如果不是,则拒绝任何尝试更改根目录(/)的行为。这是默认行为。

  9. –help
    显示帮助信息。

  10. –version
    显示版本信息。

使用chown命令时,可以将所有者和组分开指定,也可以同时指定:

  • 只指定所有者:chown newowner file
  • 只指定组:chown :newgroup file
  • 同时指定所有者和组:chown newowner:newgroup file

请注意,更改文件或目录的所有者和组通常需要超级用户权限(root权限),除非更改的对象是你自己拥有的文件或目录。

4. 例子

  1. 更改文件所有者
chown user1 file.txt

file.txt 的所有者更改为 user1

  1. 更改所有者和组
chown user1:group1 file.txt

同时更改文件的所有者为 user1,组为 group1

  1. 递归更改目录及其内容
chown -R user1:group1 /path/to/directory

递归地更改目录和子文件的所有者及组。

http://www.lryc.cn/news/447491.html

相关文章:

  • 介绍GPT-o1:一系列解决困难问题( science, coding, and math )的推理模型
  • 2024 Python3.10 系统入门+进阶(十六):正则表达式
  • 书生大模型实战营学习[7] InternLM + LlamaIndex RAG 实践
  • 【MySQL】数据库--索引
  • [大语言模型-论文精读] ACL2024-长尾知识在检索增强型大型语言模型中的作用
  • “迷茫野路子到AI大模型高手:一张图解产品经理晋升之路和能力构建“
  • 可看见车辆行人的高清实时视频第2辑
  • 基于饥饿游戏搜索优化随机森林的数据回归预测 MATLAB 程序 HGS-RF
  • 一天面了8个Java后端,他们竟然还在背5年前的八股文!
  • python功能测试
  • 【秋招笔试】09.25华子秋招(已改编)-三语言题解
  • 【中级通信工程师】终端与业务(四):通信产品
  • 数据科学 - 字符文本处理
  • python之装饰器、迭代器、生成器
  • Go语言实现后台管理系统如何根据角色来动态显示栏目
  • 【深度学习】【TensorRT】【C++】模型转化、环境搭建以及模型部署的详细教程
  • LeetCode(Python)-贪心算法
  • 【C/C++】【基础数论】33、算数基本定理
  • 聚簇索引与非聚簇索引
  • “类型名称”在Go语言规范中的演变
  • c++----继承(初阶)
  • 数据库系列(1)常见的四种非关系型数据库(NoSQL)
  • 大规模预训练语言模型的参数高效微调
  • 一场大模型面试,三个小时,被撞飞了
  • Python每次for循环向list中添加多个元素
  • Java爬虫抓取数据的艺术
  • Unity场景内画车道线(根据五阶曲线系数)
  • IPLOOK百万级用户容量核心网惊艳亮相北京PT展
  • 家庭网络的ip安全性高吗
  • LLM阅读推荐