小编Gee*_*eek的帖子

为什么在类 Unix 系统中有多个 shell?

我刚刚开始学习 Unix 的基础知识,想知道为什么在类似 Unix 的系统中有这么多 shell。来自Unix 环境中的高级编程一书:

shell 是一个命令行解释器,它读取用户输入并执行命令。shell 的用户输入通常来自终端(交互式 shell)或有时来自文件(称为 shell 脚本)。

然后本书继续列出了一些 shell 程序,如 Bourne shell、Bourne-again shell、Cshell 等。我的问题基本上是为什么我们需要多个外壳?

shell

17
推荐指数
2
解决办法
7118
查看次数

<defunct> 在 ps 的输出中是什么意思?

我发出了ps -ef|grep java命令,这是我得到的条目之一:

subhrcho   875   803  0 Jan23 pts/5    00:02:27 [java] <defunct>
Run Code Online (Sandbox Code Playgroud)

这里是什么<defunct>意思?该进程是 PID=875 的进程是什么状态?

process ps process-management command

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

set-user-ID 机制在 Unix 中是如何工作的?

有人可以解释 Unix 中的 set-user-ID 机制吗?这个设计决定背后的理由是什么?它与有效的用户 ID 机制有何不同?

command-line process setuid architecture privileges

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

仅按名称运行可执行文件与在其前面附加点/斜杠有什么区别?

这是ls -all命令的输出:

-rwxr----- 1 subhrcho dba  3600 Nov 13 17:26 jdev
-rw-r----- 1 subhrcho dba  1566 Nov 13 17:26 jdev-Darwin.conf
-rw-r----- 1 subhrcho dba   347 Mar  6  2009 jdev-debug.boot
-rw-r----- 1 subhrcho dba   821 Nov 13 17:26 jdev-logging-debug.conf
-rw-r----- 1 subhrcho dba   584 Nov 13 17:26 jdev-logging.conf
-rw-r----- 1 subhrcho dba  4717 Jul 31 16:09 jdev.boot
-rw-r----- 1 subhrcho dba 12877 Nov 13 17:26 jdev.common
-rw-r----- 1 subhrcho dba  5047 Dec  6 01:43 jdev.conf
-rwxr-x--- 1 subhrcho dba …
Run Code Online (Sandbox Code Playgroud)

process command

13
推荐指数
2
解决办法
1769
查看次数

日志程序如何继续记录已删除的文件?

来自Unix Power Tools,第 3 版不是删除文件,而是清空它部分:

如果活动进程打开了该文件(对于日志文件来说并不少见),则删除该文件并创建一个新文件不会影响日志记录程序;这些消息只会继续发送到不再链接的文件中。清空文件不会破坏关联,因此它会在不影响日志记录程序的情况下清除文件。

强调我的

我不明白为什么程序会继续登录到已删除的文件。是不是因为文件描述符条目没有从进程表中删除?

logs file-descriptors open-files files

13
推荐指数
2
解决办法
7172
查看次数

系统调用和库函数的区别

我已经完成了这个问题的答案,但不太明白系统调用和库函数之间的区别。从概念上讲,两者有什么区别?

libraries system-calls architecture

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

在 Unix 中,shell 脚本和可执行文件有什么区别?

在这个网站上看到过这个问题,这促使我提出这个问题。我想知道在 Unix 中说可执行文件和 shell 脚本有什么区别?

executable shell-script terminology

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

unix 中暂停的作业会发生什么?

我们可以发出CTRL+Z暂停 Unix 中的任何作业,然后使用fg或使它们恢复生机bg。我想了解那些像这样被暂停的工作会发生什么?他们被杀死/终止了吗?换句话说,杀死和暂停进程有什么区别?

process signals process-management jobs background-process

8
推荐指数
2
解决办法
6324
查看次数

在 shell 中获取文件是什么意思?

可能的重复:
执行 shell 脚本的不同方式

当我发出以下命令时会发生什么:

source devenv.csh
Run Code Online (Sandbox Code Playgroud)

它与运行它有什么不同devenv.csh

shell shell-script command

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

搜索带有可选部分的文本块

我有多个条目描述了一个非常大的日志文件中的事件,比如A.log。我想对日志文件中的事件条目做两件事:

  1. 计算每个此类条目的出现次数。(这不是强制性要求,但最好有。)
  2. 将实际条目提取到一个单独的文件中,稍后再研究它们。

一个典型的事件条目如下所示,它们之间会有其他文本。所以在下面的例子中有两个事件条目,第一个包含两个DataChangeEntry 有效载荷,第二个包含一个DataChangeEntry 有效载荷。

    Data control raising event :DataControl@263c015d[[
    #### DataChangeEvent #### on [DataControl name=PatternMatch_LegendTimeAxis, binding=.dynamicRegion1.                         beam_project_PatternMatch_dashboard_LegendTimeAxis_taskflow_LegendTimeAxis_beamDashboardLegendTimeAxisPageDef_beam_project_PatternMatch_dashboard_LegendTimeAxis_taskflow_LegendTimeAxis_beamDashboardLegendTimeAxis_xml_ps_taskflowid.dynamicRegion58.                                                                                                                         beam_project_PatternMatch_view_LegendTimeAxis_taskflow_LegendTimeAxis_beamVizLegendTimeAxisPageDef_beam_project_PatternMatch_view_LegendTimeAxis_taskflow_LegendTimeAxis_beamVizLegendTimeAxis_xml_ps_taskflowid.QueryIterator]
    Filter/Collection Id : 0
    Collection Level     : 0
    Sequence Id             : 616
    ViewSetId            : PatternMatch.LegendTimeAxis_V1_0_SN49
    ==== DataChangeEntry (#1)
    ChangeType           : UPDATE
    KeyPath              : [2014-06-26 06:15:00.0, 0]
    AttributeNames       : [DATAOBJECT_CREATED, COUNTX, QueryName]
    AttributeValues      : [2014-06-26 06:15:00.0, 11, StrAvgCallWaitTimeGreaterThanThreshold]
    AttributeTypes       : [java.sql.Timestamp, java.lang.Integer, java.lang.String,  ]
    ==== DataChangeEntry (#2)
    ChangeType           : UPDATE
    KeyPath …
Run Code Online (Sandbox Code Playgroud)

grep sed awk text-processing

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