小编use*_*885的帖子

为什么使用命名管道而不是文件?

我最近阅读了命名管道,但我不明白它们为什么存在。
我在某处读到使用命名管道比使用文件更省时。

为什么会这样?
命名管道也必须存储在内存中(可能会被交换,就像文件一样)。
据我所知,他们必须获得一个必须由当前目录引用的 inode,就像文件一样。此外,它们必须由程序员删除,就像文件一样。

那么优势在哪里呢?

files pipe

51
推荐指数
3
解决办法
8万
查看次数

为什么 shell 会调用 fork()?

当一个进程从 shell 启动时,为什么 shell 在执行进程之前会自己fork?

例如,当用户输入时grep blabla foo,为什么shell 不能在exec()没有子shell 的情况下调用grep?

此外,当 shell 在 GUI 终端仿真器中分叉自身时,它是否会启动另一个终端仿真器?(比如pts/13开始pts/14

command-line process

35
推荐指数
1
解决办法
1万
查看次数

Bash - 在当前 shell 中执行命令

我正在阅读 O'Reilly 的书“Unix in a nutshell”,我在那里看到可以使用以下格式在当前 shell 中对命令进行分组和执行:

{ cmd1 ; cmd2 }
Run Code Online (Sandbox Code Playgroud)

我不明白这是怎么可能的,因为我知道对 exec 的调用会替换 shell 的数据,因此 shell 无法从 exec 系统调用中返回。所以我测试了命令,我不明白发生了什么。我输入了一个命令行,但我不确定该命令行属于什么。

它只是终端模拟器的命令行,从外壳中剥离出来吗?

另外,在当前 shell 中以任何方式执行命令有什么用?

在此处输入图片说明

command-line bash gnome-terminal

8
推荐指数
3
解决办法
9036
查看次数

Bash 内置插件,无需手动输入

为什么某些 bash 内置程序(例如 dirs、pushd 或 help)没有手动输入?

bash manpage

6
推荐指数
2
解决办法
1042
查看次数

GNU binutils 列表

如何从命令行获取这样的列表,包括每个实用程序的版本?默认情况下,它们是否在同一个文件中?

command-line binutils

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

标签 统计

command-line ×3

bash ×2

binutils ×1

files ×1

gnome-terminal ×1

manpage ×1

pipe ×1

process ×1