码迷,mamicode.com
首页 > 系统相关 > 详细

shell基础(一)

时间:2017-03-19 22:49:49      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:基础   shell   linux   

shell基础(一)

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

代表一个任意字符

# 注释符号,注释说明的意思,即#后面的内容Linux忽略掉,或者是在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


本文出自 “吴腾飞” 博客,请务必保留此出处http://wutengfei.blog.51cto.com/10942117/1908043

shell基础(一)

标签:基础   shell   linux   

原文地址:http://wutengfei.blog.51cto.com/10942117/1908043

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!