低级命令和高级命令是什么意思?

低级命令和高级命令是什么意思?

我读过useradd和之间的区别在于adduser,它useradd是低级命令,adduser是高级命令,同样,netstat和之间的区别ss也是,它ss是低级命令,而是netstat高级命令,同样还有很多其他命令命令(apt:高级,apt-get:低级)执行相同的工作,但他们所说的区别在于,一个是低级命令,另一个是高级命令。低级别和高级别到底意味着什么?抽象?

答案1

这是一种与抽象量相关的模糊概念。

低级命令最接近原始数据、内核接口等。好处是使用它时,您有很多控制权。当出现问题或者您需要做一些奇怪的事情时,这会很有用。低级命令的输出通常也更容易用脚本解析(很多时候,这就是它们的目的)。缺点是,你必须知道自己在做什么。这些工具几乎不包含任何知识——一切都需要在你的头脑中(或者在你面前的笔记......)。

高级命令抽象出许多细节,将知识放入工具中。这通常使它们更容易使用。缺点是有时他们不能做你想做的事,因为你想要一些奇怪的东西。或者当出现问题时,可能很难弄清楚为什么它不起作用。

这不是二分法,而是一个连续体。可以说有一个最低级别的工具,您只需从内核中转储原始数据,但您几乎总是可以添加更多抽象。

例如,ps(在 Linux 上)从/proc.其输出ps l $$很简单,任何有能力的系统管理员都很容易理解。但尝试一下cat /proc/$$/stat

$ cat /proc/$$/stat
11026 (bash) S 11024 11026 11026 34843 12425 4194304 3972 3748 0 2 12 2 3 1 20 0 1 0 69581565 25628672 2101 18446744073709551615 4194304 5242068 140731668323552 0 0 0 65536 3670020 1266777851 0 0 0 17 2 0 0 3 0 0 7341384 7388228 9216000 140731668326960 140731668326965 140731668326965 140731668328430 0

该目录中还有许多其他文件,其中一些具有更好的(但仍然是低级的)格式。但很明显它ps里面包含了很多知识——它知道这些字段(其中一些)的含义,如何很好地显示它们等等,是ps比.从相同的源获取数据,但仍然是更高的抽象级别。但有时你必须去——那里有很多信息(等等)没有公开。cat/proc/pid/top/proc/pid/ps

不过,这有点模糊。不同的人对于某些命令在连续体上的位置会有不同意见。

相关内容