tar cvfz data.tar.gz data/dev/null
这组符号在规则表达式中 , 被定义为"边界"的意思 。譬如,当我们想找寻 the 这个单字时,如果我们用
grep the FileA
你将会发现 , 像 there 这类的单字,也会被当成是匹配的单字 。因为 the 正巧是 there的一部份 。如果我们要必免这种情况,就得加上 "边界" 的符号
grep '' FileA
在运算式中,她用来表示 "加法" 。
expr 1 + 2 + 3
此外在规则表达式中,用来表示"很多个"的前面字元的意思 。
# grep '10\+9' fileB109100910000910000931010009#这个符号在使用时,前面必须加上escape 字元 。
在运算式中 , 她用来表示 "减法" 。
expr 10 - 2
此外也是系统指令的选项符号 。
ls -expr 10 - 2
在 GNU 指令中,如果单独使用 - 符号,不加任何该加的文件名称时,代表"标准输入"的意思 。这是 GNU指令的共通选项 。譬如下例
tar xpvf -
这里的 - 符号,既代表从标准输入读取资料 。
不过 , 在 cd 指令中则比较特别
cd -
这代表变更工作目录到"上一次"工作目录 。
在运算式中,用来表示 "除法" 。
expr 10 % 2
此外 , 也被运用在关于变量的规则表达式当中的下列
{parameter%word} {parameter%%word}
一个 % 表示最短的 word 匹配,两个表示最长的 word 匹配 。
常在设定变数时看到的符号 。
vara=123echo " vara = $vara"
或者像是 PATH 的设定,甚至应用在运算或判断式等此类用途上 。
常在条件判断式中看到,代表 "等于" 的意思 。
if [ $vara == $varb ]
...下略
常在条件判断式中看到 , 代表 "不等于" 的意思 。
if [ $vara != $varb ]
...下略
这个符号在规则表达式中,代表行的 "开头" 位置,在[]中也与"!"(叹号)一样表示“非”
输出/输入重导向
文件描述符(File Descriptor),用一个数字(通常为0-9)来表示一个文件 。
常用的文件描述符如下:
文件描述符 名称 常用缩写 默认值
0 标准输入 stdin 键盘
1 标准输出 stdout 屏幕
2 标准错误输出 stderr 屏幕
我们在简单地用或时,相当于使用 0 或 1(下面会详细介绍) 。
把cmd命令的输出重定向到文件file中 。如果file已经存在,则清空原有文件,使用bash的noclobber选项可以防止复盖原有文件 。
把cmd命令的输出重定向到文件file中 , 如果file已经存在,则把信息加在原有文件後面 。
使cmd命令从file读入
从命令行读取输入 , 直到一个与text相同的行结束 。除非使用引号把输入括起来,此模式将对输入内容进行shell变量替换 。如果使用-,则会忽略接下来输入行首的tab,结束行也可以是一堆tab再加上一个与text相同的内容,可以参考後面的例子 。
把word(而不是文件word)和後面的换行作为输入提供给cmd 。
以读写模式把文件file重定向到输入,文件file不会被破坏 。仅当应用程序利用了这一特性时,它才是有意义的 。
功能同,但即便在设置了noclobber时也会复盖file文件,注意用的是|而非一些书中说的!,目前仅在csh中仍沿用!实现这一功能 。
cmd n 把输出送到文件描述符n
cmd mn 把输出到文件符m的信息重定向到文件描述符n
cmd - 关闭标准输出
cmd n 输入来自文件描述符n
cmd mn m来自文件描述各个n
cmd - 关闭标准输入
cmd n- 移动输入文件描述符n而非复制它 。
cmd n- 移动输出文件描述符 n而非复制它 。
注意: 实际上复制了文件描述符,这使得cmdfile 21与cmd 21 file的效果不一样 。
- 如何使用cmd命令行提示符登录mysql服务器 cmd中登陆mysql
- mysql创建数据表时指定字符集 mysql有符号创建
- redis linux安装包 linux下redis包
- redis 命令行操作 redis进入命令行
- redis 命令行启动 redis如何确认启动
- mysql命令行格式化输出 mysql修改显示格式化
- mongodb中如何嵌入文档 mongodb嵌入式linux使用
- mysql命令行操作大全 笔记本mysql命令
- redis删除数据命令 redis命令行删除可以
- mysql的注释表达方式 mysql注释符号
