reference/docs/chown.md
2024-01-13 14:19:08 +08:00

150 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Chown 备忘清单
===
这份快速参考备忘单提供了改变文件或目录的所有者的简要概述,以及 chown 命令的操作
入门
--------
### 介绍
Linux/Unix 系统中的一个命令,全称为 `change owner`,用于改变文件或目录的所有者
```shell
chown [选项] [所有者][:[]] 文件或目录名
```
命令可以更改某个文件或目录的属主owner也可以同时更改其属组group
#### 示例
```shell
$ chown :groupname file1.txt
$ chown -R username:groupname *
$ chown $USER file.txt
```
`注意` 只有超级用户(root)才有权限改变文件或目录的所有者
### 选项
- `-c` : 显示更改的部分的信息
- `-f` : 忽略错误信息
- `-h` :修复符号链接
- `-v` : 显示详细的处理信息
- `-R` : 处理指定目录以及其子目录下的所有文件
- `--help` : 显示辅助说明
- `--version` : 显示版本
示例
--------
### 更改文件所有者
```shell
$ chown root /var/run/httpd.pid
```
`/var/run/httpd.pid` 的所有者设为 `root`
#### 仅更改所有者
```bash
$ chown new_owner file.txt
```
### 递归更改目录及其内容的所有者
<!--rehype:wrap-class=row-span-2-->
```shell
chown -R new_owner:new_group directory/
```
将文件夹 `directory` 的拥有者设为 `new_owner` ,群体的使用者设为 `new_group`
```shell
$ chown username:groupname file1.txt
```
将文件 file1.txt 的拥有者设为 `username` ,群体的使用者设为 `groupname`
```shell
$ chown -R username:groupname *
```
将当前目录以及子目录的所有文件的拥有者设为 `username` ,群体的使用者设为 `groupname`
### 更改所有者为当前用户
```bash
$ chown $USER file.txt
```
递归更改目录及其内容的所有者为当前用户
```bash
sudo chown -R $USER directory/
```
### 递归并且不显示错误信息
```bash
chown -R -f new_owner:new_group directory/
```
更改目录及其内容的所有者和组为 `alice`
```bash
chown -R alice: directory/
```
### 仅更改组
```shell
$ chown :groupname file1.txt
```
不修改文件 `file1.txt` 的拥有者,将文件使用群体改为 `groupname`
### 变更符号链接的所有者
<!--rehype:wrap-class=row-span-2-->
```bash
$ chown -h new_owner:new_group symlink
```
变更符号链接的所有者而不是链接指向的文件
```bash
$ chown -h manager symlink
```
更改符号链接的所有者为"manager"
### 更改所有者为根用户
<!--rehype:wrap-class=row-span-2-->
```bash
sudo chown root:root file.txt
```
#### 递归更改所有者为当前用户
```bash
sudo chown -R $USER directory/
# 更改目录及其内容的所有者和组为"alice":
chown -R alice: directory/
```
### 将文件所有者更改为其他用户,但保留组
```bash
chown new_owner file.txt
```
### 将文件所有者更改为其他用户,同时更改组
```bash
chown new_owner:new_group file.txt
```