Linux中的常用符号

  • >, 1>     输出重定向符stdout,代码为1,重定向内容到文件,清除已有的内容,然后加入新内容,如果文件不存在还会创建文件
  • >>, 1>>   追加输出重定向符,追加内容到文件
  • <, 0<   输入重定向符stdin,代码为0
  • <<, 0<<   追加输入重定向符
  • 2>   标准错误输出
  • 2>>   追加标准错误输出
  • |    管道符
  •    转义字符
  • . 或 ./    一个点号是当前目录;其它功能,正则,任意单个字符
  • .. 或 ../    两个点号是当前目录的上级目录
  • /  根目录,即Linux里所有目录的顶点,也就是路径分隔符
  • ;   命令分隔符
  • {}   生成字符或数字序列,类似seq,一般配合echo等命令使用,find里的{}的意思是其安米娜命令的结果
  • !    
    • 第一种,!字母,表示调出最近一次以此字母开头的命令;
    • 第二种,!! 表示使用最近一次操作;
    • 第三种,!数字,调出历史的第几条命令;
    • 第四种,取反的意思
  • ~   当前用户的家目录
  • -   用户上一次所在的目录,-由OLDPWD变量控制
  • &&  并且

重定向扩展:

  • > 或 1> 输出重定向:把前面输出的东西输入到后面的文件中,会清除文件原有内容。
  • >> 或 1>> 追加重定向:把前面输出的东西追加到后面的文件尾部,不会清除文件原有内容。
  • 0< 或 < 输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名。
  • 0<< 或<< 追加输入重定向:后跟字符串,用来表示“输入结束”,也可以用ctrl+d来结束输入
  • 2> 错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容。
  • 2>> 错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容。

说明:

  1. 箭头的指向就是数据的流向
  2. 数字说明:
  • 标准输入stdin:代码为0,使用 < 或 << 。数据流向从右向左
  • -标准正常输出stdout:代码为1,使用 > 或 >>。数据流向从左向右。
  • 标准错误输出stderr:代码为2,使用 2> 或 2>> 。
  • 2>&1 标准正常输出和标准错误输出一样,1放到哪,2就放到哪。
  • echo 'message' >info.txt 2>&1 (推荐写法,2>&1的写法相当于&>)
  • echo 'message' 1>info.txt 2>info.txt (傻瓜写法)
  • echo 'message' &>info.txt (和第一种写法等价)
[root@oldboy data]# echo 1 2 3 4 56 7,8 9 >oldboy.txt
[root@oldboy data]# cat oldboy.txt
1 2 3 4 56 7,8 9
[root@oldboy data]# xargs -n 2 <oldboy.txt
1 2
3 4
56 7,8
9
[root@oldboy data]# xargs -n 4 <oldboy.txt  # 输入重定向,将oldboy.txt中的内容交给xargs执行分组命令,按每行4个进行分组
1 2 3 4
56 7,8 9

&>文件名
这种用法表示 标准输出和标准错误输出的内容写入同一个文件,和echo 1234 1>info.txt 2>info.txt等价

[root@oldboy data]# echo 'right and wrong messages both print to the file' &>info.txt
[root@oldboy data]# cat info.txt
right and wrong messages both print to the file
原文地址:https://www.cnblogs.com/zoe233/p/11814233.html