Dav*_*idP 31 command-line chown
我无法登录到我的“管理员”账户和Alt+ Ctrl+F1显示我的所有文件都是由我“标准”的用户所拥有。奇怪的。
所以我小心地改成/home/admin并做了一个
sudo chown -R admin:admin *
Run Code Online (Sandbox Code Playgroud)
(还有.*)。
伟大的。
然后我无法以我的“标准”用户身份登录,结果发现所有文件/home/standard现在都归“管理员”所有。
挺幽默的。为什么会这样?
sudo chown -R standard:standard /home/standard/*
Run Code Online (Sandbox Code Playgroud)
做同样的事情,改变/home/admin以及/home/standard。
我比平时更困惑,因为我试图升级到 15.04,这几乎毁了我的电脑,所以我把东西放回 14.04,请耐心等待。
hee*_*ayl 41
这个问题是因为你运行了:
sudo chown -R admin:admin .*
Run Code Online (Sandbox Code Playgroud)
我们知道,.表示当前目录,..表示父目录。当您使用 运行命令时.*,它仅表示匹配当前目录中的任何隐藏文件(用 表示.)、当前目录本身(.)、父目录(..)。简单地在.(*表示 0 个或多个字符)之后放任何东西。因此,父目录及其所有子目录都被chown-ed 到admin:admin.
看看这个测试:
sudo chown -R admin:admin .*
Run Code Online (Sandbox Code Playgroud)
要恢复,您需要chown再次访问受影响的目录。
我不太确定你的计划是什么,但这里有一些想法:
chown递归到任何目录(包括隐藏文件):
sudo chown -R foo:foo /spam/egg/
Run Code Online (Sandbox Code Playgroud)要chown只目录(而不是目录本身)里面的文件(包括隐藏文件):
(shopt -s dotglob && sudo chown -R foo:foo egg/*)
Run Code Online (Sandbox Code Playgroud)要chown只非隐藏文件(不包括目录本身):
sudo chown -R foo:foo egg/*
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
113293 次 |
| 最近记录: |