本帖最后由 TechEdu 于 2019-10-25 14:55 编辑
1、bash shell
- 一个命令行是基于文本的界面,可用于向计算机系统输入指令。
- Linux命令行由一个程序提供,它称为shell。
- Red Hat Enterprise Linux中供用户使用的默认shell是GNU Bourne-Again Shell (bash)。
- 如果以交互方式使用shell,它在等待用户输入命令时显示一个字符串,这称为shell提示符。
- 普通用户启动shell时,默认提示符的结尾是$字符。
- 如果以超级用户root运行shell,则$替换为#。这可以更加显著地表名这是超级用户shell,帮助避免在特权账户中出现意外和错误。
- 使用bash执行命令行可以非常强大。bash shell提供了脚本语言,可支持自动化任务。Shell还提供额外功能,可以简化或实现利用图形化工具难以高效完成的操作。
2、虚拟控制台
- 用户访问bash shell时要借助终端。在基于文本的安装中,这可以是Linux计算机的物理控制台、硬件键盘和显示器,也可以通过串行端口配置终端访问。
- 访问shell的另一种方式是通过虚拟控制台进行。Linux计算机的物理控制台支持多个虚拟控制台,它们作为单独的终端运行,且均支持独立的登录会话。
3、Shell基础知识
在shell提示符次下输入的命令由三个基本部分组成:
- 命令(需要运行)
- 选项(用于调整命令的行为)
- 参数(通常是命令的目标)
命令是要运行的程序的名称,其后可能跟着一个或多个选项,这些选项用于调整命令的行为或其作用。 选项通常以一个或两个破折号开头(如 -a或--all),以将其与参数区分。 命令的后面也可能跟着一个或多个参数,这些参数通常指出命令应当要作用于的目标。 例如,命令行usermod -L morgan 包含命令(usermod)、选项(-L)和参数(morgan)。 - 要有效地使用命令,用户需要了解命令接受的选项和参数,以及它们正确的排列顺序(命令的语法)。大多数命令都包含--help选项,这可使命令打印其作用的说明,即介绍命令的语法、其接受的选项列表及其作用的“用法语句”。
几种基本用法:
- [ ] 方括号 括起来的是可选项目
- ... 前面的任何内容均表示该类型的项目的任意长度列表
- | 以竖线分割的多个项目表示只能指定其中一个项目
- <> 尖括号中的文本表示变量数据。如<filename>表示“在此处插入您要使用的文件名”,有时这些变量会简单写成大写字母,如FILENAME。
例:date命令的第一个用法语句
- [student@desktopX ~]$ date --help
- date [OPTION]... [+FORMAT]
复制代码这表示date可以接受一个可选选项列表([OPTION]...),其后为可选的格式字符串,它以加号字符 + 为前缀,用于定义当前日期的显示方式(+FORMAT)。由于这两项都可选,因此即使未指定选项或参数,date也将执行(它将使用其默认格式打印当前日期和时间)
注意:当用户使用完shell并希望退出时,可以通过多种方式结束会话:一种是exit命令终止当前的shell会话;另一种方式是Ctrl+d GNU Bourne-Again Shell(bash)这一程序可以解读用户键入的命令。键入到shell中的每一字符串最多有三个部分:命令、选项(以 - 或 -- 开头)、参数。键入到shell中的每个词语通过空格相互隔开。命令是系统中安装的程序的名称。每个命令拥有自己的选项和参数。 - 注意1:如果用户希望在一行中键入多个命令,则可以使用分号(;)作为命令分隔符,分号是某一类字符(称为元字符)的成员,对于bash具有特殊意义。
- 注意2:命令ps可以接受不带 - 或 -- 的选项。
2、简单命令实例
- date命令用于显示当前的日期和时间。超级用户可以用它来设置系统时钟。以加号(+)开头的参数可指定日期命令的格式字符串。
- [student@desktopX ~]$ date
- Sat Apr 5 08:13:50 PDT 2019
- [student@desktopX ~]$ date +%R
- 08:13
- [student@desktopX ~]$ date +%X
- 04/05/2019
复制代码
- Passwd命令更改用户自己的密码。必须制定该账户的原始密码,之后才允许进行更改。超级用户可以使用passwd命令更改其他用户的密码。
- [student@desktopX ~]$ passwd
- Changing password for user student.
- Changing password for student.
- ( current)UNIX passsword: old_password
- New password: new_password
- Retype new password: new_password
- passwd: all authentication tokens updated successfully.
复制代码
3、Tab补齐
Tab补齐允许用户在提示符下键入足够的内容以使其唯一后快速补齐命令或文件名。如果键入的字符不唯一,则按Tab键两次可显示以键入的字符为开头的所有命令。 Tab补齐可以用于在键入文件名作为命令的参数时将它们补全。按Tab键时,它将尽可能将文件名补齐完整。再按一次Tab键时,shell命令将列出与当前模式匹配的所有文件。 许多命令可以通过Tab补全匹配参数和选项。Useradd命令供超级用户root在系统上创建其他用户。它有很多选项,可用于控制该命令的行为。键入选项部分内容后使用Tab补全可以将选项补充完整,而无需大量的键入操作。
- [root@desktopX ~]# userdd --<Tab><Tab>
- --base-dir --goups --no-log-init --shell
- --comment --help --non-unique --skel
- --create-home --home-dir --no-user-group --system
- --defaults --inactive --password --uid
- --expiredate --key --root --user-group
- --gid --no-create-home --selinux-user
- [root@desktopX ~]# useradd --
复制代码
4、命令历史记录
History命令显示之前执行的命令的列表,带有命令编号作为前缀。 感叹号! 是元字符,用于扩展之前的命令而不必重新键入它们。! Number 扩展至与指定编号匹配的命令。!String扩展至最近一个以指定字符串开头的命令。 方向键可用于在shell历史记录中的之前命令行之间导航。向上箭头编辑历史记录列表中的上一个命令;向下箭头编辑历史记录列表中的下一个命令;向左箭头和向右箭头可在当前编辑的命令行中向左和向右移动光标。 Esc+. 组合键可以使shell将上一行命令的最后一个单词复制到当前命令行中的光标所在位置。
5、编辑命令行
交互使用时,bash具有命令行编辑功能。 有用的命令行编辑快捷方式↓↓↓ |