Shell常用特殊符号

* 代表零个或者多个任意字符

? 代表一个任意字符

# 注释符号,注释说明的意思,即#后面的内容Linux忽略掉
#ls -lhtr 【并没有返回结果】
#abc=123#aaa
#echo $abc
123
或者是在shell脚本中作解释符号、解释说明用,用在需要说明注释的文字行首

\ 脱意字符,将后面的特殊符号(例如*)还原为普通字符
#ls -d test\*
无法访问test*:没有那个文件或目录

| 管道符,将前面的命令的结果丢给符号后面的命令。
后面的命令,并非所有命令都可以,一般针对文档操作的命令比较常用,例如 cat,less,head,tail,grep,cut,sort,wc,uniq,tee,tr,split,sed,awk等等。
其中grep,sed,awk 为正则表达式必须掌握的工具。
#cat testb.txt |wc -l
0
wc -l 用来计算一个文档有多少行。

$ 特殊符号
用于变量前面的标识符号,$PATH $HOME
和!一起使用,#!$ 上条命令中最后一个参数,就是上条命令中最后出现的东西如路径、文件名等等。

; 特殊符号
可以在一行运行多条命令
#ls -d test*; touch test111; ls-d test*
test1 test2
test1 test2 test111

~ 特殊符号
用户的家目录,如果是root则是/root,普通用户/home/username

& 特殊符号
把命令放到后台执行,需要加上这个符号。通常用于命令运行时间比较长的情况。
#sleep 30 &
[1] 3260
#jobs
[1]+ running sleep 30 &

> >> 2> 2>> < 重定向符号
> 重定向
>> 追加重定向
2> 错误重定向
2>> 错误追加重定向
< 反向重定向
反向重定向,会将右边的文档的内容,重定向给左边的这个命令,比如 # wc -l < 1.txt
当运行一条命令报错时,报错信息会输入到当前屏幕,如果想重定向到一个文本里,则要用2>和2>>。
#ls aaa
没有那个文件或目录
#ls aaa 2>/tmp/error
#cat /tmp/error
没有那个文件或目录

[ ] 中括号
中间为字符组合,代表中间字符中的任意一个。括号内只能是完全匹配,不可以使用*
#ls -d test*
test1 test2 test3 testa testb testc
#ls -d test[1-3]
test1 test2 test3
#ls -d test[1a3]
test1 test3 testa
#ls -d test[0-9]
test1 test2 test3
#ls -d test[0-9a-z]
test1 test2 test3 testa testb testc


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值