Linux命令之chown
来源:岁月联盟
编辑:exp
时间:2012-06-21
Linux命令之chown chown 更改文件所有者和组语法: www.2cto.com chown [OPTION] [OWNER][:[GROUP]] FILE chown [OPTION] --reference=RFILE FILE 描述: chown 改变指定文件的用户和/或组的拥有者。 如果仅仅给定owner(用户名活在用户ID),执行此语句后,仅仅改变选定文件的拥有者,文件的组是没有改变的。 例如: liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 总用量 0 -rw-rw-r-- 1 liujl liujl 0 2012-06-20 09:31 mytest.txt 执行chown 后: liujl@liujl-Rev-1-0:~/mycode/TEST$ sudo chown juanzhang mytest.txt [sudo] password for liujl: www.2cto.com liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 总用量 0 -rw-rw-r-- 1 juanzhang liujl 0 2012-06-20 09:31 mytest.txt 如果owner后跟着“:”和组名(或者组ID),注意在“:”两边不要有空格,执行完此条语句后,用户和组拥有者都会发生改变,例如: liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 总用量 0 -rw-rw-r-- 1 liujl liujl 0 2012-06-20 09:31 mytest.txt 执行chown后: liujl@liujl-Rev-1-0:~/mycode/TEST$ sudo chown liujl:liujl mytest.txt [sudo] password for liujl: liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 总用量 0 -rw-rw-r-- 1 liujl liujl 0 2012-06-20 09:31 mytest.txt 如果仅有“:”,但后面没有组名,系统会改变文件的拥有者及此拥有组所在的组。 例如: liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 总用量 0 -rw-rw-r-- 1 liujl liujl 0 2012-06-20 09:31 mytest.txt liujl@liujl-Rev-1-0:~/mycode/TEST$ sudo chown juanzhang: mytest.txt [sudo] password for liujl: liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 总用量 0 -rw-rw-r-- 1 juanzhang juanzhang 0 2012-06-20 09:31 mytest.txt 如果“:”和组名给定,但是拥有者忽略,仅有组名被修改;在这种情况下,chown的功能和chgrp的功能相似。 liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 总用量 0 www.2cto.com -rw-rw-r-- 1 juanzhang juanzhang 0 2012-06-20 09:31 mytest.txt iujl@liujl-Rev-1-0:~/mycode/TEST$ sudo chown :liujl mytest.txt liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 总用量 0 -rw-rw-r-- 1 juanzhang liujl 0 2012-06-20 09:31 mytest.txt 如果仅“:”给定或者整个操作数为空,文件拥有者或者组名都不会改变。 liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 总用量 0 -rw-rw-r-- 1 juanzhang liujl 0 2012-06-20 09:31 mytest.txt liujl@liujl-Rev-1-0:~/mycode/TEST$ chown : mytest.txt liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 总用量 0 -rw-rw-r-- 1 juanzhang liujl 0 2012-06-20 09:31 mytest.txt 整个操作数为空,会报错: liujl@liujl-Rev-1-0:~/mycode/TEST$ chown mytest.txt chown: "mytest.txt" 后缺少操作数参数: -R :进行递归的持续更改,即将同子目录下的所有文件、目录都更新问这个用户组。通常用在更改某一目录的情况。 应用场合: 此命令用的最多的地方是,当我们使用mv或者cp拷贝给其他人的时候,这些文件的拥有者和组名没有改变,所以需要修改。 www.2cto.com 例子: liujl@liujl-Rev-1-0:/usr$ ls -l|grep mytest2.txt -rw-r--r-- 1 root root 0 2012-06-20 13:50 mytest2.txt liujl@liujl-Rev-1-0:/usr$ sudo mv mytest2.txt /home/liujl/mycode/TEST/ liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 总用量 0 -rw-r--r-- 1 root root 0 2012-06-20 13:50 mytest2.txt 现在mytest2.txt已经mv到liujl用户下了,但是当修改的时候是不允许的,从上句可以看出,还是属于root root ,这就需要chown了。 作者 richerg85