diff --git a/docs/chown.md b/docs/chown.md index 5d204a2..fced2be 100644 --- a/docs/chown.md +++ b/docs/chown.md @@ -8,17 +8,25 @@ Chown 备忘清单 ### 介绍 -"chown"是Linux/Unix系统中的一个命令,全称为"change owner",用于改变文件或目录的所有者。这个命令可以更改某个文件或目录的属主(owner),也可以同时更改其属组(group)。 - -**注意:只有超级用户(root)才有权限改变文件或目录的所有者。** - -### 用法 +Linux/Unix 系统中的一个命令,全称为 `change owner`,用于改变文件或目录的所有者 ```shell chown [选项] [所有者][:[组]] 文件或目录名 ``` -#### 选项 +命令可以更改某个文件或目录的属主(owner),也可以同时更改其属组(group) + +#### 示例 + +```shell +$ chown :groupname file1.txt +$ chown -R username:groupname * +$ chown $USER file.txt +``` + +`注意` 只有超级用户(root)才有权限改变文件或目录的所有者 + +### 选项 - `-c` : 显示更改的部分的信息 - `-f` : 忽略错误信息 @@ -31,26 +39,111 @@ chown [选项] [所有者][:[组]] 文件或目录名 示例 -------- -### 把 /var/run/httpd.pid 的所有者设为 root +### 更改文件所有者 ```shell -chown root /var/run/httpd.pid +$ chown root /var/run/httpd.pid ``` -### 将文件 file1.txt 的拥有者设为 username ,群体的使用者设为 groupname +把 `/var/run/httpd.pid` 的所有者设为 `root` + +#### 仅更改所有者 + +```bash +$ chown new_owner file.txt +``` + +### 递归更改目录及其内容的所有者 + ```shell -chown username:groupname file1.txt +chown -R new_owner:new_group directory/ ``` -### 将当前目录以及子目录的所有文件的拥有者设为 username ,群体的使用者设为 groupname +将文件夹 `directory` 的拥有者设为 `new_owner` ,群体的使用者设为 `new_group` ```shell -chown -R username:groupname * +$ chown username:groupname file1.txt ``` -### 不修改文件 file1.txt 的拥有者,将文件使用群体改为 groupname +将文件 file1.txt 的拥有者设为 `username` ,群体的使用者设为 `groupname` ```shell -chown :groupname file1.txt +$ 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` + +### 变更符号链接的所有者 + + +```bash +$ chown -h new_owner:new_group symlink +``` + +变更符号链接的所有者而不是链接指向的文件 + +```bash +$ chown -h manager symlink +``` + +更改符号链接的所有者为"manager" + +### 更改所有者为根用户 + + +```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 ```