试图在这里理解我的问题。我有一个窗口不知何故失去了 grep 的权限。老实说我不知道怎么做。我想知道、理解、至少知道可能发生了什么。有想法吗?
- 终结者屏幕 A,dirA,可以毫无问题地进行 grep。
- 相同的终结者窗口,屏幕 B,dirB,无法 grep(输出:)
grep number: permission denied
。两个目录具有相同的权限。 - 我从 dirB cd 到 dirA。我无法 grep。同样,输出显示
grep number: permission denied
,只是数字增加 1。 - 两个窗口都是从终结者打开的(同一个)。新的终结者窗口没有问题。新的终结者或终端 - 没问题。
- 我没有更改权限。
- 我没有添加/删除/更改组或用户。
- 现在有问题的窗口最初可以 grep。
- 在有问题的窗口中运行
zsh
会“启用”grep 返回,直到我退出 shell。
我想如果我关闭这个窗口并重新打开一个新窗口我会修复它,但我很好奇 - 是什么导致了它?
跑步:
- Ubuntu 16.04.3 LTS
- ZSH(版本显示
zsh 5.1.1 (x86_64-ubuntu-linux-gnu)
)与 Oh-My-ZSH - 终结者 0.98(虽然我不怀疑终结者,但它只是一个窗口中的一个屏幕,显示了这个特殊的问题,这是我第一次遇到它)。
Inxi报告如下
inxi -S -xxx
系统:主机:T420s 内核:4.4.0-104-generic x86_64(64 位 gcc:5.4.0) 桌面:Xfce 4.12.3(Gtk 2.24.28)信息:xfce4-panel dm:lightdm Distro :Ubuntu 16.04 xenial
导致问题的 Grep 命令:
和错误消息。
➜ dirA ±:(master) grep pom client/pom.xml [% 20:35:05]
grep:66: permission denied: client/src/main/java/client/BatClient.java
➜ dirA ±:(master) grep a pom.xml [% 20:35:20]
grep:67: permission denied: client/src/main/java/client/BatClient.java
➜ dirA ±:(master) grep a client/pom.xml [% 20:38:53]
grep:68: permission denied: client/src/main/java/client/BatClient.java
在 dirB 中,拒绝更改权限的文件。
我关闭了窗口,因为我必须重新启动服务器。
杀死窗户使故障消失。下次出现这种情况时,我将重新打开问题并添加系统调用调试或挖掘输出。
非常感谢您的帮助!
答案1
➜ dirA ±:(master) grep pom client/pom.xml [% 20:35:05]
grep:66: permission denied: client/src/main/java/client/BatClient.java
时间值旁边是否应该有某种电池百分比值,目前只有一个百分号?
如果是这样,“权限被拒绝”错误和丢失的百分比值可能相互关联:无论您的 Oh-My-ZSH 为获取该百分比而执行的操作都可能失败,并且可能导致命令grep
执行失败(即实际的命令可能根本不会被执行)作为副作用。
请注意,该消息不仅仅是“权限被拒绝”,而是permission denied: client/src/main/java/client/BatClient.java
。 BatClient 听起来像是可以用来读取电池电量值的东西。