Linux命令之chown

chown 更改文件所有者和组

语法:

     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:
          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
          -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拷贝给其他人的时候,这些文件的拥有者和组名没有改变,所以需要修改。

       例子:

       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的专栏

//记录自己工作学习中的点点滴滴,希望有一天会变强大//

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值