如何知道“errno”在 Linux 中的含义?
Errno是当您运行的命令返回指示错误的调用值时获得的值。有一个头文件定义了整型变量errno,它由系统调用和一些库函数在发生错误时设置,让开发人员知道出了什么问题。
简单来说,“errnos”是操作系统错误的症状。通常由失败的操作系统调用产生。
在UNIX中,errnos以大写字母定义。
示例
EPERM ENOENT ESRCH EINTR EIO ENXIO
在上面的示例中,提到了一些格式化的errnos,它们具有不同的值和附加到它们的含义。
虽然大多数基于Linux的系统上都存在“errno”,但您仍然可以借助下面显示的命令下载该工具。
对于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