ls phenix phenix1 >out.txt 2>&1
这个东西,挺绕的
实际上就是想把界面的输入重定向到一个文件中
一步一步来
1、当文件夹下面只有这两个东西时,我们做
ls phenix
会出现很多回显,就是ls的内容,也称之为标准输出
如果我输入 ls phenix1
由于没有phenix1这个文件夹,因此回显为,也称之为标准错误输出
2、如果我们不想看到这些回显,我们可以选择重定向:
ls phenix >1 这样就把标准输出重定向到1这个文件中了
查看1中的内容,确实是正常回显
但是我们这样可以么?
ls phenix1 >1
发现是不行的,说明1只可以接受标准输出,不可以接受标准错误输出
3、接受标准错误输出
ls phenix1 2>1
发现这样没有回显,而且1中是有标准错误输出的
但是这样一来,假如我的指令为
ls phenix phenix1
也就是既有标准输出,又有标准错误输出,那么如果
ls phenix phenix1 2>1
1中还是只有标准错误输出
4、将标准输出和标准错误输出重定向到一起
ls phenix phenix1> out.txt 2>&1
意思就是,标准输出文件是out.txt(>后面默认跟着标准输出)
然后&1的意思就是指向标准输出,&起到类似指针的作用,在这个例子中
&1就是out.txt。2>&1就是将标准错误输出,也重定向到out.txt中
看下结果: out.txt中既有标准输出,也有标准错误输出