免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: wildlily980
打印 上一主题 下一主题

[系统管理] 求命令更改多个文件夹下所有文件owner为父文件夹owner [复制链接]

论坛徽章:
0
11 [报告]
发表于 2013-10-09 14:15 |只看该作者
cd /home
ls | xargs -I{} echo chown -R {}:{} {}_user

检查下有没有出错,然后把echo去掉

评分

参与人数 1可用积分 +6 收起 理由
chenyx + 6 很给力!不过应该是与楼主的问题相悖,{}_use.

查看全部评分

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
12 [报告]
发表于 2013-10-09 14:22 |只看该作者
楼上的思路很给力,赞一个.

论坛徽章:
7
双子座
日期:2013-09-09 15:55:31CU大牛徽章
日期:2013-09-18 15:22:06CU大牛徽章
日期:2013-09-18 15:22:20CU大牛徽章
日期:2013-09-18 15:22:26CU大牛徽章
日期:2013-09-18 15:22:31CU大牛徽章
日期:2013-09-18 15:22:37CU大牛徽章
日期:2013-09-18 15:22:46
13 [报告]
发表于 2013-10-09 15:03 |只看该作者
本帖最后由 milujite 于 2013-10-09 15:30 编辑

没看懂楼主需求啊,楼主的需求是把home目录下的所有子目录换成小写,并加上_user作为用户名,修改该子目录下所有文件用户为x_user对吧?
  1. #!/bin/bash
  2. dir="/home";
  3. for x in $(ls $dir)
  4. do
  5. {
  6.         ftype=$(stat -c %F $x);
  7.         if [ "$ftype" == "directory" ] ;
  8.         then
  9.         {
  10.                 newuser="$(echo $x |tr A-Z a-z)_user";
  11.                 chown -R $newuser $x;
  12.         }
  13.         fi;
  14. }
  15. done
复制代码
如果只是修改和/home下的子目录一样的用户,这样就好了
  1. #!/bin/bash
  2. dir="/home";
  3. for x in $(ls $dir)
  4. do
  5. {
  6.         ftype=$(stat -c %F $x);
  7.         if [ "$ftype" == "directory" ] ;
  8.         then
  9.         {
  10.                 chown -R $(stat -c %U $x) $x;
  11.         }
  12.         fi;
  13. }
  14. done
复制代码

论坛徽章:
0
14 [报告]
发表于 2013-10-09 16:14 |只看该作者
本帖最后由 wildlily980 于 2013-10-09 16:14 编辑
milujite 发表于 2013-10-09 15:03
没看懂楼主需求啊,楼主的需求是把home目录下的所有子目录换成小写,并加上_user作为用户名,修改该子目录下 ...

谢谢你,连脚本都给出来了。
主要是原来php是dso模式运行的。然后要改为suphp,然后很多生成的文件的属主要更改。
已经找到一个现成的脚本了。

论坛徽章:
0
15 [报告]
发表于 2013-10-09 16:28 |只看该作者
本帖最后由 yanu 于 2013-10-09 16:29 编辑

- - 又看错题了..

find . -maxdepth 1 -type d -regex '^\./..*$' -printf "chown -R  %u:%g %p\n" | sh

测试的时候去掉 |sh
忘了怎么忽略path/. 这个文件夹了,只好加个正则过滤下

论坛徽章:
0
16 [报告]
发表于 2013-10-09 19:55 |只看该作者
回复 15# yanu


    终于有人看懂我的意思了。谢谢你,留给后来人吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP