【Linux基础】Shell核心知识点:类型、进程关系与常用内建命
2026/7/7 6:15:36 网站建设 项目流程

一、Shell的类型

1. 概念理解

Shell是用户与Linux内核交互的接口(命令解释器)。虽然Linux支持多种Shell,但最常用的是Bash (Bourne Again Shell)。 常见的Shell类型包括:

  • sh (Bourne Shell): 早期Unix系统的标准Shell。

  • bash: 目前大多数Linux发行版默认的Shell,兼容sh并增强了功能。

  • csh/tcsh: 语法类似C语言。

  • ksh: 结合了sh和csh的特点。

二、理解Shell进程及其关系

1. 概念理解

在Linux中,每打开一个终端窗口或执行一个脚本,通常都会产生一个新的Shell进程。

  • PID (Process ID): 进程的唯一标识符。

  • PPID (Parent Process ID): 父进程的标识符。

  • 关系: 当前Shell通常是登录Shell的子进程;而在当前Shell中再输入bash命令,又会开启一个“子Shell”。

三、Shell的父子关系

1. 概念理解

这是Shell学习中非常关键的一点:环境变量只能从父进程传给子进程,不能反向传递。

  • 普通变量: 仅在当前Shell有效,子Shell无法继承。

  • 环境变量: 使用export声明后,子Shell可以继承。

四、Shell的运行模式

1. 概念理解

Shell主要有两种运行模式:

  • 交互式模式 (Interactive): 用户在终端输入命令,Shell等待并执行,给出反馈。我们平时操作Xshell就是这种模式。

  • 非交互式模式 (Non-interactive): 通常指执行Shell脚本时,系统自动运行,不需要人工干预。

此外,还有Login Shell(登录Shell) 和Non-login Shell(非登录Shell) 之分,它们加载的配置文件(如.bash_profilevs.bashrc)不同。

五、内建命令和外部命令

1. 概念理解

  • 内建命令 (Built-in): 包含在Shell程序内部,由Shell直接执行,速度极快。例如cd,echo,history

  • 外部命令 (External): 是独立的二进制文件,通常位于/bin,/usr/bin等目录下。执行时需要创建子进程。例如ls,cp,pwd

六、内建命令 history 和 alias 的用法

1. history (历史命令)

用于查看和管理之前执行过的命令。

常用参数与用法:

  • history: 列出所有历史命令。

  • !n: 执行历史列表中第 n 条命令。

  • !!: 执行上一条命令。

  • history -c: 清空当前内存中的历史记录。

2. alias (别名)

用于给复杂的命令起一个简单的别名,提高效率。

常用参数与用法:

  • alias: 单独输入查看所有别名。

  • alias 别名='原命令': 设置别名。

  • unalias 别名: 取消别名。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询