Linux中的标准输入是什么?

Linux 中的标准输入是键盘和鼠标。当您在键盘上键入内容时,它会进入标准输入。使用鼠标时也会发生同样的事情。您还可以使用命令行获取标准输入。

如何在 Linux 中创建标准输入?

在 Linux 中,标准输入是键盘,输出是屏幕。要在 Linux 中创建标准输入,您首先需要知道它是什么。标准输入是您键入发送到计算机的命令的地方。它也是您从计算机获取数据的地方。您可以使用标准输入来键入命令或从计算机获取数据。

要在 Linux 中创建标准输入,您首先需要知道它是什么。

标准输入是您键入发送到计算机的命令的地方。它也是您从计算机获取数据的地方。您可以使用标准输入来键入命令或从计算机获取数据。

您可以在 Linux 中将不同类型的文件与标准输入一起使用:文本文件、二进制文件和目录。当您在 Linux 中使用带有标准输入的文本文件时,Windows 将其视为硬盘驱动器上的普通文本文件。当您在 Linux 中使用带有标准输入的二进制文件时,Windows 将其视为硬盘驱动器上的可执行文件(执行某些操作的程序)。当您在 Linux 中使用带有标准输入的目录时,Windows 将其视为硬盘驱动器上的目录,而不是可执行文件。(当您想将目录从一台计算机复制到另一台计算机而不担心其中的程序时,这很有用。

Linux中标准输入的默认位置是什么?

Linux 中标准输入的默认位置是 /dev/null。这意味着您在终端中键入的任何命令都将被忽略。

如何更改 Linux 中标准输入的位置?

在 Linux 中,标准输入是您在登录或启动命令时键入的文本。您可以使用终端的命令行界面 (CLI) 更改标准输入的位置。为此,请打开终端窗口并键入:

cd /usr/local/bin

chmod +x stdin_input.sh

./stdin_input.sh

第一个命令将您当前的工作目录更改为 /usr/local/bin,第二个脚本将一个名为 stdin_input.sh 的新文件添加到该目录。第三个命令以您当前的用户权限运行脚本(也就是说,它将以您而不是 root 身份运行)。如果一切顺利,您将看到一条消息,告诉您标准输入已移至 /usr/local/bin/stdin_input。如果没有,请查看我们的故障排除指南以获得更多帮助。

为什么要更改 Linux 中标准输入的位置?

您可能想要更改 Linux 中标准输入的位置的原因有几个。例如,如果您想使用与默认程序不同的终端仿真程序,或者如果您想运行需要用户从文本文件而不是键盘输入的脚本。此外,如果您正在处理一个需要多个用户同时共享数据文件和输入命令的项目,那么设置您的系统以使他们的所有输入都通过同一位置会很有帮助。在这个 400 字的指南中,我们将更详细地探讨这些原因,并解释如何更改 Linux 系统上标准输入的位置。

为什么我要使用不同的终端仿真程序?

如果您使用 GNOME 或 KDE 等现有桌面环境,您的计算机很可能预装了 xterm 或 konsole 等终端程序。但是,如果您使用的是 Ubuntu 或其他默认未安装此类程序的 Linux 发行版,则还有许多其他选项可用。例如,某些发行版包括 terminator ,这是一个基于 X 的开源终端仿真器程序。如何更改标准输入的位置?

更改标准输入的位置很容易——只需打开一个终端窗口(在应用程序 > 附件 > 终端下找到)并输入:sudo nano /etc/default/terminal 如果一切按计划进行——假设没有发生错误——你现在应该会看到类似这样的内容: TERM=xterm-256color 如果不是……不要惊慌!此命令可能无法按预期工作通常有两个主要原因:

一旦我们确认我们所需的更改已正确进行,我们需要更新我们的 shell 的配置,以便这些新设置在我们登录时自动生效: sudo sh -c 'echo "TERM=$TERM" >> ~/.bashrc ' && sudo sh -c 'echo "export TERM="$TERM"" >> ~/.bashrc'现在,当我们重新登录会话(通过注销并重新登录)时,我们的新设置都将自动应用,无需我们进一步干预!

如果我没有进行更改所需的管理权限会怎样?

如果由于某种原因您没有更改 /etc/default/terminal 所需的管理权限,那么还有其他方法可以实现我们想要的 - 通过编辑您的用户配置文件 (.profile) 文件或全局启动脚本 (.bash_profile)。要编辑您的用户配置文件...键入 nano ~/.profile ...并添加至少一行包含: TERM=xterm-256color 保存并关闭 Nano 后,通过键入 source ~/.profile 重新加载当前会话现在应该会导致 xterm用作您的默认终端仿真器!要编辑全局启动脚本... 打开 ~/.

  1. 如果您对要使用的终端仿真器程序没有任何偏好,那么只需更改标准输入的位置不会对您的工作流程产生太大影响。但是,如果您计划同时使用多个终端仿真器(例如,同时处理多个项目时),它们通常更容易访问位于同一目录中的数据文件和脚本。这样,每个人都可以在各自的终端中键入命令,而不必担心路径或文件名冲突。
  2. 您可能没有更改 /etc/default/terminal 所需的管理权限;您的系统上可能不存在 TERM 中指定的文件(在这种情况下,请尝试键入 sudo nano /etc/default/terminal)。如果无论出于何种原因这些解决方案都不起作用,请随时通过我们的支持渠道寻求帮助。

更改标准输入的位置如何影响使用它的程序?

当您更改标准输入的位置时,您正在影响使用它的程序。例如,如果您将标准输入移到文件中,则所有使用标准输入的程序都必须改为从该文件中读取。如果将标准输入移至管道,则所有使用标准输入的程序都将通过该管道发送其输出。

使用不同位置作为标准输入的程序还能相互通信吗?

Linux 中的标准输入是读取用户输入的位置。使用不同位置作为标准输入的程序仍然可以相互通信,只要它们知道其他程序标准输入的位置。

在大多数情况下,一个程序将使用相同的位置作为其标准输入,无论它是从终端运行还是从另一个程序中运行。但是,此规则有一些例外。例如,如果一个程序是从命令行界面 (CLI) 启动的,那么它将使用终端的默认输出而不是使用标准输入。

当程序从文件中读取数据时,会发生另一个异常。在这种情况下,文件的内容成为程序的标准输入。

如果两个程序同时尝试从同一个标准输入中读取会发生什么?

在 Linux 中,标准输入是键盘和终端。当两个程序试图同时从同一个标准输入中读取时,它们可能会相互冲突。这可能会导致错误或意外行为。为避免这种情况,您应始终指定启动时应从标准输入读取哪个程序。

一次可以从单个标准输入读取多少程序是否有限制?如果是这样,这个限制是多少?如果不是,为什么不呢?

一次可以从标准输入读取多少程序是没有限制的。这是因为 Linux 内核允许多个进程共享相同的文件描述符,这些文件描述符从 1 开始编号。因此,如果您有四个从标准输入读取的进程,每个进程将使用 3、4、5 和 6 号文件描述符。如果要允许四个以上的进程同时访问标准输入,则需要使用不同的 I/O 子系统,如管道或共享内存。