Linux chown命令

更多资料下载、嵌入式视频教程,加群:398294860,视频教程:www.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三剑客