2018-Linux系统基础-linux-04.字符界面
第四章:Linux字符界面操作
1. 字符界面简介
- 对linux服务器的维护基本上是在命令行界面下进行的
1.1. 进入linux命令行界面
- linux字符界面
- 在启动时,修改命令进入字符界面:使用gedit打开文件/etc/inittab
- 在其中找到initdefault一行:将其修改为id:3:initdefault
- 重启计算机即可
- 命令:
[root@PC-LINUX ~]# ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target
- 改变后重新引导即可
- 超级用户登录后提示符:#
- 其他用户登录后提示符:$
- 如果在字符界面想要重启图形界面,可以输入命令
startx
启动linux的图形界面。
- 在启动时,修改命令进入字符界面:使用gedit打开文件/etc/inittab
- 使用终端:应用程序->收藏->终端
- 进入终端
- 修改首选项:编辑当前配置文件即可
- 退出终端界面:
- 图形界面点击
X
号 - 在控制台输入exit即可
- 图形界面点击
- 使用虚拟控制台:允许进行多次登录
1.2. 关闭和重启系统
- shutdown命令
- 可以安全地关闭系统。
- linux系统和Windows系统不同,后台有很多的进程正在运行中,如强制关机会导致进程的数据丢失。
- 在下达shutdown指令后,系统会通知所有登录的用户系统将要关闭,并且login指令被冻结。
- 语法
shutdown [选项][时间][警告信息]
,也就是该指令允许精确时间关机(多少分钟后,现在写做now)。- 需要说明:这个命令只能被超级用户root使用
- -h:关机但不重启
- -r:重启
- -k:并不真正关闭系统,只是发出警告信息给全部用户
- -f:快速关闭系统,再次启动时不进行磁盘检测
- -n:快速关闭系统,不经过init程序直接关机
- -c:中断关闭系统
- halt
- 就是调用
shutdown -h
命令来执行关闭系统 - 语法
halt [选项]
- -w:不是真正重启关闭系统,只是写"wtmp"记录
- -d:不写wtmp记录
- -f:不调用shutdown,直接强制关机
- -i:在关闭或重启系统前,先关闭所有的网络接口
- -p:这个选项是缺省项,即关闭系统时调用"power off"
- 就是调用
- reboot
- 是引发主机的重启,区别于halt指令的关机
- 参数和halt大致相同
- init
- 这个命令式所有进程的祖先,进程号始终为1
- 定义了7个运行级别,其中
init 0
为关闭系统,init 6
是重启。
1.3. 系统运行级别
- 一种状态,由列在
/etc/rc.d/rc<x>.d
目录中的服务来定义,其中<x>
代表运行级别的符号 - 由列在
/etc/rc.d/rc<x>.d
中的<x>
来代表级别- 运行级别分为7种
- 0:停止运行,所有进程中止,关闭系统
- 1:单用户模式,用于维护系统,只有少数进程运行
- 2:多用户模式,除了NFS服务没有启动外,其他和运行级别3一样。
- 3:完整的多用户模式,进入linux系统的字符界面
- 4:没有使用(由用户自己定义)
- 5:完整的多用户模式(带有基于X Window的图形界面)
- 6:重新引导计算机
- 简单的事宜:字符界面的运行级别是3,图形化界面的运行级别是5.
- 查看当前系统运行级别:
[root@PC-LINUX ~]# runlevel
- 结果第一个为上一次运行级别(无为N),后面为当前运行等级
- 可以用这个来切换显示模式,命令行还是GUI界面,命令:
init (level)
- 命令
init 0
同样是关闭计算机
- 命令
2. 如何在linux下获取帮助
2.1. 使用man手册页
- 作用:查看命令、函数或文件的帮助手册,另外它还可以显示一些gzip压缩格式的文件。
- 一般来说这个手册资源被放置在了/usr/share/man目录下
- 命令语法:
man [选项][命令名称]
- -M:指定搜索man手册页的路径,通常这个路径由环境变量MANPATH预设,如果在命令行上指定另外的路径,则覆盖MANPATH的设定
- -P:指定所使用的分页程序,默认使用/usr/bin/less-is,在环境变量MANPAGER中预设。
- -a:显示所有的手册页,而不是只显示第一个。
- -d:主要用于检查,如果用户添加进图了一个新的文件,就可以用这个选项检查是否出错,这个选项不会列出文件内容。
- -f:只显示出命令的功能而不显示其中详细的说明文件。
- -p:string设定预先处理程序的顺序
- -w:不显示手册页,只显示将被格式化和显示的文件所在位置。
- 简单介绍man手册页内容:
- NAME:简单说明
- SYNOPSIS:大致说明(语法、定义等)
- OPTIONS:对内容的简明介绍
- SEE ALSO:一些参考提示
- BUGS:指明命令或函数存在什么错误。
- 其他的详见查找。
2.2. 使用help命令
- 可以查找Shell命令的用法
- 语法:
[命令] --help
2.3. whereis命令
- 查找命令所在的位置
- 语法:
whereis [选项][命令名]
- b:只查找二进制文件
- m:查找主要文件
- s:查找来源
- u:查找不常用的记录文件
3. Shell基础
- Shell是最常用的程序,主要作用是侦听用户指令、启动指令所指定的进程并将结果返回给用户。
- Shell就是位于核心和操作者之间的一层使用者界面。
3.1. Shell起步
- 类似于命令行,但是要比命令行更加强大。
- 登入系统或者打开终端窗口时,首先看到的是Shell提示符,$/#
- 一般的格式:
[Shell命令][可选项][参数]
- 例子:
whoami
:查找当前里linux系统的用户
3.2. Shell类型和功能
- 命令解释器
- 编程原因
- 系统管理维护时的重要工具
- bash的功能:
- 兼容sh(Bourne Shell)
- 包含C Shell以及Korn Shell中最好的功能
- 具有命令行编写修改的能力
- 具有工作控制能力,可控制前台和后台程序
- 具有Shell编程能力
3.3. 开始使用bash
- 命令分类
- bash内置的命令:由把bash负责回应
- 应用程序:Shell会找到相应的应用程序,然后把控制权交给内核,由内核执行应用程序。
- 如果想要具体确定那种命令:
which [命令]
- 通配符
符号 | 含义 |
---|---|
? | 表示任何单一字符 |
* | 表示任何字符 |
[字符组合] | 在中括号中的字符皆符合 |
[!字符组合] | 不在中括号中的字符皆符合 |
- 特殊字符及引号
- 主要参见PPT
- ~:用户主目录
- *:通配符
- ?:通配符
- <:输出重定向
- 常用控制组合键
- 详见PPT
- Ctrl+U:将命令行整列删除。
4. Shell实用功能
4.1. 命令行自动补全
- Tab自动补全,按下Tab键
- 比如:
cd /u/u<Tab>/sr<Tab>/redhat/
4.2. 命令历史记录
- 使用方向键
- 使用shift+方向键
- 编辑命令行
- 详见PPT
- [!$]重复前一个命令最后的参数
- pwd查看当前目录
- 可用的Shell快捷方式
- ~是用户的主目录的简写形式
4.3. 命令的排列、替换和别名
- 命令的排列
- 如果希望一次执行多个命令,Shell允许在不同的命令之间,放上特殊的排列字符。
- 使用
命令1;命令2
:- 先执行命令1
- 无论成功与否,执行命令2
- 使用
命令1&&命令2
:- 只有命令1正确运行完毕后才能执行命令
- 命令的替换
- 语法:
命令1 $(命令2)
||命令1 `命令2` - 命令替换将一个命令的输出当另一个命令的输入
- 实例:
kill -9 $(pidof less)
- 语法:
- 命名别名
- 将比较长的命令重命名为另一个指定命令
- 语法:
alias [别名]=[需要定义别名的命令]
- 取消别名:
unalias
- 取消别名:
- 之后输入重命名的部分就行。但是重启或者关系会使得别名失效。
- 别名的优先级高于原命令。
4.4. 文件名匹配和输出重定向
- 文件名匹配:
- 用户不必一一写出文件名称就可以指定多个文件
- *可以匹配一个或多个字符
- ?只能匹配代表一个字符
- 管道:
- 复杂任务使用Shell机制,组合很多小程序进行完成,管道就是把某个命令的输出信息当做某个命令的输入
- 语法:
[命令1]|[命令2]|[命令3]
- 例子:
ls /etc|more
,显示这个文件夹的内容,命令more是分页显示内容
- 重定向文件
- 希望将命令的输出结果保存到文件中
- 希望将文件的内容作为命令参数
- 五种重定向方式:
- 输出重定向
- 将command(具体命令)命令输出保存到文件file中,如何有相同文件,则进行覆盖
- 语法:
command > file
- 输入重定向
- 将文件file的内容作为command命令的输入
- 语法:
command < file
- 错误重定向
- 将命令执行出错信息输出到文件file中
- 语法:
command 2> file
- 追加重定向
- 将输出添加到已经存在的file中去
- 语法:
command >> file
- 同时实现输出和错误的重定向
- 同时实现输出重定向和错误重定向
- 语法:
command &> file
- 输出重定向
- 将一个目录下的内容重定向到文件夹:
ls /root > /root/abc
5. vi编辑器基本使用
5.1. vi的基本概念
- vi编辑器是linux系统的标准编辑器,用于编辑任何ASCII文本。使用vi编辑器,可以对文本进行创建、查找、替换、删除、复制、粘贴等操作。
- 三种基本工作模式
- 命令行模式
- 插入模式
- 插入模式才能文字输入
- Esc回到命令行
- 末行模式
- 保存文件或退出vi编辑器
- 设置编辑环境。
5.2. vi的基本操作
- 进入vi编辑器
- 在Shell提示符输入vi以及文件名称就进入了vi编辑
- 切换至插入模式编辑文件
- 按下i进入编辑模式
- 退出vi以及保存文件
- 按:进入末行模式
- 输入wq,存盘并退出vi
- 输入q!,不存盘强制退出vi
5.3. 命令行模式操作
- 进入插入模式
- 按"i":从光标当前位置开始输入文件
- 按"a":从目前光标所在位置的下一个位置开始输入文字
- 按"o":在光标所在的行的下面插入一行,从行首开始输入文字
- 按"I":在光标所在行的行首插入。
- 按"A":在光标所在行的行末插入。
- 按"O":在光标所在的行的上面插入一行。
- 按"s":删除光标位置的一个字符,然后进入插入模式。
- 按"S":删除光标所在的行,然后进入 插入模式。
- 从插入模式切换为命令行模式
- 按下Esc返回
- 移动光标:参见ppt
- ctrl+b:向前移动一页
- ctrl+f:向后移动一页
- ctrl+u:向前移动半页
- ctrl+d:向后移动半页
- 删除文字:参见ppt
- (n)x:按一次,删除光标处的一(n)个字符
- (n)X:按一次,删除光标处前的1(n)个字符。
- 复制
- 替换
- 撤销上一次操作
- 跳至指定的行
- 存盘退出
- 不存盘退出
5.4. 末行模式操作
- 先按下Esc,然后按下:进入末行模式
- 列出行号:
set nu
- 取消列出行号:
set nonu
- 跳转到文件中的某一行:
n
- 查找字符:
/关键字
:先按"/"键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按"n"会往后查找下一个关键字。?关键字
:先按"?"键,再输入想查 找的字符,如果第一次查找的关键字不是想要 的,可以一直按"n"往前查找下一个关键字。
- 运行Shell命令:
!命令
- 替换字符:
:s/a/b
:将光标所在行第一个a替换 为b。:s/a/b/g
:将光标所在行所有的a替 换为b。
- 保存文件:
- :w
2018-Linux系统基础-linux-04.字符界面
https://spricoder.github.io/2018/07/16/2018-Linux-system-basics/2018-Linux-system-basics-linux-04.%E5%AD%97%E7%AC%A6%E7%95%8C%E9%9D%A2/