![934abd925ca605a5ea90d64272e5dcbc.png](https://i-blog.csdnimg.cn/blog_migrate/fe5c4d2335030cdf7c2d251f79d6d9be.jpeg)
第三章 Linux基本命令操作
3.1.1 登录Linux终端
认识终端:
在Linux系统中,计算机显示器通常被称为控制台终端(Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些“设备特殊文件”与之相关联:tty0、tty1、tty2等。
当用户在控制台上登录时,使用的是tty1。使用Alt+[F1—F6]组合键时,我们就可以切换到tty1-tty6,tty2–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上。不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。可以登录到不同的虚拟终端上,因而可以让系统同时有几个不同的会话期存在,如表 3-1 所示。
操 作
介 绍
tty
tty1图形界面
tty2虚拟控制台
切换
物理机控制台的切换ctrl + alt +F1~F6 rive
虚拟机切换crtl + alt +shift +F1~F6
从命令行界面启动到图形界面:#startx(不重启服务) #init 5(重启服务)
pts虚拟终端
ctrl+shift+T
切换虚拟终端:Alt+1(切换到第一个虚拟终端)
放大:ctrl+shift+ + (可以通过图形界面来设置)
缩小:ctrl+ -
pts(pseudo-terminal slave) 伪终端:通过ssh相关工具连接上后,显示出来终端为:pts
表 3-1 终端操作表
两种终端仿真器:
(1) GNOME桌面的GHOME Terminal
(2) KDE桌面的Konsole Terminal
(3) XFace 桌面的 XFace Terminal
远程连接终端工具: Xshell , CRT。在下一阶段会有详细讲解及安装。
例3.1:通过tty命令看到当前所属的虚拟终端。
[root@xuegod63 ~]# tty
/dev/pts/0
注:shift+ctrl+N 快速打开一个终端,终端字体放大: shift+ctrl+加号。终端字体缩小:ctrl+减号。
例3.2:不同虚拟终端之间通讯。
同时打开两终端,第一个终端执行:
[root@xuegod63 ~]# echo xuegod > /dev/pts/1 #/dev/pts/1为终端设备名称,实际上是使用echo命令打印xuegod内容重定向输出到/dev/pts/1终端上。
在第二个终端查看:有xuegod输出,如图 3-1 所示。
![0f612bd02c29bdf13cee08202c46d539.png](https://i-blog.csdnimg.cn/blog_migrate/612ce3f30069ca8bea4168c46bb64fde.png)
图 3-1 不同虚拟终端之间通讯
例3.3:对所有终端广播消息:系统10分钟后关机。
[root@xuegod63 ~]# shutdown +10 #执行此命令后,在其他终端都会收到关机的消息。
[root@xuegod63 ~]# shutdown -c #取消关机。
或:
广播,所有终端都能收到:
命令:wall
命令使用格式:wall “信息内容”
[root@xuegod63 ~]# wall " The system will be shut down in 10 minutes "
3.1.2 认识Shell
Shell俗称壳,它提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行,Shell相当于计算机的操作入口,好比Windows中的桌面一样,只不过两者是不同的程序,但实现的功能是一样。
简单来说Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,它通过解释用户输入的命令并把它传输给系统内核去执行,从而实现把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。
Shell有自己的编程语言用于对命令的编辑,它允许用户编写由Shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。如图 3-2 所示。
![16afff05c1fa66c69891e6c8cb8584ea.png](https://i-blog.csdnimg.cn/blog_migrate/044af923fa592876b73489540e4917aa.jpeg)
图 3-2 Shell 分层原理图
1.Shell的分类
Shell分为两类:GUI接口和CLI接口。
(1) GUI接口(Graphic User Interface):图形用户界面(接口)的Shell。
Linux系统中的图形用户界面是使用X-Window,而Window是图形显示协议,Linux使用的是CS显示架构。
Linux图形界面类型:
Gnome:Gnome是一套纯粹自由的计算机软件,运行在操作系统上,提供图形桌面环境,Gnome包含了 Panel (用来启动此程式和显示目前的状态)、桌面 (应用程式和资料放置的地方)及一系列的标准桌面工具和应用程式,并且能让各个应用程式都能正常地运作,Gnome是使用C语言开发。
KDE:KDE,K桌面环境(K Desktop Environment)的缩写。一种著名的运行于 Linux、Unix 以及FreeBSD 等操作系统上的自由图形桌面环境,整个系统采用的都是 TrollTech 公司所开发的Qt程序库(现在属于Digia公司)。KDE是Linux 操作系统上最流行的桌面环境之一,KDE是使用C++语言开发。
XFace:XFace是开源的基于Web技术的移动应用开发平台,允许开发者使用HTML、CSS及JavaScript技术开发智能移动终端的应用程序。平台提供跨平台的中间件引擎,支持在智能移动终端的系统(Android、iOS、WindowsPhone 等)上运行符合平台规范的HTML应用,具有程序代码一次开发、多平台运行的优点,减少开发及维护的工作量。降低移动应用的开发门槛,帮助Web开发者以较小的成本代价完成从传统互联网领域向移动互联网领域的迁移,比较适合使用在嵌入平台上的轻量组桌面。
(2) CLI接口(Command Line Interface):命令行(接口)的Shell
Linux命令界面类型:
sh、bash、csh、zsh、ksh、tcsh
其中 bash使用最广泛,功能也是最强大,并且是开源的Shell,是linux绝大多数默认使用的Shell。
2.Shell的启动:
Shell本身也是个可运行程序,在用户登录时,完成用户名和密码验证后,会启动Shell,当多个用户登录时,或同一个用户打开多个Shell时,那么Shell程序只开启一个,但是Shell会开启多个进程,在Shell进程之间是互不干扰的,各自都是独立的Shell。
Shell本身是个外部命令,但它启动了以后带有一些Shell内部命令。
内部命令:在系统启动时就调入内存,是常驻内存的,所以执行效率高。
外部命令:是系统软件的功能,用户需要时才从磁盘中读入内存。
如何区分内外部命令?
命令:type
命令使用格式: type 命令
[root@xuegod63 ~]# type cat
cat 是 /usr/bin/cat #该输入结果则为外部命令。
[root@xuegod63 ~]# type pwd
pwd 是 shell 内嵌 #该输入结果则为内部命令。
总结: 通过Shell,我们可以对Linux实现哪些操作或管理:
例如:
1) 对文件的管理(创建、删除、复制、修改)。
2) 对用户的管理(添加、删除)。
3) 相关权限的管理(授权用户对相关文件的管理,比如增删改查)。
4) 对磁盘的管理(分区、raid、lVM)。
5) 对软件的管理。
6) 对网络的管理。
3.Shell提示符“#”号与“$”号的区别
[root@xuegod63 ~]# #表示是root用户登录,管理员账号登陆
[root@xuegod63 ~]# su - mk #切换到mk普通用户
[mk@xuegod63 ~]$ #表示普通用户登录
上面各位置对应的内容代表的意思如下:
[root @ xuegod63 ~ ]#
用户名---@---主机名---当前所在目录(~表示当前用户的家目录)---(# root/$普通用户)
4.认识Bash
Bash是Shell其中的一种Shell,是目前Linux中使用最为广泛的Shell,功能也是最为强大,并且是开源的Shell,是linux绝大多数默认使用的Shell。
Bash特性:
(1) 支持命令历史
用户在当前的Bash终端上所执行过的命令,都会按顺序记录下来,用户可以使用上下箭头键可以查看并直接再次执行。
(2) 支持命令补全、路径补全
(3) 支持管道、重定向
(4) 支持命令别名
(5) 支持命令行编辑
(6) 支持命令行展开
(7) 支持文件名通配
(8) 支持变量
(9) 支持编程(shell脚本),在bash下,能让用户将多个执行的命令,以某种程序逻辑组合起来进行编程
查看所有shell类型:
[root@xuegod63 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
具体需要使用的是哪一个,取决于你的用户配置,也就是说可以通过查看/etc/passwd文件的每一行的最后一个字段
[root@xuegod63 ~]# head -1 /etc/passwd #head -1查看指定文件中的第一行内容
root:x:0:0:root:/root:/bin/bash #在输出内容中的以:冒号分隔,最后一段/bin/bash,则为该用户启动的默认Shell。
本文节选自学神IT教育原创书籍《LINUX-第一阶段-centos7-操作系统入门到精通》,全套书共四册1600页,跟着学神学Linux,祝你早日成为大牛!
想要全套印刷书籍,可以关注我们,经常会举办赠书活动。
【点击】MK老师,获取免费视频学习