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.mzph.cn/pingmian/54801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器人顶刊IEEE T-RO发布无人机动态环境高效表征成果:基于粒子的动态环境连续占有地图

摘要:本研究有效提高了动态环境中障碍物建模的精度和效率。NOKOV度量动作捕捉系统助力评估动态占用地图在速度估计方面的性能。 近日,上海交通大学、荷兰代尔夫特理工研究团队在机器人顶刊IEEE T-RO上发表题为Continuous Occupancy Mapping in Dynamic …

vue是如何优化

Vue的性能优化是一个涉及多个方面的综合过程,旨在提高Vue应用的运行效率和用户体验。以下是一些关键的Vue优化策略: 1. 代码层面的优化 a. 使用函数式组件 函数式组件相比普通组件没有状态(没有响应式数据)和实例(没…

『功能项目』鼠标悬停物品显示信息【77】

本章项目成果展示 我们打开上一篇763D模型动态UI显示的项目, 本章要做的事情是鼠标悬停在道具身上显示对应信息 首先制作一个武器Image信息面板 重命名为WeaponUI01 设为隐藏 修改脚本:RightClickItem.cs 查看挂载脚本: 运行项目 - 当鼠标悬…

多线程计算π

1、实现单线程计算π 2、使用任务分解方法,使用2线程,并行计算π 3、使用数据分解方法,使用2线程,并行计算π 注意:在循环中使用以上计算π的公式,n取值为1到Int.Max 问题1: import java.lang.*;public class Thread1 extends Thread{@Overridepublic void run(){l…

个性化大语言模型:PPlug——让AI更懂你

在当今数字化转型的时代,大型语言模型(LLMs)已经成为了不可或缺的工具,它们在自然语言理解、生成和推理方面展现了非凡的能力。然而,这些模型普遍采用的是“一刀切”的方式,即对于相同的输入给予所有用户相…

HDFS分布式文件系统01-HDFS架构与SHELL操作

HDFS分布式文件系统 学习目标第一课时知识点1-文件系统的分类单机文件系统网络文件系统分布式文件系统 知识点2-HDFS架构知识点3-HDFS的特点知识点4-HDFS的文件读写流程知识点5-HDFS的健壮性 第二课时知识点1-HDFS的Shell介绍HDFS Shell的语法格式如下。HDFS Shell客户端命令中…

db2 存储过程 if的例子及call调用方法

if 需要 end if; CREATE PROCEDURE UPDATE_SAL (IN empNum CHAR(6), OUT rating SMALLINT)LANGUAGE SQLBEGINIF rating 1 THENUPDATE employee SET salary salary * 1.10, bonus 1000 WHERE empno empNum;ELSEIF rating 2 THENUPDATE employee SET salary salary * …

windows电脑C盘内存爆满怎么办?

目录 1. 下载SpaceSniffer2. 运行程序,扫描C盘3. 寻找可删除的文件 为了节省C盘的内存,将大部分的软件尽量都安装在C盘以外的磁盘中,但是在电脑的使用过程中还是会发现C盘越来越少,这是因为很多软件会默认将数据文件夹&#xff08…

【算法】DFS 系列之 穷举/暴搜/深搜/回溯/剪枝(上篇)

【ps】本篇有 9 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1)全排列 .1- 题目解析 .2- 代码编写 2)子集 .1- 题目解析 .2- 代码编写 3)找出所有子集的异或总和再求和 .1- 题目解析 .2- 代码编写 4)全排列 II…

Spring Boot 实战:使用观察者模式实现实时库存管理

在现代软件开发中,实时数据处理和响应式编程变得越来越重要。库存管理系统是一个典型的需要实时更新的应用场景,当库存发生变化时,系统应该能够立即通知所有相关的组件或服务。在这个实战教程中,我们将展示如何使用Spring Boot结合…

​​三SSH

ssh密钥对登录原理 :首先,客户端事先生成一对密钥,并将公钥保存在服务器上的授权文件中。接下来,客户端不用密码,而是用密钥对来验证身份。客户端用服务器的公钥来加密自己的公钥,然后把加密后的信息发送给…

前端面试题(八)

39. 现代前端框架 当前流行的前端框架有哪些? React:由 Facebook 开发的一个用于构建用户界面的 JavaScript 库,采用组件化开发,支持虚拟 DOM 和单向数据流。 主要特性: 组件复用:将 UI 分割成独立的、可复…

html,js,react三种方法编写helloworld理解virtual dom

学习任何一个新语言&#xff0c;好像都从helloworld开始。&#xff1a;&#xff09;。 html helloworld 静态hello world <!DOCTYPE html> <html> <head><title>Hello World</title> </head> <body><p>Hello World</p&g…

数字化转型:开启未来发展新引擎

在当今飞速发展的时代&#xff0c;数字化转型已成为企业、组织乃至整个社会发展的关键趋势。 信息技术的迅猛发展&#xff0c;如互联网、大数据、人工智能等&#xff0c;为数字化转型提供了强大支撑。市场竞争的加剧&#xff0c;也促使企业不断寻求提升竞争力的方法&#xff0c…

OpenCV图像文件读写(6)将图像数据写入文件的函数imwrite()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 将图像保存到指定的文件中。 函数 imwrite 将图像保存到指定的文件中。图像格式是根据文件名扩展名选择的&#xff08;参见 cv::imread 获取扩展…

利用git将项目上传到github

采用git而不是在pycharm中共享的原因&#xff1a;可能会出现上图报错 目录 1、创建github仓库2、在 git bash 中初始化Git仓库&#xff0c;添加文件&#xff0c;上传代码 1、创建github仓库 2、在 git bash 中初始化Git仓库&#xff0c;添加文件&#xff0c;上传代码

[Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

LabVIEW提高开发效率技巧----利用第三方库和工具

LabVIEW开发不仅依赖于自身强大的图形化编程能力&#xff0c;还得益于其庞大的用户社区和丰富的第三方库。这些工具和库能够帮助开发者快速解决问题&#xff0c;提升开发效率&#xff0c;避免从头开始编写代码。 1. LabVIEW工具网络&#xff08;NI Tools Network&#xff09; …

从准备面试八股文,感悟到技术的本质

工作前几年听说过&#xff0c;大学最重要的几门课其实是数据结构和算法、操作系统、计算机组成原理、计算机网络。 初听时不以为然&#xff0c;感觉没什么用。 近期准备面试八股文得到了一些感悟。这句话随着工作年限和对程序的理解越来越深入&#xff0c;含金量越来越高。 最…

FFmpeg源码:avio_skip函数分析

AVIOContext结构体和其相关的函数分析&#xff1a; FFmpeg源码&#xff1a;avio_r8、avio_rl16、avio_rl24、avio_rl32、avio_rl64函数分析 FFmpeg源码&#xff1a;read_packet_wrapper、fill_buffer函数分析 FFmpeg源码&#xff1a;avio_read函数分析 FFmpeg源码&#xff…