极具归属感的 - chown
.. note::
常记溪亭日暮,沉醉不知归路。
李清照《如梦令》
Linux chown
命令用于设置文件所有者和文件关联组的命令。
官方的定义为:
chown - change file owner and group
Linux/Unix 的有个理念就是一切皆文件,而对于每个文件也是如chmod
所述,均拥有所有者。
此时就可以利用 chown
指定文件的拥有者或者指定的用户或组,用户可以是用户名或者用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件列表,支持通配符。
不过需要注意的是 chown
需要超级用户 root 的权限才能执行此命令,或者使用sudo
也可以。
使用语法
使用语法如下:
1 | $ chown [option] [user[:group]] file... |
其中user为新的文件拥有者的用户名或者ID,group为新的文件拥有者的用户组名或ID****。
并且可以通过--referenc=RFILE
选项来设定希望修改的文件和目录。
其他的选项可以为: :
-c
: 与-v
类似,不过只显示更改的信息-R
: 递归地处理指定的目录以及其子目录下的所有文件
通用实例
最简单的使用方式应该就是指定用户和用户组了,如下:
1 | $ ll |
上面的命令将把a指定为用户user1,组group1。注意user1和group1必须存在,不然会提示无效的用户或者组。
更新组而不更新用户
这个选项一般用在,希望把某个用户的文件共享到一个组,此时的方法如下:
1 | $ sudo chown :newgroup filename |
此时的用户所有者不变,而仅仅更改了文件所属组。
提示更新
1 | $ sudo chown -c user1 a b c d |
从这个例子可以看出,对于-c和-v的区别,-v全部显示,而-c仅仅显示更新的部分。
递归处理文件或文件夹
1 | $ sudo chown -R user:group file directory |
此条命令将递归地将文件file和目录directory及其子目录的文件更新为user用户拥有,group组拥有。