如何在 Linux 中了解“errno”的含义?


Errno 是一个值,当您运行的命令返回调用值表示错误时,您会得到该值。有一个头文件定义了整数变量 errno,它由系统调用和一些库函数在发生错误时设置,以让开发人员知道出了什么问题。

简单来说,“errno”是操作系统错误的症状。通常由操作系统调用失败产生。

在 UNIX 中,errno 以大写字母定义。

示例

EPERM
ENOENT
ESRCH
EINTR
EIO
ENXIO

在上面的示例中,提到了一些格式化的 errno,它们具有不同的值和含义。

虽然 ‘errno’ 存在于大多数基于 Linux 的系统上,但您仍然可以借助下面显示的命令下载该工具。

对于 Ubuntu/Fedora

sudo apt-get install errno

对于 CentOS

yum install errno

安装完 errno 工具后,我们可以借助下面显示的命令列出所有 errno 符号及其含义 -

errno -l

输出

1 EPERM Operation not permitted
2 ENOENT No such file or directory
3 ESRCH No such process
4 EINTR Interrupted system call
5 EIO Input/output error
6 ENXIO No such device or address
7 E2BIG Argument list too long
8 ENOEXEC Exec format error
9 EBADF Bad file descriptor
10 ECHILD No child processes

需要注意的是,以上输出中超过 130 个条目,我只列出了前 10 个。

正如我们所看到的,我们为每个 errno 附加了描述,借助以上输出,我们可以轻松确定 ‘errno’ 的实际含义。

另一种更简单的方法是只打印编号的 errno,而不是打印整个表格。

命令

errno 2

输出

No such file or directory

更新于: 2021-07-30

1K+ 阅读量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告