1. 重定向符号及含义

  注意:箭头流向即是数据的流向.

数字0:标准输入(standard input,简写stdin),数据从右往左方向流动
数字1:标准正确输出(standard output,简写stdout),数据从左往右流动
数字2:标准错误输出(standard error output,简写stderr),数据从左往右流动
>  或  1> 把正确的进行输出(标准输出),覆盖
>>  或  1>> 把正确的进行输出(标准输出),追加
2> 把错误的进行输出,覆盖
2>> 把错误的进行输出,追加
<  或  0< 一般通过文件来输入重定向,如tr命令使用较多(0一般省略不写)
<<  或  0<< 追加输入重定向,一般cat命令用的多,在shell脚本中(0一般省略不写)
&> 合并正确和错误输出,覆盖重定向
&>> 合并正确和错误输出,追加重定向
COMMAND > /path 2> /path2 正确或错误(标准输出和标准输入)输出至不同位置
COMMAND > /path 2> &1 把错误输出导入正确输出的文件中
COMMAND > /path 2>> &1 追加
&>/dev/null 正确和错误的都重定向到空
COMMAND > /dev/null 2>&1 定向到空(同上一个)

2. 特殊符号/通配符及含义

  通配符:通配符是bash的内置功能,其适用范围在命令行中的普通命令及脚本编程中,跟linux正则表达式有一些区别. 

  通配符的目的:bash中用于实现文件名"通配",通配符仅仅匹配字符. 

符号 含义
######路径位置
. 当前目录
.. 上一级目录
- 上一次所在目录
~ 用户家目录
######模糊匹配
* 匹配任意长度的任意字符
? 匹配任意单个字符,有且只有一个字符
! 取反(正则表达式中,不支持在grep中使用;在find/sed/awk中表示取反)
[] 匹配指定范围内(中括号内)的任意单个字符
[^] 匹配指定范围外(中括号之外)的任意单个字符(非)
[!] 取反,等价于[^]
######引号
'' 单引号,强引用,所见即所得,不会做解释
"" 双引号,弱引用,双引号中的变量或命令或转移字符会先被解释
`` 反引号,引用命令,解释命令(等价于 $() 或 ${} )
######其他特殊符号
\ 转义字符,还原原本的意义
; 多个命令之间的分隔符(-exec命令中,分号;代表bash的特殊意义)
|

管道COMMAND1 | COMMAND2 | COMMAND3| …后一个命令会将前一个

命令的标准输出,当做要执行的对象

$ 1)代表普通用户的提示符;  2)$(string)代表字符串变量内容
# 1)在文本中,前面加#代表行内容被注释;  2)超级管理员的提示符
{}

1)可以生成序列;  2)shell脚本编程中,用作引用变量,作为变量与普通字符的

分隔,让变量成为一个整体

3. 专用字符集合及其含义

  注意:专用字符在命令行中一般需加中括号[]括起来,所以,下表整理成对出现.

字符 含义
[[:alnum:]] 任意数字或字母,匹配大小写字母和数字,等价于字符类'[:alpha:]'与字符类'[:digit:]'的和
[[:alpha:]] 任意大小写字母,匹配大小写字母,等价于字符类'[:lower:]'和字符类'[:upper:]'的和
[[:blank:]] 空白字符类,包括:空格和制表符
[[:cntrl:]] 控制字符
[[:digit:]] [0-9]  中的任意数字
[[:graph:]] 图片和图形
[[:lower:]] [a-z]  任意小写字母
[[:print:]] 可打印字符,字符类'[:alnum:]'与字符类'[:punct:]'和空格的和
[[:punct:]] 任意标点符号
[[:space:]] 任意空格字符
[[:upper:]] [A-Z] 任意大写字母
[[:xdigit:]] 十六进制字符

4. bash中的逻辑运算符

  注意:

  1)逻辑运算符遵循从左往右的顺序进行运算,逻辑运算符&&和||是短路符号,符号左右两边的命令之间具有逻辑关系.

  2)联合使用 && 和 || 的时候,先判断 逻辑与 再判断 逻辑或

符号 含义

&&

(COMMAND1 && COMMAND2)

与运算and.COMMAND1执行成功,没有报错,COMMAND2才会执行;

若COMMAND1执行报错,则COMMAND2不会被执行.

判断命令执行是否成功的依据是echo $? ,若结果是0,

则是命令执行成功,若是其他数值,都是代表命令执行失败.

||

(COMMAND1 || COMMAND2)

或运算or.当COMMAND1执行成功,没有报错,COMMAND2不会被执行;

若COMMAND1执行报错,则COMMAND2会被执行

! 1)在bash中表示取反;  2)调用history最近历史命令

;

(COMMAND1;COMMAND2)

分号前面的命令出错也不影响后面的命令执行,即COMMAND 1;

COMMAND2都会被执行

&

(COMMAND1 & COMMAND2)

将命令放到后台去执行;如果&两边都是命令,则前面的命令会被放到后台执行,

