前言
- Linux 系统下的 Shell 命令使用十分广泛,熟练使用命令行对系统进行管理和操作是 Linux 系统管理员所必备的基础技能
- 接下来,我们将学习 Linux 命令的基本格式和命令帮助的使用,并通过命令来管理系统中的文件和目录
一、Linux 命令基础
- Linux 命令是对 Linux 系统进行管理的命令
- 对于 Linux 系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件(万物皆文件),Linux 系统管理的命令是它正常运行的核心
- linux 命令在系统中有两种类型:内置 Shell 命令和 Linux 命令
- 在 Linux 系统中,凡是在字符操作界面中输入的能够完成特定操作和任务的字符串,都可以称之为“命令”
- 严格一点来说,“命令”通常只代表了实现某一功能的指令或者程序的名称
1.Shell 概述
- Linux 命令的执行必须依赖于 Shell 命令解释器
- 用户:我们输入命令的界面
- shell 实际上是在 Linux 系统中运行的一种特殊程序,在用户和内核之间充当"翻译官"的角色,负责接收用户输入的命令并进行解释,将需要执行的操作(翻译成二进制计算机语言)传递给系统内核执行
- 当用户登录 Linux 系统时,Shell 程序会自动加载,以便给用户提供可以输入操作命令的操作系统
- 内核:是构成 Linux 操作系统最关键的组成部分,执行翻译后的命令,用于实现 CPU 和内存分配、进程调度、设备驱动等核心操作,面向硬件为主
2.命令分类及格式
2.1 内部命令与外部命令
- Bash 是 Linux 系统中默认使用的Shell程序,文件位于 /bin/bash
- 根据Linux命令和Shell程序的关系,一般分为以下两种类型
内部命令 | 外部命令 |
---|---|
集成于 Shell 解释器程序(如Bash)内部的一些特殊指令,也称为内建(Built-in)指令 | Linux 系统中能够完成特定功能的脚本文件或者二进制文件 |
属于 Shell 的一部分,所以没有单独对应的系统文件 | 属于 Shell 解释器程序之外的命令,每个外部命令对应了系统中的一个文件 |
只要 Shell 解释器被运行,就会自动载入内存,无需从硬盘中重新读取文件,用户可以直接使用 | Linux 系统必须知道外部命令对应的文件位置,才能够由 Shell 加载并执行 |
- Linux默认会将存放外部命令、程序的目录(如/bin、/usr/bin、/usr/local/bin等)添加到用户的“搜索路径”中,当使用位于这些目录的外部命令时,用户不需要指定具体的位置,方便使用并增加效率
- 大多数情况下,不用刻意的去分辨内部命令和外部命令,其使用方法是类似的
2.2 Linux命令行的格式
- 在使用内部命令或外部命令时,参照一个通用的命令行格式使用格式,可方便理解 Linux 命令行的作用和工作方式
- 通用的命令行格式如下所示:
命令字 [选项] [参数]
- 其中,命令字、选项、参数之间用空格分开,多余的空格将被忽略
- [ ]括起来的部分表示可以省略,即,命令行可以只有命令字,也可以只有命令字和选项,或只有命令字与参数
- Linux 的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的,所以英文要区别大小写
2.2.1命令字
- 命令字即命令名称,是整条命令中最关键的一部分
- 在 Linux 的字符操作界面中,使用命令字唯一确定一条命令,一定要确保输入正确没有错,如大小写等
- 执行的是操作,比如新建、删除、重命名等
2.2.2 选项
- 选项的作用是调节命令的具体功能,决定这条命如何执行
- 同一个命令字配合不同的选项使用时,可以获得相似但具有细微差别的功能
- 命令使用的选项有如下一些特性:
- 不同的命令字,其能够使用的选项也会不同(选项的个数和内容)
- 选项的数量可以是多个,也可以省略;同时使用多个选项时,选项之间使用空格分割;若不使用选项,则将执行命令字的默认功能
- 短格式选项:使用单个字符的选项时,一般在选项前使用“-”符号引导,如“-l”,多个单字符选项可以组合在一起使用,如“-al”等同于“-a -l”
- 长格式选项:使用多个字符的选项时,一般在选项前使用“–”符号引导(两个半角的减号符),如“–help”
- 长格式的选项意义明确,容易记忆,短格式的选项结构简单、输入快捷,且两种格式可以混用
2.2.3 参数
- 命令字的处理对象
- 通常情况下,可以是文件名、目录(路径)名或用户名等内容
- 根据所使用的命令字的不同,命令参数的个数可以是零到多个
- 在输入一条 Linux 命令时,应根据命令字具体的格式提供对应的命令参数,以确保命令的正常运行
- 在实际使用 Linux 命令行的过程中,“选项”和“参数”的称谓经常混淆,甚至前后顺序也允许颠倒,但一般不会影响命令的执行效果,所有很多时候并不做严格区分
3.编辑 Linux 命令行
编辑 Linux 命令的时候,可以使用一下几个辅助操作,以提高输入效率
3.1 辅助操作
按键 | 作用 |
---|---|
Tab 键 | 自动补齐(命令字、文件或目录),按两次系统将输出可用的列表 |
反斜杠“\” | 如果输入的一行命令太长,终端会自动换行,有时为了显示美观及方便查看,可以使用“\强制换行(注:可能不能Tab),在下一行出现的“>”提示符后继续输入内容(+空格+\)作为上一行的延续 |
Ctrl+U | 清空至行首 |
Ctrl+K | 清空至行尾 |
Ctrl+L | 清屏 |
Ctrl+C | 取消本次命令编辑 |
Ctrl+a | 切换到行首 |
Ctrl+e | 切换到行尾 |
3.2 命令行提示字符
例:[root@localhost~]#
- root:当前登录系统的用户
- @:分隔符
- localhost:主机名称
- ~:当前所在的目录
- #:表示为管理员登录($:表示为普通用户登录)