ls: zxl: No such file or directory
ls: l-l: No such file or directory
linglonghome
# ls zxl l-l linglonghome 1>/dev/null
ls: zxl: No such file or directory
ls: l-l: No such file or directory
# ls zxl l-l linglonghome 2>/dev/null
linglonghome
# ls zxl l-l linglonghome 1>/dev/null 2>/dev/null
# ls zxl l-l linglonghome &>/dev/null
# ls zxl l-l linglonghome >&/dev/null
#
命令执行静悄悄:
&>和>&重新定向"错误输出"和"标准输出"
我个人更喜欢用&>,因为这样可以将&理解为: &表示1和2
1. 2>&1 将标准错误重定向到标准输出
&1: &与1结合代表输出
2. 2>1 将标准错误重定向到文件1
3. ls xxx > tmp 2>&1 // 等价 (dos bat脚本只能用中重定向)
ls xxx &>tmp
&代表标准输出1和标准错误2
linux 重定向命令
-------------------------------------
> 文件 等如 1>,将命令的执行结果送至指定的文件中
>> 文件 将命令执行的结果附加到指定的文件中
>>& 文件 将命令执行时屏幕上所产生的任何信息附加到指定的文件中
&> 文件 等如 2>&1
>& 文件 将命令执行时屏幕上所产生的任何信息写入指定的文件中
>文件 2>& 将表征输出和标准错误都定向到同一个文件中
n<&- 表示将n号输入关闭
<&- 表示关闭标准输入(键盘)
n>&- 表示将n号输出关闭
>&- 表示将标准输出关闭
>! 文件 将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖
另外一个非常有用的重定向操作符是 "-",请看下面这个例子:
$ (cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xvfp -)
该命令表示把 /source/directory 目录下的所有文件通过压缩和解压,快速的全部移动到 /dest/directory 目录下去,这个命令在 /source/directory 和 /dest/directory 不处在同一个文件系统下时将显示出特别的优势。