1. 什么是终端
- 简单讲就是能够接受输入,并显示(输出)结果的东西。终端是计算机系统最重要的人机接口。
- CentOS的桌面终端(伪终端)对应程序文件 /usr/bin/gnome-terminal
2. 控制台(console)与终端(Terminal)
- 早期将直接与计算机连接的物理输入输出设备称为控制台
- 通过网线与计算机远程连接的输入输出设备称为终端
3. 虚拟终端(TTY:teletypewriter)
- 为了在Linux操作系统中,可以多个用户登录系统进行操作,或者同一个用户打开多个窗口执行多个任务,Linux操作系统设置了多个虚拟终端设备,分别对应于/dev/tty1~/dev/tty6。
- CentOS中默认只启用了其中的6个供用户使用,分别是tty1~tty6,可以通过快捷键:ctrl+alt+<F1 ~ F6>进行切换。
4. 什么是shell(命令行)
- 简单来说shell就是接收用户输入的命令,然后提交给Linux内核处理的一个壳程序。
- 当终端打开时,会自动启动shell程序。shell程序有很多种,Linux大多默认使bash(GNU
Bourne-Again SHell),其是Bourne shell(bsh)的超集,即扩展。 - bash对应的程序文件:/usr/bin/bash
5. 使用shell原因
1.效率高
2.稳定
3.开发省心省钱
4.在软件测试、部署和运维中不可或缺
5.在软件测试、部署和运维中不可或缺
6. 命令提示符(command prompt)
一般来讲,打开终端窗口之后,光标停留位置的前面显示那个字符就是所谓的命令提示符。root用户的命令提示符为 ’ # ',其他用户的命令提示符为 ’ $ ’ 。
7. 执行命令
在命令提示符后的光标处开始输入命令,完成命令输入后,按下回车开始执行命令 。
8. 命令基本格式
command [option] [target]
#command:命令名
#options:命令选项
#target:文件、设备、用户等可操作的对象
9. 选项
可以通过不同的选项,来指示命令完成特定的操作。通常选项分为短格式(-) 和长格式(–) 两种。短格式选项通常以单个字符表示,多个短格式选项可以连接在一起同时使用。
# 示例:
ls -l -d /home/zc
# 等价于
ls -l --directory /home/zc
# 等价于
ls -ld /home/zc
10. 标准输入(stdin)
简单理解就是键盘,在Linux中标准输入被连接到/dev/stdin这个设备文件。标准输入的文件描述符为0。
11. 标准输出(stdout)
简单理解就是屏幕,在Linux中标准输出被连接到/dev/stdout这个设备文件。标准输出的文件描述符为1。
12. 标准错误输出(stderr)
标准错误输出就是命令执行错误时的输出位置,默认也是屏幕,被连接到/dev/stderr这个设备文件。标准错误输出的文件描述符为2。
12. 输入输出重定向
重定向就是将原本输入或输出的位置改变到其他地方。
13. 输出重定向(> 或 >>)
#原本输出到屏幕的内容重定向覆盖写入文件file
command 1> file
#原本输出到屏幕的内容重定向追加写入文件file
command 1>> file
#文件描述符1可以省略
command > file
command >> file
13. 错误输出重定向
#命令错误时,会将错误信息输出到屏幕
#将错误输出到黑洞设备,即丢弃所有错误信息
command 2> /dev/null
14. 标准输入重定向
#注意不是所有命令都能从标准输入中接收数据
#将文件重定向到命令的标准输入
command 0< file
#文件描述符0可以省略
command < file
15. 管道(|)
管道用于将一个命令的标准输出连接到另外一个命令的标准输入。实际上完成的工作就是前一个命令输出重定向,而后一个命令的标准输入重定向。
# 基本语法:
command1 | command2 | ...
16. 命令多行输入
默认在输入命令时,按下enter后,shell就会自动执行命令。如果要输入的命令太长,想在多行中输入时,不能直接按下enter,需要先按下一个反斜线’’,然后在按下enter,样enter的特殊含义就会被转义为普通的换行含义了。
17. 命令补全
在命令行中输入命令时,可以通过按下tab键,补全命令、文件名、目录名等。如果连续按两次tab键,会根据当前已输入的字符输出所有可能的补全。
18. 历史命令
bash具有记录过往执行过的命令功能,通过history命令可以查看当前用户曾经输入过的所有命令。
[zc@localhost /]$ history
1 df
2 man fdisk
3 fdisk /dev/sda
4 sudo fdisk /dev/sda
5 man gdisk
...
使用感叹号 ! 加上历史命令编号,即可再次执行该历史命令
[zc@localhost /]$ !1
df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 885628 0 885628 0% /dev
tmpfs 916220 0 916220 0% /dev/shm
...
也可以在终端窗口中按 ↑ 方向键,依次翻看之前的历史命令,翻到要重新执行的命令时,按下enter键即可。
19. 命令行帮助
19.1 命令的 --help 选项
如果只是查看命令的使用方法及常用选项,即可使用 - -help选项。大部分Linux命令都提供了该选项。
ls --help
[zc@localhost /]$ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all do not ignore entries starting with .
-A, --almost-all do not list implied . and ..
--author with -l, print the author of each file
-b, --escape print C-style escapes for nongraphic characters
--block-size=SIZE with -l, scale sizes by SIZE when printing them;
...
19.2 man page
man page全称为Manual page,是linux /unix 环境下命令与函数的帮助文档。
# man page使用man命令来查看
# 命令格式:
man [选项] [命令名]
19.3 手册内容
- NAME:功能简要说明
- SYNOPSIS:语法
- DESCRIPTION:注意事项
- OPTIONS:选项使用说明
- COPYRIGHT:版权信息
19.4 man章节
章节 | 说明 |
---|---|
man1 | 提供普通用户使用的命令说明 |
man2 | 系统调用、内核函数说明 |
man3 | 子程序、库函数说明 |
man4 | /dev目录中的设备文件说明 |
man5 | /etc目录中的配置文件格式说明 |
man6 | 游戏手册 |
man7 | 协议转换手册 |
man8 | root可用的系统管理手册 |
man9 | Linux系统例程手册 |
19.5 查看命令有哪些章节帮助
whereis
# whereis命令会显示命令的路径,以及其源代码和所有帮助文件的路径
# 命令格式:
whereis 命令名
# 示例:
whereis read
read: /usr/bin/read
/usr/share/man/man1/read.1.gz
/usr/share/man/man1p/read.1p.gz
/usr/share/man/man2/read.2.gz
/usr/share/man/man3p/read.3p.gz
19.6 whatis
# whatis命令从数据库中查看,数据库需要事先有root用户通过mandb命令创建
# 命令格式:
whatis 命令名
# 示例:
mandb
whatis read
read (1) - bash built-in commands, see bash(1)
read (1p) - read a line from standard input
read (2) - read from a file descriptor
read (3p) - read from a file
19.7 man page操作命令
快捷键 | 功能 |
---|---|
空格键 | 向下翻一页 |
ctrl+f | 向下翻一页 |
ctrl+b | 向上翻一页 |
G | 到第一页 |
g | 到最后一页 |
/string | 向下搜索string这个字符串 |
?string | 向上搜索string这个字符串 |
n | 搜索下一个 |
N | 搜索上一个 |
q | 退出 |
20. info page
是Linux系统专有的帮助系统,具有更强的交互性。
# info page可以使用info命令查看
# 命令格式:
info [选项] [命令名]
20.1 info page操作命令
快捷键 | 功能 |
---|---|
空格键 | 向下翻一页 |
tab | 在node间移动,node以星号显示 |
enter | 光标在node上,会进入该node |
b | 移动到当前页的第1个node处 |
e | 移动到当前页的最后1个node处 |
n | 前往下一个node处 |
p | 前往上一个node处 |
u | 返回上一层 |
s string | 关键字搜索 |
? | 命令一览表 |
q | 退出 |