1.命令历史使用技巧:
!n:执行命令历史中的第n条命令(n是命令历史的编号)
!-n:执行命令历史中的倒数第n条命令(n是命令历史的编号)
!word:执行命令历史中最近一次以word开始的命令(word必须能够唯一的标识用户想执行的命令)
!!:执行上一条命令
!$:引用一个命令的最后一次参数
ESC键和.:引用一个命令的最后一次参数
2.管道,IO重定向
计算机体系结构:
控制器:CPU。读取系统指令
运算器:CPU,运算
存储器:RAM(内部存储器:易失性存储器)
输入设备:(input):输入数据,如键盘 ,硬盘等
输出设备(output):显示指令执行结果,如显示器,音响,硬盘等
计算机总线:
地址总线:负责内存寻址
数据总线:负责传输数据
控制总线:负责控制指令
寄存器:CPU中 内部临时存储空间
I/O设备:负责计算机内部存储 设备和外部存储设备(如硬盘,光盘U盘等) 进行交互的设备
程序:指令+数据
指令:有程序提供,负责加工数据
数据:系统中数据可以有多种来源,比如来自变量,来自文件,来自输入设备等
当用户没有为指令指定数据来源时,系统要有默认的数据来源
标准输入输出设备:
标准输入设备:键盘(stdin)
标准输出设备:显示器(stdout)
标准错误输出设备:显示器(sterr)
三种数据流:
标准输入数据留/标准输出数据流/标准错误输出数据留
当在Linux中打开一个文件时,内核会反复调用 对于文件标识就很重要 了用文件描述符来标识文件文件加载完成用数字标识
fd:file descriptor(文件描述符)
IO重定向:把默认输入输出数据来源,重新定向到其他的文件或设备
输出重定向:
>:覆盖输出重定向
>>:追加输出重定向
2>:错误覆盖输出重定向
2>>:错误追加输出重定向
&>:混合覆盖输出重定向
&>>:混合追加输出重定向
输入重定向:
<:输入重定向
管道:连接多条命令,把前一条命令的输出结果作为后一个的输出条件(组合小程序,实现大功能)
command1 | command2 | command3 ....
tr:实现 字符的转换,不修改源文件,语法:tr [OPTION]... SET1 [SET2]
tee:
3.命令行编辑:
ctrl+a:光标快速移动到行首
ctrl+e:光标快速移动到行尾
ctrl+u:快速删除光标位置到命令行首的字符
ctrl+k:快速删除光标位置到命令行尾的字符
ctrl+l:清屏
4.命令行的补齐:
table
5.命令别名:
1.alias:最好用引号引起来
2.unalias:取消命令别名
6.命令替换:
7.命令行通配:(通配符)
*:匹配任意长度的任意字符
?:匹配任意单个字符
[]:匹配指定范围内的单个字符
[^]:匹配指定范围外的单个字符
[:sapce:]:表示空格
[:punct:]:表示所有标点符号
[:lower:]:表示所有小写字母
[:upper:]:表示所有大写字母
[:alpha:]:表示所有子母
[:digit:]:表示所有数字
[:alnum:]:表示所有数字和字母