linux 管道符、特殊符号
1、管道符:
管道“|”可将命令的结果输出给另一个命令作为输入之用:
cat *.dat|grep 2018 //(显示dat文件里的信息,在dat文件里显示条件带有2018的信息)
2、连接符号: “;”
连续执行多个命令,放在一行执行,中间用“;”分开
mkdir myfile;mv myfile /data1/conf (创建myfile目录,把myfile目录移动到data1/conf路径下)
3、后台执行: “&”
用户有时候执行命令要花很长时间,可能会影响做其他事情。最好的方法是将它放在后台执行。后台运行的程序在用户注销后系统还可以继续执行。当要把命令放在后台执行时,在命令的后面加上“&”
4、斜线: /
在路径表示中代表目录
cd /data1/conf/
单一的/,代表root根目录
在运算中,代表除法
a=10/2
5、反斜线: \
放在指令前,有取消 aliases的作用;放在特殊符号前,该特殊符号的作用消失,;放在指令的最末端,表示指令连接下一行。
$cat data2
the cost is $4.00
$sed -n '/ \ $ /p'data2
the cost is $4.00
6、井号: #
#:管理员
$:普通用户
脚本中的:#号是注释
如果被用在指令中,或者引号双引号括住的话,或者在倒斜线的后面,那他就变成一般符号,不具上述的特殊功能。
7、点: .(dot)
. 代表当前目录
.. 代表上层目录
如果在档案名称前有 . ,需要ls -a 才会显示
特殊字符点号用来匹配除换行符之外的任意单个字符。它必须匹配一个字符,如果在点号字符的位置没有字符,那么模式就不成立
cat data2
this is a test of a line .
the cat is sleeping .
that is a vey nice hat .
this test is at line four .
at ten o'clock we'll go home .
$sed -n '/.at/p' data2
the cat is sleeping .
that is a vey nice hat .
this test is at line four .
匹配了第二行,第三行,第四行,因为匹配的是at,第四行的空格也是字符,因此at前面的空格刚好匹配了该模式,第五行,at放在首行就不能匹配该模式
8、逗号: ,
在运算中当做区隔的用途
a=5+3,b=3+2
9、惊叹号: !
代表反逻辑的作用,!= :代表不等于
ls a[!0-9]
显示除了a0、a1.......a9的其他文件
10、问号: ?
问号表明前面的字符可以出现0次或1次,不包含null字元
ls da?ta
11、星号: *
常用的符号,在文件名扩展上,用来代表任何字元,包含null字元
# ls a*a a1 access_log
在运算时。它代表“乘法”
let “aa=2*3”
除了内建指令let,还有一个关于运算的指令expr,星号在这里也担任“乘法”的角色,不过在使用上,它的前面必须加上escape字元
12、锚字符:(^)
这个符号在正则表达式中,代表行的“开头”位置,在[]中也与“!”(叹号)一样表示“非”
13、连续分号:(;;)
专用在case的选项,担任Terminator的角色
case "$fop" inhelp) echo "Usage: Command -help -version filename";;version) echo "version 0.1" ;;esac
14、'string'单引号
被单引号用括号括住的内容,将被视为单一字串。在引号内的代表变数的$符号,没有作用,被视为一般符号处理,防止任何变量替换
heyyou=homeecho '$heyyou' # we get $heyyou
15、"string"双引号
被双引号括住的内容,将被视为单一字串,防止通配符扩展,但允许变量扩展,这点与单引号的处理方式不同
heyyou=homeecho "$heyyou" # we get home
16、 `command` 倒引号
在前面的单双引号,括住的是字串,但如果该字串是一列命令列,要处理这种情况,得用倒单引号来做
aa=`date + %F` echo "today $aa"
在倒引号内的date + %F 会被视为指令,执行的结果会被带入aa变数中
17、**次方运算
两个星号在运算时代表“次方”的意思
let "aaaa=2**3"
echo "aaaa=$aaaa" 结果:8
18、输出/输入重导向
> >> < << :> &> 2&> 2<>>& >&2
文件描述,用一个数字(通常为0-9)来表示一个文件
常用的文件描述符如下:
文件描述符 名称 常用缩写 默认值
0 标准输入 stdin 键盘
1 标准输出 stdout 屏幕
2 标准错误输出 stderr 屏幕
我们简单的用<或> 时,相当于使用0<或1>
* cmd > file
把cmd命令的输出重定向到文件file中。如果file已经存在,则清空原有文件,使用bash的noclobber选项可以防止复盖原有文件。
* cmd >> file
把cmd命令的输出重定向到文件file中,如果file已经存在,则把信息加在原有文件後面。
* cmd < file
使cmd命令从file读入
* cmd << text
从命令行读取输入,直到一个与text相同的行结束。除非使用引号把输入括起来,此模式将对输入内容进行shell变量替换。如果使用<<- ,则会忽略接下来输入行首的tab,结束行也可以是一堆tab再加上一个与text相同的内容,可以参考後面的例子。
* cmd <<< word
把word(而不是文件word)和後面的换行作为输入提供给cmd。
* cmd <> file
以读写模式把文件file重定向到输入,文件file不会被破坏。仅当应用程序利用了这一特性时,它才是有意义的。
* cmd >| file
功能同>,但即便在设置了noclobber时也会复盖file文件,注意用的是|而非一些书中说的!,目前仅在csh中仍沿用>!实现这一功能。
: > filename 把文件"filename"截断为0长度.# 如果文件不存在, 那么就创建一个0长度的文件(与'touch'的效果相同).
cmd >&n 把输出送到文件描述符n
cmd m>&n 把输出 到文件符m的信息重定向到文件描述符n
cmd >&- 关闭标准输出
cmd <&n 输入来自文件描述符n
cmd m<&n m来自文件描述各个n
cmd <&- 关闭标准输入
cmd <&n- 移动输入文件描述符n而非复制它。(需要解释)
cmd >&n- 移动输出文件描述符 n而非复制它。(需要解释)
注意: >&实际上复制了文件描述符,这使得cmd > file 2>&1与cmd 2>&1 >file的效果不一样。
linux 管道符、特殊符号相关推荐
- 3分钟学会Linux管道符与重定向
Linux管道符与重定向 管道符 相信大部分人都见到过这样的linux命令,当然没见到过也没关系,现在不是见到来了嘛! 中间那个竖线就是管道符,输入管道符只需要按下"shift + &quo ...
- Linux重定向符号和特殊符号
输出重定向符号 输入设备: 键盘输入数据 文件数据导入 输出设备: 显示器,屏幕终端 文件 程序的数据流: 输入流:<---标准输入(stdin),键盘 输出流:--->标准输出(stdo ...
- Linux 通配符和特殊符号
linux 通配符和特殊符号 一.通配符 符号 说明 * 代表『 0 个到无穷多个』任意字符 ? 代表『一定有一个』任意字符 [ ] 同样代表『一定有一个在括号内』的字符(非任意字符).例如 [abc ...
- Linux中的 “~” 和 “/”符号代表含义?
题目 Linux中的 "~" 和 "/"符号代表含义? 解析 首先对于root用户: "~" 表示的是root用户的目录,可以理解为每个用户 ...
- linux显示文件中特殊字符,Linux中的特殊符号与正则表达式
第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2 * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字. ...
- linux怎么输入特殊符号_如何在Linux上输入表情符号
linux怎么输入特殊符号 表情符号是隐藏在Unicode字符空间中的那些奇特的象形图. 它们在网上风靡一时,人们将它们用于各种令人惊讶的事情,从在社交媒体上表示React到充当重要文件名的可视标签. ...
- linux管道符、重定向与环境变量。
3.1 输入输出重定向 既然我们已经在上一章学完了几乎所有基础且常用的Linux命令,那么接下来的任务就是把多个Linux命令适当地组合到一起,使其协同工作,以便我们更加高效地处理数据.要做到这一点, ...
- linux管道符查看家目录,深入学习Linux之Linux中的管道符 | 和grep,awk,cut命令
学习Linux期间最常用三个命令和一个符号,管道符 | 和grep,awk,cut,并且它们几个经常一起使用,简直就是亲兄弟呀.所以我将他们单独整理 为了让大家更容易的看清楚示例,我将附上测试文件,文 ...
- linux下动态库符号表,Linux动态库(.so)符号表
最近编译libbinder.so发现system/lib/libbinder.so只有358K,但单独编译生成的obj/SHARED_LIBRARIES/libbinder_intermediates ...
最新文章
- Chrome反压缩JS代码:Pretty Print显示可读代码
- source insight(SI)使用教程
- JAVA做一个五星评论打分字体,java中的Font
- Docker及K8S使用碎碎记
- xp系统设置锁定计算机,教你XP电脑中有效的设置自动锁屏的方法
- javascript 事件冒泡和事件代理
- 机器人煮面机创始人_煮面机器人会是未来的「食神」吗?
- DotNetBar的使用—(Office2007界面风格)
- Termux安装SSH,下载linux系统
- 一个在线的文件密码破解网站( rar文件、zip文件、pdf文件、ppt文件、xls文件)
- qfiledialog保存时为文件名添加后缀
- 3d效果图设计师接私单的渠道介绍和避坑指南
- 涂抺mysql 李丙洋_涂抹
- C语言实现易语言变量框,【VC】发一个自己用c语言写的仿易语言的文本_取文本左边函数把...
- poj 2942 点双连通分量
- 菜鸟应用发布 全民跨入APP2.0时代
- 附着流程(Attach)
- d6.VUE基础20211229
- 详解redis的三种特殊数据类型
- RAD Studio 安装之后出现“配置系统未能初始化“