Linux chown命令
更多资料下载,冲击月薪过万,一线经验工程师录制,
干货满满的嵌入式视频教程,请点击淘宝店:wanglitao.taobao.com
Linux的chown命令用来改变文件的所有者。Linux是个多用户操作系统,每个人都可以使用自己的用户和密码来登录同一个操作系统。一个用户在这个操作系统上创建文件,这个文件的owner(所有者)一般就是该用户。
在/home/zhaixue目录下,分别使用ROOT和普通用户zhaixue创建文件,我们可以看到每个文件的owner:
root@ubuntu:/home/zhaixue# touch hello.c
zhaixue@ubuntu:~$ touch world.c
zhaixue@ubuntu:~$ ls -l hello.c world.c
-rw-r--r-- 1 root root 0 Feb 13 01:11 hello.c
-rw-rw-r-- 1 zhaixue zhaixue 0 Feb 13 01:11 world.c
命令提示符 # 表示当前用户是ROOT用户,$表示当前用户是普通用户。在Linux下的每个用户都有自己的用户组,如果没有的话,系统会创建一个和用户名同名的用户组。通过上面的打印信息可以看到:不同的用户创建的文件,文件的owner和所属的group是不同的。但是,我们可以通过chown命令来文件的owner。
# chown [para]... [owner][:[group]] file...
chown命令常用的参数如下:
参数 | 参数说明 |
---|---|
-R | 递归变更,修改指定目录下的所有文件和子目录 |
-c | 显示更改部分的信息 |
-f | 若该文件拥有者无法被更改,忽略错误信息 |
-h | 修改符号链接,只对链接(link)修改,不改变链接真正指向的文件 |
-v | 显示处理信息 |
—deference | 修改链接的指向,但不修改链接文件本身 |
使用示例:
将hello.c文件的owner修改为:zhaixue
# ls -l hello.c world.c
-rw-r--r-- 1 root root 0 Feb 13 01:11 hello.c
-rw-rw-r-- 1 zhaixue zhaixue 0 Feb 13 01:11 world.c
# sudo chown zhaixue:zhaixue hello.c
# ls -l hello.c world.c
-rw-r--r-- 1 zhaixue zhaixue 0 Feb 13 01:11 hello.c
-rw-rw-r-- 1 zhaixue zhaixue 0 Feb 13 01:11 world.c
将当前目录下的所有文件的owner修改为zhaixue,用户组修改为zhaixue:
# ll
total 12
drwxr-xr-x 3 root root 4096 Feb 13 01:29 ./
drwxr-xr-x 18 zhaixue zhaixue 4096 Feb 13 01:27 ../
-rw-r--r-- 1 root root 0 Feb 13 01:11 hello.c
drwxr-xr-x 2 root root 4096 Feb 13 01:29 sub-dir/
-rw-rw-r-- 1 root root 0 Feb 13 01:11 world.c
# chown -R zhaixue:zhaixue *
# ll
total 12
drwxr-xr-x 3 root root 4096 Feb 13 01:29 ./
drwxr-xr-x 18 zhaixue zhaixue 4096 Feb 13 01:27 ../
-rw-r--r-- 1 zhaixue zhaixue 0 Feb 13 01:11 hello.c
drwxr-xr-x 2 zhaixue zhaixue 4096 Feb 13 01:29 sub-dir/
-rw-rw-r-- 1 zhaixue zhaixue 0 Feb 13 01:11 world.c
通过-R递归修改,不仅当前目录下的所有文件会修改owner,子目录sub-dir及其里面的所有文件都会跟着修改。
《Linux三剑客》视频教程,从零开始快速掌握Linux开发常用的工具:Git、Makefile、vim、autotools、debug,免费赠送C语言视频教程,C语言项目实战:学生成绩管理系统。详情请点击淘宝链接:Linux三剑客