本文最后更新于:2023年12月5日 晚上
终端
终端、Shell、tty 和控制台(console)有什么区别? - 知乎
Linux 终端(tty)
Linux 伪终端(pty)
控制台 /dev/console
计算机启动的时候,所有的信息都会显示到控制台上,而不会显示到终端上
串行终端 /dev/ttyS
计算机串行端口连接的终端设备, 这些串行端口所对应的设备名称是/dev/tty0、/dev/tty1 等,分别对应于系统下的 COM1、COM2 等
虚拟终端: tty: /dev/tty
每打开一个 terminal,系统会启动一个 shell 与这个 terminal 关联起来, shell=命令行解释器, tty 和 terminal 是同义词
tty 是虚拟终端, 与之对应的是 console 是物理终端
伪终端: pty: /dev/pts/
使用 tty1-6 的情况一般为 Linux 系统直接连了键盘和显示器,或者是使用了 vSphere console 等虚拟化方案,其它情况下使用的都是伪终端, 通过 SSH 等方式建立的连接中使用的都是伪终端
系统信息
用户登录信息
主机名
- 主机名不支持使用下划线
_
, 可以使用字母、横线或数字组合
- 主机名不要使用数字结尾,因为有些软件对主机名有要求
命令提示符
命令
命令格式
三种风格:短选项(UNIX)、长选项(GNU)、BSD 风格选项
ctrl + c : 终止命令执行;ctrl + d : 退出终端
内部命令和外部命令
内部命令是 shell 内置的,外部命令是自己安装的
命令执行顺序
echo
打印变量的时候,变量加引号的规则和 php 一样,单引号当成字符串输出,双引号则解析变量
-e:启用 \ 字符的解释功能 (escapes 转义符)
字符集和编码
Unicode 是字符集, Unicode 的编码方案有 UTF-8、UTF-16、UTF-32
bash shell
bash 快捷键
Ctrl + a 光标移到命令行首,相当于 Home
Ctrl + e 光标移到命令行尾,相当于 End
hash 缓存表
shell 内部命令本来就在内存中, hash 缓存的是外部命令的路径
日期和时间
关机和重启
但是在 VMware 中, CentOS7、8 和 Ubuntu18.04 关机的时候, 使用halt
会报错, 使用shutdown -h now
就能顺利关机, 不知道为什么?
计算器 bc
-q 表示不显示欢迎信息
bc 有四个内置变量,我们在计算时会经常用到,如下表所示:
变量名 |
作 用 |
scale |
指定精度,也即小数点后的位数;默认为 0,也即不使用小数部分。 |
ibase |
指定输入的数字的进制,默认为十进制。 |
obase |
指定输出的数字的进制,默认为十进制。 |
last 或者 . |
表示最近打印的数字 |
注意:obase 要尽量放在 ibase 前面,因为 ibase 设置后,后面的数字都是以 ibase 的进制来换算的
命令历史 history
相关环境变量:
获得帮助 (重点)
范例二:
man 页面分组
不同类型的帮助称为不同的“章节”,统称为 Linux 手册
man 帮助段落说明
- NAME 名称及简要说明
- SYNOPSIS 用法格式说明
- [] 可选内容
- <> 必选内容
- a|b 二选一
- { } 分组
- … 同一内容可出现多次
- DESCRIPTION 详细说明
- OPTIONS 选项说明
- EXAMPLES 示例
- FILES 相关文件
- AUTHOR 作者
- COPYRIGHT 版本信息
- REPORTING BUGS bug 信息
- 从 SEE ALSO 其它帮助参考
man 命令的操作方法
- space 下一页
- b 上一页
- 1G 回到首部
- G 翻至文件尾部
- /keyword 搜索关键字, 使用 n 和 N 上下查找