我知道 Linux 下的共享对象使用“so numbers”,即不同版本的共享对象被赋予不同的扩展名,例如:
example.so.1example.so.2我理解这个想法是有两个不同的文件,以便系统上可以存在两个版本的库(而不是 Windows 上的“DLL Hell”)。我想知道这在实践中是如何工作的?通常情况下,我看到example.so其实是一个符号链接到example.so.2这里.2是最新版本。那么依赖于旧版本的应用程序如何example.so正确识别它?对于必须使用的数字是否有任何规则?或者这只是惯例?是否与在系统之间传输软件二进制文件的 Windows 不同,如果系统具有较新版本的共享对象,它会在从源代码编译时自动链接到较旧版本?
我怀疑这与有关,ldconfig但我不确定如何。
Debianapt-get update获取并更新包索引。因为我已经习惯了这种做事方式,所以我惊讶地发现它可以yum update完成所有这些并升级系统。这让我很好奇如何在不安装任何东西的情况下更新包索引。
我不小心“停止”了我的telnet进程。现在我既不能“切换回”它,也不能杀死它(它不会响应kill 9292992929 是进程 ID。)
所以,我的问题是,如果你在 linux 命令行上有一个停止的进程,你如何切换回它,或者杀死它,而不必求助于kill -9?
最近有人向我指出,存在 cron 的替代方案,即 systemd 计时器。
但是,我对 systemd 或 systemd 计时器一无所知。我只用过 cron。
Arch Wiki 中有一些讨论。但是,我正在寻找cronsystemd 计时器和 systemd 计时器之间的详细比较,重点是利弊。我使用 Debian,但我想对所有提供这两种替代方案的系统进行一般比较。该集合可能仅包括 Linux 发行版。
这是我所知道的。
Cron 非常古老,可以追溯到 1970 年代后期。cron 的原作者是 Unix 的创造者 Ken Thompson。Vixie cron 可追溯到 1987 年,现代 Linux 发行版中的 cron 是其中的直系后代。
Systemd 更新很多,也有些争议。维基百科告诉我它的初始版本是 2010 年 3 月 30 日。
因此,我目前的 cron 相对于 systemd 计时器的优势列表是:
Cron 保证可以在任何类 Unix 系统中使用,因为它是一个可安装的受支持软件。这不会改变。相比之下,systemd 将来可能会或可能不会保留在 Linux 发行版中。它主要是一个 init 系统,可能会被不同的 init 系统取代。
Cron 使用起来很简单。绝对比 systemd 计时器简单。
systemd 计时器相对于 cron 的相应优势列表是:
因此,总而言之,以下是一些最好在答案中看到的内容:
有时,我只需要检查目录而不是文件。命令 ls 有任何选项吗?或者有没有这样做的实用程序?
编辑:我使用的是 Mac OS X,即使我有目录也ls -d给了我.。
互联网上的每个人都建议禁用通过SSH进行 root 登录,因为这是一种不好的做法,而且是系统中的一个安全漏洞,但没有人解释为什么会这样。
启用 root 登录(尤其是禁用密码登录)有什么危险?
如果允许密码验证,从安全角度来看,X 符号用户名和 Y 符号密码或 root 用户名和 X+Y 符号密码有什么区别?
据我所知,/dev/pts文件是为 ssh 或 telnet 会话创建的。