终端 (terminal)
物理终端 (/dev/console) 控制台 console
虚拟终端 (/dev/tty[1-6]) tty:teletypewriters, 可有 n 个, ctrl+alt+F[1-6]
图形终端 (/dev/tty7)
串行终端 (/dev/ttyS#)
伪终端 (/dev/pty/#) pty:pseudo-tty,SSH 远程连接
查看当前终端设备:#tty
.
交互式接口
GUI:Graphic User Interface 图形用户界面
CLI:Command Line Interface 命令行界面
.
SHELL
shell 是 Linux 系统的用户界面, 提供了用户与内核进行交互操作的一种接口它接收用户输入的命令并把它送入内核执行
shell 也被称为 Linux 的命令解释器 (command interpreter)
shell 是一种高级程序设计语言
.
shell 程序: shcshtcshkshbashGPLzsh
bash(Bourne-Again Shell) 是 GNU 计划中重要的工具之一, 目前也是 Linux 标准的 shell, 与 sh 兼容 CentOS 默认使用
在 shell 中可执行的命令有两类:
1 内部命令: 由 shell 自带, 而且通过某种命令形式提供
用 help 查看, 用 enable 操作
2 外部命令: 在文件系统路径下有对应的可执行程序文件
.
Hash 缓存表存放执行过的外部命令, 提高外部命令调用效率
.
alias 定义命令别名, 在命令行中定义的别名, 仅对当前 shell 进程有效, 要想永久有效, 要定义在配置文件中
仅对当前用户有效:~/.bashc
对所有用户有效:/etc/bashrc
.
命令格式:
command [options...] [arguments...]
选项: 用于启用或关闭命令的某个或某些功能
参数: 命令的作用对象, 比如文件名, 用户名等
注意:
1 多个选项以及多个参数和命令之间使用空白字符分隔
2 取消和结束命令执行: Ctrl+c,Ctrl+d
3 多个命令可用; 符号分开
4 一个命令可用 \ 分成多行
.
日期和时间
Linux 有两种时钟:
系统时钟: 由 Linux 内核通过 CPU 的工作频率进行的
硬件时钟: 主板
date 显示和设置系统时间, hwclock,clock 显示硬件时间
.
echo 命令
功能: 显示字符
语法: echo [-neE][字符串]
说明: echo 会将输入的字符串送往标准输出输出的字符间以空白字符隔开, 并在最后加上换行号
选项:
-E (默认) 不支持 \ 解释功能
-n 不自动换行
-e 启用 \ 字符的解释功能
显示变量:
echo "$VAR_NAME" 变量会替换, 弱引用
echo $VAR_NAME 变量不会替换, 强引用
.
命令行扩展
$()|
把符号中的命令的输出, 打印给另一个命令作为参数使用
.
括号扩展
{}
echo file{1,3,5} 输出: file1 file3 file5
echo {1..10} 输出: 1 2 3 4 5 6 7 8 9 10
echo {a..e} 输出: a b c d e
.
tab 键
单击 tab 命令补全
用户给定的字符串只有一条唯一对应的命令, 直接补全
否则, 再次 tab 会给出列表
路径补全
把用户给出的字符串当做路径开头, 搜索以指定字符串开头的文件名如果唯一, 直接补全否则, 再次 tab 给出列表
双击 tab:
command 2Tab 所有子命令或文件补全
string 2Tab 以 string 开头命令
/ 2Tab 显示所有根目录下一级目录, 包括隐藏目录
./ 2Tab 当前目录下子目录, 包括隐藏目录
2Tab 当前目录下子目录, 不包括隐藏目录
~ 2Tab 所有用户列表
$ 2Tab 所有变量
@ 2Tab /etc/hosts 记录 (centos7 不支持)
= 2Tab 相当于 ls A (centos7 不支持)
.
命令历史
保存输入的命令历史, 可以用来重复执行
登录 shell 时, 会读取命令历史文件中记录下的命令 ~/.bashhistory
登录进 shell 后执行的命令只会记录在缓存中, 这些命令会在用户退出时追加至命令历史文件夹中
.
重复前一个命令:
1 上方向键, 回车
2!!, 回车
3!-1, 回车
4Ctrl+p, 回车
!:0 执行前一条命令 (去除参数)
Ctrl+n 显示当前历史中的下一条命令, 但不执行
Ctrl+j 执行当前命令
!n 执行 history 命令输出对应序号 n 的命令
!-n 执行 history 历史中倒数第 n 个命令
.
相关环境变量:
HISTSIZE: 命令历史记录的条数
HISTFILE: 指定历史文件, 默认为~/.bashhistory
HISTFILESIZE: 命令历史文件记录历史的条数
HISTTIMEFORMAT=%F %T 显示时间
HISTIGNORE=str1:str2: 忽略 str1 命令, str2 开头的历史
来源: http://www.bubuko.com/infodetail-2546800.html