访问命令行
Bash Shell简介
Bash(GNU Bourne-Again Shell)是RHEL中为用户提供的默认Shell,是与UNIX类似的系统上使用的其中一个最成功的shell的改进版本,即Bourne Shell(sh)。
如果以交互方式使用shell,它在等待用户输入命令时显示一个字符串,这就是shell提示符。
普通用户的默认提示符末尾是$,如下图所示。

root用户默认提示符结尾是#,如下图所示。

Shell基础知识
shell提示符下输入的命令由3个基本部分组成。
组成 | 功能 |
---|---|
命令 | 要运行的程序 |
选项 | 调整命令的行为 |
参数 | 命令的目标 |
- 命令是程序的名称。
- 选项可以有一个或者多个,通常以一个或两个横杠(-)开头便于与参数区分,例如-a或–all。
- 命令后面可能会跟着零个、一个或多个参数。
usermod -L user
上述命令的作用是锁定用户user的密码,其中usermod是命令,-L是选项,user是参数。
登录到本地计算机
运行shell需要现在终端登录计算机。终端是一个基于文本的界面,用于向系统输入命令及接收系统的输出。
物理控制台 | 硬件键盘和显示器,可以支持多个虚拟控制台 |
虚拟控制台 | 可以运行单独的终端,支持独立的登录会话,可以按Ctrl+Alt+F1~F6来切换 |
在RHEL8中,如果图形环境可用,则登录屏幕会在称为tty1的虚拟控制台中运行,第二到第六虚拟控制台则提供另外五个文本登录提示符。
如果使用图形登录屏幕来登录,则图形环境将从当前未被登录会话使用的第一个虚拟控制台启动。通常您的图形会话将取代第二虚拟控制台(tty2)上的登录提示符。
通过网络登录
Linux用户和管理员通常需要通过网络登录到远程系统来得到它们的shell的控制权。在Linux中最常用的方法是使用Secure Shell(SSH)。
SSH通过加密连接来防止通信被窃听或劫持密码和内容。
一些较新的系统不允许用户通过密码SSH登录以加强安全性,替代之的是公钥登录。
注销
exit
我们可以通过exit来注销Shell,同时也可以使用快捷键Ctrl+D来注销Shell
使用桌面访问命令行
工作区
工作区是拥有不同应用窗口的独立桌面屏幕,用Ctrl+Alt+↑或Ctrl+Alt+↓可以快速切换工作区,或者使用左上角的活动概览切换,若用这种方式,则可以将窗口在工作区之间拖动。
锁定屏幕或注销
可以使用快捷键Win+L来锁定RHEL8的屏幕,也可以通过菜单底部的锁定按钮来锁定RHEL8的屏幕。若要解锁屏幕,可以使用Space键或Enter键拉起锁屏幕布后输入密码重新登录。也可以按住鼠标左键从下往上拉起锁屏幕布,然后输入密码登录。
若要注销则应在顶栏右上角的系统菜单中选择自己的用户名,再选择Log Out,如下图所示。
.gif)
关机或重启系统
若要关机或重启,可以用快捷键Ctrl+Alt+Del或者通过右上角系统菜单调出电源对话框,可以在此对话框中选择关机或重启。若60秒内不操作,则自动关机。
使用Bash Shell执行命令
基本命令语法
在准备好命令后,可以按下Enter键执行命令。
whoami
显示当前登录的用户,如下图:

我们还可以通过分号(;)作为命令分隔符来一次输入多个命令,同时执行。需要注意的是,分号两侧都有空格,否则shell会认为分号也是命令的一部分。
wc -l /etc/passwd ; wc -c /etc/passwd ; wc -w /etc/passwd
上述命令就是一个很好的例子,这条命令表示分别统计文件/etc/passwd的行数、字符数和单词数,这些结果将会一起输出在终端。如下图:

简单命令示例
date
上述命令date可以用于显示当前时间。如下图:

passwd
上述命令pasawd是单词“password”的缩写,可以修改用户的密码,不加参数则是修改当前用户密码。如下图:

由于设置的新密码强度不够,所以上图中由一个BAD PASSWORD的提示。
file /etc/passwd
file /bin/passwd
上述命令file的作用是扫描文件开头,以识别文件类型。如下图:

上图中第一个文件是一个文本文件,第二个文件是一个可执行的文件
查看文件的内容
cat file1
查看文件file1的内容。如下图:

cat file1 file2
同时查看file1和file2这两个文件的内容。如下图:

同样的,我们可以用一样的方法查看多个文件的内容。
less /etc/passwd
查看文件/etc/passwd的内容,但是一次只显示一个页面,可以用上下方向键滚动,q退出命令。如下图:

head /etc/passwd
显示文件/etc/passwd的开头,默认是10行,如下图:

tail /etc/passwd
显示文件/etc/passwd的末尾,默认是10行。如下图:

head或tail可以使用-n选项来指定行数。
head -n 5
或者横杠(-)后面直接接数字来指定行数。
head -5
显示文件开头的5行。如下图:

同样,我们也可以这样来控制tail的输出行数。
首先我们通过vim编辑器创建一个test文件:
I am A Little Fat Dog
This is my blog
cat test
并用cat命令查看它,如下图:

通过人工计数可得:上述文件有2行、10个单词、38个字符(计算空格和回车)。下面我们用wc命令计数,其缩写于“word count”这两个单词。
wc -l test
其中-l选项是line的缩写,用于统计文件的行数。如下图:

wc -w test
其中-w选项是单词“word”的缩写,用于统计文件的字数(单词数)。如下图:

wc -c test
其中-c选项缩写自单词“character”,其用于统计文件的字符数(计算空格和回车)。如下图:

TAB补全
当命令或者文件名唯一时,可以按一次tab补全命令或文件名;当命令或文件名不唯一时,可以按两次tab列出已键入命令或文件名开头的所有命令或文件名。如下图:

TAB不仅可以补命令文件名,还能补全命令的部分选项。如下图:

在另一行行继续长命令
反斜杠(\)是转义字符,shell会忽略紧跟在它后面的一个字符,所以我们可以利用这一点来进行分行键入命令。在反斜杠(\)后按下Enter键之后,下一行会出现一个辅助提示符(>),目的是告诉用户命令没有结束。通过这个方法命令可以延续很多行。如下图:

命令历史记录
history
历史记录命令,会显示带编号的命令历史记录,如下图:

我们可以通过元字符(!)重新执行历史命令。元字符(!)后接数字则表示history命令列出来对应编号的命令,元字符(!)后接字符串则表示最后一个以该字符串为开头的命令。
还可以通过↑向前滚动命令历史记录,通过↓向后滚动命令历史记录。
编辑命令行
命令行编辑的常用快捷键
快捷键 | 作用 |
---|---|
Ctrl+A | 跳到命令行的开头 |
Ctrl+E | 跳到命令行的末尾 |
Ctrl+U | 将光标处到命令行开头的内容清除 |
Ctrl+K | 将光标处到命令行末尾的内容清除 |
Ctrl+← | 跳到命令行中前一字的开头 |
Ctrl+→ | 跳到命令行中下一字的末尾 |
Ctrl+R | 在历史记录列表中搜索某一模式的命令 |
发表回复