导语
本节文章,将学习一部分的基本命令,此为第一部分。
虚拟终端和控制台
虚拟终端
屏幕和键盘只是一个终端,可能不够用,又不想增加设备投入,就产生了虚拟终端。
像gnome-terminal,urxvt,mlterm,xterm等等:
是一个程序,职责是模拟终端设备,和虚拟终端的区别表面上在于它以 GUI 形式的窗口出现,内部则是程序结构和系统控制结构有所不同,但本质上差不多。
控制台tty
显示系统消息的终端就叫控制台,Linux 默认所有虚拟终端都是控制台,都能显示系统消息。
但有时专指CLI下的模拟终端设备的一个程序,和gnome-terminal,urxvt,mlterm,xterm等相同,只是CLI和GUI界面的区别。一般console有6个,tty1-6,CTRL+ALT+fn切换。
控制台切换
Linux 预设的情况下会提供六个Terminal 来让使用者登入, 切换的方式为使用:[Ctrl] + [Alt] + [F1]~[F6]的组合按钮。
实例
如下所示,现在是图形化界面:
我们按住按键ctrl+alt+F2
就会出现如下所示:
这就是一个终端,而且是字符界面的终端
接下来,我们按住按键ctrl+alt+F1
就会恢复图形化界面:
这就说明了F1位图形界面,而F2-F6是字符界面。
图形界面切换到字符界面终端: Ctrl+Alt+F2-6
切换到图像界面 Alt+F1或按ctrl+alt+F1
虚拟终端(pty、pts)
如果我们远程telnet到主机时,需要一个终端交互。这就是虚拟终端pty(pseudo-tty)。而 pts/ptmx(pts/ptmx结合使用,进而实现pty)
实例-查看对应的终端号
1、按照第一篇linux文章所安装后,我们弄好了打开ghome-terminal的快捷键。所以我们先按crtl+T,打开一个终端:
2、接着我们按住ctrl+shift+T,打开另一个终端:
3、这样就说明了我们打开了两个终端,两个终端都输入who am i:
使用who am i查询当前用户登录的终端对应的pts号
放大/缩小虚拟终端
放大:ctrl+shift+ +
缩小:ctrl+ -
实例-查看ssh的进程终端
1、按照第一篇linux文章所安装后,我们弄好了打开ghome-terminal的快捷键。所以我们先按crtl+T,打开一个终端:
2、接着我们按住ctrl+shift+T,打开另一个终端:
3、在第一个终端中输入ssh root@127.0.0.1命令,并输入root的密码:
4、在第二个终端中,输入ps -aux | grep pts命令:
结论
pts(pseudo-terminal slave) 伪终端 :通过ssh相关工具连接上后,显示出来终端为:pts
shell
每一个shell都可以认为是一个命令的解释器。
Shell提示符
我们可以看到,终端有两种提示符:
[tqw@localhost ~]$
和
[root@localhost ~]#
解析
这一般是正确登入之后才显示的提示符讯息, 最左边的tqw和root显示的是『目前用户的账号』,而@之后接的localhost则是『主机名』,至于最右边的~则指的是 『目前所在的目录』,那个$和#则是我们常常讲的『提示符』啦!
小备注
那个 ~ 符号代表的是『用户的家目录』的意思,它是个『变量』 这相关的意义我们会在后续的章节依序介绍到。举例来说,root 的家目录在/root, 所以 ~ 就代表/root 的意思。而tqw的家目录在/home/tqw, 所以如果你以tqw登入时,他看到的 ~ 就会等于/home/tqw喔!
我们可以用pwd命令来验证一下
至于提示字符方面,在Linux 当中,默认root 的提示字符为 # ,而一般身份用户的提示字符为 $ 。
Bash Shell基本语法
实例-查看当前所有的shell解释器:
1.按照第一篇linux文章所安装后,我们弄好了打开ghome-terminal的快捷键。所以我们先按crtl+T,打开一个终端:
2、输入命令cat /etc/shells 或chsh -l(两者实际上异曲同工):
[tqw@localhost ~]$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
[tqw@localhost ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
命令的格式
命令字 [选项][参数]
- 命令字: 具体执行的命令
- 选项:匹配的条件
- 参数:命令处理的对象
比如
ls -a /etc/
总结
今日介绍了虚拟终端和控制台,并给出几个实例,验证了ssh的终端为pts登录等等。希望各位能有效看懂。