重定向,常用转义字符

1.重定向

输出重定向:命令 -->文件:命令到文件
$命令 > 文件 :将命令执行的正确结果以文本形式覆盖到指定文件中;
$命令 >> 文件 :将命令执行的正确结果以文本形式追加到指定文件中;
$命令 2> 文件 :将命令执行的错误结果以文本形式覆盖到指定文件中;
$命令 2>> 文件 :将命令执行的错误结果以文本形式追加到指定文件中;
$命令 &>> 文件 :将正确(标准)输出与错误输出一起追加到指定文件中;
输入重定向:命令 <-- 文件 :文件到命令
$命令 < 文件 : 将文件的内容作为命令的标准输入;
$命令 << 分界符 :表示输入遇到分界符(字符/符号)停止;
注: > 表示输入; >>表示结束输入;
例:$ cat >ss.txt << eof : 从控制台输入字符串,当输入"eof"时结束输入,并把内容保存(覆盖)到文件ss.txt中。
$wc -l < /etc/passwd :将/etc/passwd的内容作为标准输入,并用wc命令统计该内容的行数。
总:
命令 <文件1> 文件2 : 将文件1中的内容作为命令的输入,将其执行结果 标准输出(覆盖)到文件2中。

2.常用转义字符


反斜杠(\):使反斜杠后面的一个“变量”变为单纯的字符串。
单引号(''):转义其中的变量和特殊字符,成为单纯的字符串。变量='命令'
双引号(""):保留其中的变量属性,不进行转义处理。忽略大多数字符,但$,\,,这三种特殊字符不会被忽略。<br/>反引号(``):把其中的'命令'执行后返回结果,命令`=$(命令),执行结果相同,但$(命令)格式受到POSIX标准支持,也利于嵌套。
其他:
*单引号,双引号都可以解决中间的空格问题。

  • $ :参数替换; ``:命令替换;
  • 反引号(命令=$(命令))执行:在执行一条命令时,会先将其中的`,或$()中的语句当做命令先执行一遍,再将结果加入到原命令中重新执行。<br/>例如:echols`
    会先执行ls命令得到的结果,再替换原命令为:echo 结果,最后执行的结果为'结果*'

猜你喜欢

转载自blog.51cto.com/13968655/2175530