本打算修改所有隐藏文件的组,然而执行的是 chown -R user:user .*

2016-08-16 11:39:15 +08:00
 zhangneww

不是我干的。。。那么问题来了:

1 、如何恢复?现在貌似只能发现问题再改?

2 、怎么选择所有隐藏文件?只查到下面两个可以列出隐藏的文件(非目录)

ls -al | grep '^[^d]'
ls -al | grep '^-'
2889 次点击
所在节点    Linux
8 条回复
debiann
2016-08-16 11:41:05 +08:00
这个会有什么效果?
ToughGuy
2016-08-16 11:45:02 +08:00
修改隐藏文件
ToughGuy
2016-08-16 11:48:43 +08:00
上面按到 ctrl+enter 发出去了

修改隐藏文件
find -name '.*' -type f | xargs -n1000 chown -R user:user

排除隐藏文件
find -not -path '*/\.*' -type f | xargs -n1000 chown -R user:user
ToughGuy
2016-08-16 11:50:39 +08:00
find 已经递归目录查找了, chown 的-R 参数去掉也行, 我直接复制你的没有去掉。

上面只查找了文件, 如果要把目录也包含进去 去掉 -type f
bombless
2016-08-16 12:21:38 +08:00
find 有个-regex 选项。另外配回-type f
zhangneww
2016-08-16 13:52:54 +08:00
@debiann 你可以 ls -a .* 看看
arakashic
2016-08-17 00:09:05 +08:00
@ToughGuy 用-exec 就好了嘛,何必再 pipe
ToughGuy
2016-08-17 00:27:07 +08:00
@arakashic

exec 每个文件执行一次 chown 操作, 效率上没有管道加 xargs 高

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/299588

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX