linux 重定向中的 &> 和 >的作用?

我知道0>1>2>的作用上面两个的作用呢?lsllllllllpage1.html&>log4.txtlspage1.html>log2.txtlsllllllllpag... 我知道 0>
1>
2>的作用
上面两个的作用呢?
ls llllllll page1.html &> log4.txt
ls page1.html > log2.txt
ls llllllll page1.html > log3.txt 2>&1

这几个 在你的例子里结果都一样阿,没区别阿
展开
 我来答
ennano
推荐于2016-07-25 · TA获得超过1744个赞
知道小有建树答主
回答量:813
采纳率:100%
帮助的人:288万
展开全部

linux重定向中&>和>&是一个意思,是“复制一个文件描述符”的意思。


一、linux重定向的设备代码


  1.   标准输入(stdin) 代码为 0 ,实际映射关系:/dev/stdin -> /proc/self/fd/0 

  2.   标准输出(stdout)代码为 1 , 实际映射关系:/dev/stdout -> /proc/self/fd/1

  3.  标准错误输出(stderr)代码为 2 ,实际映射关系: /dev/stderr ->/pro/self/fd/2

    举例:正常输出和错误信息都不显示,把标准输出和标准错误都重定向到/dev/null

 # ls 1>/dev/null 2>/dev/null


二、linux重定向的符号意义


    1.  > 和 < 分别代表重定向的方向,是从左到右还是从右到左

    2.  >> 和 << 代表追加,也就是不改变重定向目标文件原有的内容,追加在后面。

#举例: 将执行 "ls -lag" 命令的结果追加到文件 lee.dat 中
ls -lag >> lee.dat

    3.  >&n 使用系统调用 dup (2) 复制文件描述符 n 并把结果用作标准输出;


    4.  <&n 标准输入复制自文件描述符 n;

#举例: 让标准错误输出和标准输入一样都被存入到文件中
find /home -name lee* > all_lee 2>& 1

    5.  n<&- 表示将 n 号输入关闭
    6.  <&- 表示关闭标准输入(键盘)
    7.  n>&- 表示将 n 号输出关闭
    8.  >&- 表示将标准输出关闭

#举例: 关闭 1 ,2 文件描述符
ls test.sh test1.sh  1>&- 2>&-
华夏日长兴
2015-05-28 · TA获得超过9592个赞
知道大有可为答主
回答量:6305
采纳率:85%
帮助的人:3651万
展开全部
&> 等如 2>&1 , > 等如 1> ,那是缩写,
1 是 STDOUT, 2 是 STDERR, 2>&1 就是 STDOUT 和 STDERR
同导向到同一文件里, 例

nc10@your-5554c55be4 ~
$ ls llllllll
ls: 无法访问 llllllll: No such file or directory

nc10@your-5554c55be4 ~
$ ls llllllll 2> log.txt

nc10@your-5554c55be4 ~
$ ls page1.html > log2.txt

nc10@your-5554c55be4 ~
$ cat log.txt log2.txt
ls: 无法访问 llllllll: No such file or directory
page1.html

nc10@your-5554c55be4 ~
$ ls llllllll page1.html > log3.txt 2>&1

nc10@your-5554c55be4 ~
$ cat log3.txt
ls: 无法访问 llllllll: No such file or directory
page1.html

nc10@your-5554c55be4 ~
$ ls llllllll page1.html &> log4.txt

nc10@your-5554c55be4 ~
$ cat log4.txt
ls: 无法访问 llllllll: No such file or directory
page1.html

nc10@your-5554c55be4 ~
$
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
twfcc
推荐于2017-11-27 · TA获得超过722个赞
知道小有建树答主
回答量:415
采纳率:0%
帮助的人:502万
展开全部
&> 等如 2>&1 , > 等如 1> ,那是缩写,
1 是 STDOUT, 2 是 STDERR, 2>&1 就是 STDOUT 和 STDERR
同导向到同一文件里, 例

nc10@your-5554c55be4 ~
$ ls llllllll
ls: 无法访问 llllllll: No such file or directory

nc10@your-5554c55be4 ~
$ ls llllllll 2> log.txt

nc10@your-5554c55be4 ~
$ ls page1.html > log2.txt

nc10@your-5554c55be4 ~
$ cat log.txt log2.txt
ls: 无法访问 llllllll: No such file or directory
page1.html

nc10@your-5554c55be4 ~
$ ls llllllll page1.html > log3.txt 2>&1

nc10@your-5554c55be4 ~
$ cat log3.txt
ls: 无法访问 llllllll: No such file or directory
page1.html

nc10@your-5554c55be4 ~
$ ls llllllll page1.html &> log4.txt

nc10@your-5554c55be4 ~
$ cat log4.txt
ls: 无法访问 llllllll: No such file or directory
page1.html

nc10@your-5554c55be4 ~
$
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
abscondee_0117
2016-06-05
知道答主
回答量:2
采纳率:0%
帮助的人:1.9万
展开全部
"> 是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节);
>>这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响,另外你是感兴趣的话可以看下刘遄老师写的《Linux就该这么学》作为入门的书籍,觉得不错的话采纳下哦~
"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lumjstu
2009-06-01 · TA获得超过400个赞
知道小有建树答主
回答量:345
采纳率:0%
帮助的人:286万
展开全部
0> 重定向 标准输出
1> 没见过
2> 重定向 标准错误输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式