diff --git a/docs/运维/Shell/简介.md b/docs/运维/Shell/简介.md new file mode 100644 index 00000000..ef7126ba --- /dev/null +++ b/docs/运维/Shell/简介.md @@ -0,0 +1,90 @@ +--- +id: 简介 +title: 简介 +sidebar_position: 1 +data: 2022年2月24日 +--- + +## 简介 +一台完整的计算机是由运算器、控制器、存储器、输入/输出等多种硬件设备共同组成的,而能让各种硬件设备各司其职且又能协同运行的东西就是系统内核。Linux 系统的内核负责完成对硬件资源的分配、调度等管理任务,对系统的正常运行起着十分重要的作用。 +Shell就是终端程序的统称,它充当了人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端程序,它就会调用相应的程序服务去完成某些工作。现在包括红帽系统在内的许多主流Linux系统默认使用的终端是 Bash(Bourne-Again SHell)解释器,这个 Bash 解释器主要有以下4项优势: + + - 通过上下方向键来调取执行过的 Linux 命令; + - 命令或参数仅需输入前几位就可以用 Tab 键补全; + - 具有强大的批处理脚本; + - 具有实用的环境变量功能。 + +### 执行命令 + +``` +命令名称 [命令参数] [命令对象] +``` + +可选择的、可加或可不加的、非必需的参数使用中括号引起来,而命令所要求的、必须有的参数或对象值,则不带中括号。 + +- **命令名称**:就是语法中的“动词”,表达的是想要做的事情,例如创建用户、查看文件、重启系统等操作。 + +- **命令参数**:用于对命令进行调整,让“修改”过的命令能更好地贴合工作需求,达到事半功倍的效果。 + +Linux命令参数的长格式与短格式示例 + +| 长格式 | man --help | +| ------ | ---------- | +| 短格式 | man -h | + +- **命令对象**:一般指要处理的文件、目录、用户等资源名称,也就是命令执行后的“承受方”。例如创建一位叫小明的用户、查看一个叫工资表的文件、重启一个IP为192.168.10.10的系统等。 + +**Linux系统中的命令、参数、对象都是严格区分大小写的** + +## 帮助文档 + +### man + +使用 **man** 命令查看到的帮助内容信息 + +| 按键 | 作用 | +| --------- | ---------------------------------- | +| 空格键 | 向下翻一页 | +| PaGe down | 向下翻一页 | +| PaGe up | 向上翻一页 | +| home | 直接前往首页 | +| end | 直接前往尾页 | +| / | 从上至下搜索某个关键词,如“/linux” | +| ? | 从下至上搜索某个关键词,如“?linux” | +| n | 定位到下一个搜索到的关键词 | +| N | 定位到上一个搜索到的关键词 | +| q | 退出帮助文档 | + +#### 示例 + +```shell +# 查看 man 的帮助文件 +man man + +# 查看 ssh 的帮助文件 +man sh +``` + +## 快捷键 + +### Tab + +实现对命令、参数或文件的内容补全。 + +| 按键 | 作用 | +| ------------- | ------------------ | +| Tab键 | 自动补全 | +| Tab键 + Tab键 | 匹配所有符合的命令 | + +### Ctrl+c + +终止当前进程的运行,控制权会立刻回到命令行终端。 + +### Ctrl+d + +键盘输入结束。 + +### Ctrl+l + +清空当前终端中已有的内容(清屏操作)。 +