不明白为什么我会收到拒绝权限错误

时间:2014-06-21 12:03:05

标签: shell chmod

我有一个文件hello.c,带有" hello world" C中的程序。我还在shell上完成了以下操作(UNIX):

$ ls > 1
$ chmod 0 1
$ cc -o hello hello.c
$ chmod 400 hello
$ ./hello > 1

我在1上获得了许可。

为什么我没有在hello上获得权限被拒绝错误?

1 个答案:

答案 0 :(得分:1)

因为当你要求shell为命令执行输出重定向时,shell要打开要写入的文件,调用命令之前。

你的shell会:

  1. 打开1进行撰写
  2. "电线" ./hello stdout1
  3. 运行./hello
  4. 1拥有权限0o000,因此第一个操作将失败。