后面的命令也会同时执行,这两者之间没有逻辑关系,命令是并行执行的.

linux中的特殊符号及其含义梳理的更多相关文章

  1. Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)

    case语句适用于需要进行多重分支的应用情况. case分支语句的格式如下: case $变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2        ;; *) 默认执行的命令序列  ...

  2. Linux中shell变量$0,$?等含义

    linux中shell变量$#,$@,$0,$1,$2的基本含义: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...

  3. Linux中一些目录名称的含义

    挖Linux中的古老缩略语[2005-06-22 15:23][Nigel McFarlane][TechTarget] Unix已经有35年历史了.许多人认为它开始于中世纪,这个中世纪是相对于计算机 ...

  4. Linux中删除特殊符号文件名文件

    Linux 系统下的文件名长度最多可到256个字符.通常情况下,文件名的字符包括:字母.数字.“.”(点).“_”(下划线)和“-”(连字符). Linux 允许在文件名中使用除上述符号之外的其它符号 ...

  5. 第十九章 Linux中常用字符的特殊含义

    一.引入 在Linux Shell中有很多的特殊符号,要知道这些特殊符号的用法,这些符号用好了可以达到事半功倍的效果. 二.常用符号 # ; ;; . , / \ 'string'| ! {} ? $ ...

  6. shell 中的特殊符号的含义

    来源:http://blog.sina.com.cn/s/blog_62a151be0100x9rn.html 第四章 基本功 - 特殊符号 学习撰写 script 最迅速的捷径是观摩别人的 scri ...

  7. Linux中的常用符号

    >, 1>     输出重定向符stdout,代码为1,重定向内容到文件,清除已有的内容,然后加入新内容,如果文件不存在还会创建文件 >>, 1>>   追加输出重 ...

  8. linux中[gcc -shared -fPIC]的含义

    linux在gcc编译时加上 -shared 参数时,目的是使源码编译成动态库 .so 文件: 而-fPIC的作用是 告知编译器 生成位置无关代码(编译产生的代码没有绝对位置,只有相对位置):从而可以 ...

  9. linux中$#,$0,$1,$2,$@,$*,$$,$?的含义

    $# 是传给脚本的参数个数$0 是脚本本身的文件名$1 是脚本后接的第一个参数$2 是脚本后接的第二个参数$@ 是传给脚本的所有参数列表,"$1" "$2" & ...

随机推荐

  1. Adobe Acrobat DC 安装

    Adobe Acrobat DC 制作pdf模板 下载:http://www.downza.cn/soft/20562.html 安装出错解决: 可以将C:\Program Files (x86)\C ...

  2. play framework 相关

    1.下载 官网下载解压,安装有jkd即可使用 2.helloworld $ activator new my-first-app play-java https://www.playframework ...

  3. vue拦截器

    1.在路由添加 meta:{ requireAuth:true } 完整 { path: '/xx', name: 'xx', component: xx, meta:{ requireAuth:tr ...

  4. lisp学习总结(二)-----lisp应该探索发展的方向

    现在流行一种语言叫做Clojure,他是lisp直接嫁接到java的结果,但是我就感觉这却成为lisp的失败. 因为lisp最强大最有优势的能力是构造抽象,构造设计思想,而不是运行期以确定的方式运行, ...

  5. Codeforces I Wanna Be the Guy 题解

    这道题非常简单,有两种做法: 1. 用一个数组标记是不是每个关卡小X或小Y都可以通过 2. 用set储存小X和小Y能够通过的关卡(set有去重功能),最后判断set的长度是否等于n 因为楼上已经有第一 ...

  6. SpringBoot初级知识总结,太难了,未完待续.......

    idea如何打包发布springboot 1.1.环境准备window系统,jdk8环境,springboot项目,maven3.5.4环境 1.2.进行打包发布 打开idea编辑器,打开一个写好的d ...

  7. java web 项目中基础技术

    1. 选择版本控制器(git, svn) 2. 用户登录的时候, 你需要进行认证, 权限受理 可以使用 spring shiro 框架,进行上面的工作 3. 过滤器(filter),监听器(liste ...

  8. Java错误:找不到类文件或者未加载主类

    使用java命令执行.class文件时,java只会查找环境变量CLASSPATH中的目录,并会不查找当前目录,所以只要把当前目录”."加入到CLASSPATH中就可以了.

  9. 找不到文件异常java.io.IOException: Resource [classpath:shiro.ini] could not be found.

    情景 tomcat启东时,老是报错,在classpath下找不到配置文件,但是配置文件已经放在resource目录下了 解决方案 出现该异常的原因,是因为新建的conf文件夹,识别不了,因为没有设置成 ...

  10. 【干货】零基础30分钟让你拥有一个完整属于自己的短视频APP系统

      目录 一.附言: 1 二.购买域名和购买服务器: 2 三.搭建服务器环境: 5 四.配置APP前端部分: 8 1.工具以及文件准备: 9 2.配置后端接口地址 11 3.配置APP启动图和启动图标 ...