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. cogs 49. 跳马问题 DFS dp

    49. 跳马问题 ★   输入文件:horse.in   输出文件:horse.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] 有一只中国象棋中的 “ 马 ” ,在半张 ...

  2. P1551 亲戚 并查集

    P1551 亲戚 题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 题目描述 规定:x和y是亲戚,y和z是亲戚,那么 ...

  3. C# 中 ConfigureAwait 相关答疑FAQ

    C# 中 ConfigureAwait 相关答疑FAQ 在前段时间经常看到园子里有一些文章讨论到 ConfigureAwait,刚好今天在微软官方博客看到了 Stephen Toub 前不久的一篇答疑 ...

  4. 树形dp - 求树的直径

    随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好. 现在已经勘探确定了n个位置可 ...

  5. Window同一电脑配置多个git公钥

    前言 配置多个本地ssh-key之前,先初始化下GIt环境哦! 可以参照:https://www.cnblogs.com/poloyy/p/12185132.html 执行前两步就好啦 本地生成两个s ...

  6. Python思维导图(二)—— 数据类型

    ============================================== =========可点击图片, 放大查看更清晰哦!========= ===========有任何错误请及 ...

  7. Kaggle竞赛丨入门手写数字识别之KNN、CNN、降维

    引言 这段时间来,看了西瓜书.蓝皮书,各种机器学习算法都有所了解,但在实践方面却缺乏相应的锻炼.于是我决定通过Kaggle这个平台来提升一下自己的应用能力,培养自己的数据分析能力. 我个人的计划是先从 ...

  8. 高通量计算框架HTCondor(二)——环境配置

    目录 1. 概述 2. 安装 3. 结果 4. 相关 1. 概述 HTCondor是开源跨平台的分布式计算框架,在其官网上直接提供了源代码和Windows.Linux以及MacOS的安装包.因为平台限 ...

  9. octave在win上和linux上配置syms

    octave是类似matlab的一个科学计算工具集.需要用到积分.微分.求导的时候,需要连接python3的sympy. windows上先安装好python3,然后pip安装Sympy.具体过程: ...

  10. BOZJ-2590 优惠券

    BOZJ-2590 优惠券 题目: 约翰需要买更多的奶牛!交易市场上有n头奶牛等待出售,第ii头奶牛的原价是\(p_i\)元,使用优惠券之后,折扣价为\(c_i\)元.约翰有m元钱和k张优惠券.请问约 ...