简介
- Linux系统下理论基础知识笔记
linux 命令执行失败的错误码的意义
在Linux系统中,命令执行失败时通常返回一个错误码,也称为退出码(Exit Code)。这个退出码是一个8位的整数,范围从0到255。通常情况下,0表示成功,而非零值表示错误。
以下是一些常见的退出码及其一般的意义:
- 0: 成功(通常表示命令成功执行)
- 1: 一般性错误(通用错误,不具体指明)
- 2: 误用shell命令(用户不正确使用shell命令)
- 126: 不可执行的命令(命令存在但不可执行)
- 127: 找不到命令(命令未找到)
- 128: 无效的退出参数(传递给exit的参数无效)
- 130: Ctrl+C终止(通常由用户按下Ctrl+C中断命令)
- 137: 被kill -9终止(进程被强制终止)
- 255: 退出状态出界(退出状态超出0-255的范围)
注意,不同的命令可能有自己特定的退出码含义,你可以查阅相关文档或命令的man页面以获取更详细的信息。一般来说,成功的退出码是0,非零值表示失败或错误。
特殊字符
$#
, 传递到脚本或函数的参数个数$*
, 以一个单字符串显示所有向脚本传递的参数$$
, 脚本运行的当前进程ID号$!
, 后台运行的最后一个进程的ID号$@
, 与$*
相同,但是使用时加引号,并在引号中返回每个参数$-
, 显示Shell使用的当前选项,与set命令功能相同$?
, 显示最后命令的退出状态,0表示没有错误,其他任何值表明有错误
信号详情
名称 | 默认动作 | 说明 |
---|---|---|
SIGHUP | 终止进程 | 终端线路挂断 |
SIGINT | 终止进程 | 中断进程 |
SIGQUIT | 建立CORE文件 | 终止进程,并且生成core文件 |
SIGILL | 建立CORE文件 | 非法指令 |
SIGTRAP | 建立CORE文件 | 跟踪自陷 |
SIGBUS | 建立CORE文件 | 总线错误 |
SIGSEGV | 建立CORE文件 | 段非法错误 |
SIGFPE | 建立CORE文件 | 浮点异常 |
SIGIOT | 建立CORE文件 | 执行I/O自陷 |
SIGKILL | 终止进程 | 杀死进程 |
SIGPIPE | 终止进程 | 向一个没有读进程的管道写数据 |
SIGALARM | 终止进程 | 计时器到时 |
SIGTERM | 终止进程 | 软件终止信号 |
SIGSTOP | 停止进程 | 非终端来的停止信号 |
SIGTSTP | 停止进程 | 终端来的停止信号 |
SIGCONT | 忽略信号 | 继续执行一个停止的进程 |
SIGURG | 忽略信号 | I/O紧急信号 |
SIGIO | 忽略信号 | 描述符上可以进行I/O |
SIGCHLD | 忽略信号 | 当子进程停止或退出时通知父进程 |
SIGTTOU | 停止进程 | 后台进程写终端 |
SIGTTIN | 停止进程 | 后台进程读终端 |
SIGXGPU | 终止进程 | CPU时限超时 |
SIGXFSZ | 终止进程 | 文件长度过长 |
SIGWINCH | 忽略信号 | 窗口大小发生变化 |
SIGPROF | 终止进程 | 统计分布图用计时器到时 |
SIGUSR1 | 终止进程 | 用户定义信号1 |
SIGUSR2 | 终止进程 | 用户定义信号2 |
SIGVTALRM | 终止进程 | 虚拟计时器到时 |
linux build-essential是什么
build-essential
是一个针对 Linux 系统的软件包集合,旨在提供编译和构建软件所需的基本工具和库。它通常包括一些核心的开发工具,如 gcc
编译器、g++
编译器、make
构建工具等。这些工具对于编译和构建大多数软件项目都是必需的。
在许多基于 Debian 的发行版(比如 Ubuntu)中,可以通过包管理器如 apt
来安装 build-essential
。在安装了这个软件包之后,你就能够开始在你的 Linux 系统上编译和构建各种 C、C++ 或其他语言的程序。
linux build-essential详解
build-essential
是针对 Debian 和基于 Debian 的 Linux 发行版(如 Ubuntu)的一个元包(meta-package),它捆绑了一系列用于软件编译和构建的基本工具和库。这个软件包的安装通常是在开始开发或编译源代码之前需要进行的一个重要步骤。
以下是 build-essential
软件包通常包含的一些主要组件:
编译器:
gcc
:GNU Compiler Collection,用于编译 C 代码。g++
:GNU C++ 编译器,用于编译 C++ 代码。
构建工具:
make
:一种自动化构建工具,通过 Makefile 文件管理源代码的编译和构建过程。dpkg-dev
:包含了构建 Debian 软件包所需的工具。
库文件:
libc6-dev
:C 语言标准库的头文件和其他开发文件。- 其他可能需要的开发库文件,具体依赖于项目的需求。
安装 build-essential
软件包可以简化软件开发和编译过程,因为它提供了必要的工具和库,使用户能够在系统上直接编译和构建源代码而无需手动安装每个单独的组件。通过包管理器(如 apt
)安装 build-essential
是相对简单和方便的。
要安装 build-essential
软件包,在终端中执行以下命令(假设你的系统使用的是 apt
包管理器):
1 | sudo apt update |
这样做会自动安装 build-essential
及其所包含的工具和库,使你可以立即开始进行软件开发、编译和构建工作。