Linux基础知识5:通配符、进程管理、命令替换符、转义符、shell元字符、ascii码对照表

本文介绍了Linux中的通配符使用,如?和*,并讲解了进程管理,包括如何在后台运行命令、挂起与恢复进程以及杀死进程的方法。此外,还详细阐述了命令替换符``的功能以及转义符的作用,同时提到了Shell元字符和ASCII码对照表的相关知识。
摘要由CSDN通过智能技术生成
通配符

zsh默认是不支持通配符的

vim ~/.zshrc:打开zsh配置文件添加
	set nanomatch
sudo reboot/ source ~/.zshrc:重启或执行后面这条命令

成功后(或许也不需要执行)即可使用通配符

注意只能在当前目录查找

?:匹配一个字符
ls -d ???a:查找以a结尾前面有三个字符的目录(-d表示目录,不加-d的话直接打出了目录里面的内容)
*:匹配任意多个字符
[list]:匹配[]list中符合条件的任意单一字符
ls a[a-k]z:列出akz目录下的内容(假设存在akz)

[!list]:匹配除去s的东西(只支持bash)

通配符 含义 举例
[list] 匹配list中的任意单一字符 a[xyz]b a与b之间有且只有一个字符, 且只能是x或y或z, 如: axb, ayb, azb。
[!list] 匹配除list中的任意单一字符 a[!0-9]b a与b之间有且只有一个字符, 但不能是数字, 如axb, aab, a-b等
[c1-c2] 匹配c1-c2中的任意单一字符 a[0-9]b a与b之间有且只有一个字符,该字符是0-9之间的数字,如a0b, a1b,… ,a9b。
{string1,string2,…} 匹配 sring1 或 string2 (或更多)其一字符串 a{abc,xyz,123}b a与b之间只能是abc或xyz或123这三个字符串之一。

可在 man 7 glob中查看

任务管理

&`:

​ 把任务调到后台,比如在 ping baidu.com之后,就会出现退不出来的情况(ctrl+c退出)。如果加上&就会在后台执行,不影响命令的输入。(如果已经主动修改过ctrl+c的快捷方式了的话,需要在shell的中将快捷键修改回默认)

fg

​ 任务前台执行(可以将bg后的任务调到前台),此时terminal被占用,无法使用命令行输入命令。因此无法再调回bg。

ctrl+z

​ 将shell执行的命令暂时挂起,即

​ 1.保存现场(目前执行到哪里了以及各种变量,我猜);

​ 2.切除内存(原本在内存中执行,放在置换区中,让系统执行其他进程。)

​ 此时可以通过bg和fg将进程重新跑起来。(假设我挂起了多个进程呢—>那就先查看进程的顺序,然后在根据名字fg或bg)

杀死命令:

​ 法1:首先把后台的调到前台,然后ctrl+c结束任务。

​ 法2:ps命令:ps -ef:显示所有,再用grep找一下:grep:ping查看pid

ps -ef | grep ping:
	 某某     2799  2739  0 14:47 pts/0    00:00:00 ping baidu.com
	 -ef和-e区别:
	 	ps -e | grep ping                                     
			 2813 pts/0    00:00:00 ping
			 2817 pts/0    00:00:00 ping
			 2821 pts/0    00:00:00 ping
		ps -ef | grep ping                                    
			king      2813  2739  0 15:05 pts/0    00:00:00 ping baidu.com
			king      2817  2739  0 15:05 pts/0    00:00:00 ping souhu.com
			king      2821  2739  0 15:06 pts/0    00:00:00 ping tecent.com

​ 其中2799即为ping的pid(process id)

​ 接着直接 kill 2799就完事了

​ 法3:pkill ping:根据名字ping结束进程(易错,因为不但会匹配到ping,可能也会有什么ping1、ping2之类的,尤其如果 sudo就更容易完蛋。。)

;:连接两个命令,次序执行。

&&||:与或操作,和C语言中类似,连接两个命令。(常用在脚本中)

命令替换符:``:

​ 先将``中间的命令执行完了之后,再将返回值放到原位置继续执行命令

ls `echo -al` == ls -al

​ 和$()的结果是一样的。

jobs:查看进程(之后可以用fg %1(或者234之类进程前的数字),也可以直接%1, 将相关进程放到前台。)

nohup:

nohup ping baidu.com &:
	将会忽略输入,将输出输出到nohup.out文件中
	优点是不会占用前台程序

之后可以用tail filename (默认输出最后十行,不会多次更新),或者 tail -f filename(每次有什么变化就会强制输出文件末尾)

转义符:
字符 说明
‘’ 硬转义,硬引用,其内部所有的shell元字符、通配符都会被关掉。注意,硬转义中不允许出现’(单引号)。
“” 软转义,软引用,其内部只允许出现特定的shell元字符(KaTeX parse error: Can't use function '\`' in math mode at position 2: ,\̲`̲,\\):用于变量值替换、`用于命令替换、\用于转义单个字符
\ 反斜杠,转义,去除其后紧跟的元字符或通配符的特殊意义。
echo "$PATH":($PATH会生效)
echo '$PATH':写啥输出啥

下表是部分转义字符对应表:

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\\ 代表一个反斜线字符’’’ 092
代表一个单引号(撇号)字符 039
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值