Shell 中的符号:
在shell中有很多符号代表了一些意思,重点说说 键盘上的符号在shell中的意义。
通配符:
~ 匹配家目录
? 匹配单个字符。( ?之匹配单一的一个字符。x11 这种的就不会匹配了)
* 匹配所有
() 分组。 # 小括号属于正则的范围
[root@python ~] # egrep "^(root)" /etc/passwd
root:x:0:0:root:/root:/bin/bas
## 匹配 以 root 这一组字符开头的内容!
[] 匹配括号中的一个字符
{} 匹配一个范围
其他字符:
; 一行执行多条命令
[root@python ~]# echo "date"; date +%F date 2019-07-05 [root@python ~]# echo -n "date:"; date +%F date:2019-07-05
`` 反引号, 命令中执行命令
[root@python ~]# echo "date: `date +%F`" date: 2019-07-05
`date +%F` 反引号表示的命令的优先级 要高于,外面的命令。所以先执行 `` 内的,再执行外面的。
& 后台执行, 加在一条完整命令的后面
[root@python ~]# ping localhost > /dev/null & [1] 10896 [root@python ~]# jobs # 查看后台运行的任务/程序 [1]+ 运行中 ping localhost > /dev/null &
[root@python ~]# fg 1 # 调到前台运行
ping localhost > /dev/null
^Z # ctrl + Z 挂起程序
[1]+ 已停止 ping localhost > /dev/null
[root@python ~]# bg 1
[1]+ ping localhost > /dev/null &
[root@python ~]# jobs
[1]+ 运行中 ping localhost > /dev/null &
| 管道符(将上一个命令的输出,交给下一个命令的输入)
'' 单引号, 定义字符串
“” 双引号, 定义字符串
^ 正则表达式符号, 代表以 什么 开头
$ 正则表达式符号, 代表以 什么 结尾
\ 转义字符。 (比如想要查找 \n 换行符。就需要 \\n)
+ - * / 加减乘除 运算符号
history 执行。显示执行过的命令。
[root@python ~] # history
........
996 mysql -u root -p 123 997 mysql -u root -p 998 python 999 egrep "^(root)" /etc/passwd 1000 data 1001 date 1002 echo "date"; date +F% 1003 echo "date"; date +%F 1004 echo -n "date:"; date +%F 1005 echo "date: `date +%F`" 1006 ping localhost > /dev/null & 1007 jobs 1008 fg 1 1009 jobs 1010 bg 1 1011 jobs 1012 history
[root@python ~] # !1011 !可以用来执行历史命令