我正在阅读一篇关于 GNU 的文章,内容如下
确实有一个 Linux,这些人正在使用它,但它只是他们使用的系统的一部分。Linux 是内核:系统中的程序,它将机器的资源分配给您运行的其他程序。内核是操作系统的重要组成部分,但它本身毫无用处;它只能在完整的操作系统环境中运行。Linux 通常与 GNU 操作系统结合使用:整个系统基本上是 GNU 加上 Linux,或 GNU/Linux。所有所谓的“Linux”发行版实际上都是 GNU/Linux 的发行版。
我一直认为 Linux 是一个内核和操作系统,但它看起来像 Linux = Linux 内核和 GNU OS。
有人可以指出我们日常生活中使用的“Linux”术语中每个术语的确切功能。此外,根据维基,GNU 的设计类似于 Unix,但与 Unix 的不同之处在于它是自由软件并且不包含 Unix 代码。我认为 Unix 是开源的。不是吗?
为什么我们不能关闭stdout
一个进程?
我正在尝试重定向命令。以下工作:
ls -a 0>&-
ls -a 2>&-
Run Code Online (Sandbox Code Playgroud)
这意味着关闭stdin
和stderr
过程ls -a
。但是为什么关闭stdout
失败呢?我正进入(状态
aniket@aniket-Compaq-610:~/Downloads$ ls -a 1>&-
ls: write error: Bad file descriptor
Run Code Online (Sandbox Code Playgroud)
我知道在这里关闭标准输出没有意义,但我想知道为什么不允许这样做?