小编Abd*_*ull的帖子

Unix shell“stdin/stdout APIs”有多稳定?

grepping、awking、sedding 和管道是任何类 Unix 操作系统用户的日常例行程序,无论是在命令行上还是在 shell 脚本中(从现在开始统称为过滤器)。

从本质上讲,当使用“标准”Unix CLI 程序和 shell 内置程序(从现在开始统称为命令)时,过滤器需要在每个过滤器步骤中为 stdin、stdout 和 stderr 提供精确的预期格式才能正常工作。在下文中,我将某些命令的这种精确预期格式称为此命令的 API。

作为具有 Web 开发背景的人,我将这种数据收集和数据处理在技术上与Web 抓取进行了比较- 这种技术在数据呈现方式发生最细微的变化时非常不稳定。

我的问题现在与 Unix 命令 API 的稳定性有关。

  1. 类 Unix 操作系统中的命令是否遵守有关其输入和输出的正式标准化?
  2. 历史上是否曾发生过某些重要命令的更新导致使用旧版本的所述命令构建的某些过滤器的功能中断的情况?
  3. 随着时间的推移,Unix 命令是否已经成熟到绝对不可能改变某些过滤器可能会破坏的方式?
  4. 如果过滤器可能因更改命令 API 不时中断,作为开发人员,我如何保护我的过滤器免受此问题的影响?

command-line shell standard filter api

21
推荐指数
5
解决办法
1124
查看次数

stdin/stdout 与 subshel​​l 和 cd 命令结合的行为

我有以下一系列命令:

cd / && ls | ( cd /tmp && cat >dumpfile)
Run Code Online (Sandbox Code Playgroud)

这一系列命令执行以下操作:它创建一个名为/tmp/dumpfile. 该文件包含根目录的列表。

cd / && ls输出被输送到一个子shell。我觉得奇怪的是,在子外壳中,不是cd /tmp吞下ls输出,而是 后者cat >dumpfile获取它并将其写入文件。这里发生了什么?

pipe io-redirection cd-command subshell

8
推荐指数
1
解决办法
3698
查看次数

什么是/dev/xvde1?

我不得不处理在Amazon EC2上运行的OpenShift RHEL Linux安装。在文件系统中,有一个名为mounted to ... 的设备文件和一个名为mounted to的设备文件。/dev/xvde1//dev/xvde2/var

什么是xvdeN设备文件?

linux mount xen amazon-ec2 block-device

5
推荐指数
2
解决办法
3万
查看次数