我们知道在linux下当我们想把文字用命令输入到一个文本下时可以用echo命令
例:echo "nihao" >
/z.txt
同样当我们想把命令执行的结果也输入到一个文本时,不用echo,直接命令到输入的文本就行了
例:ls /home >
/z.txt
---------------------------------------------------------------------
附:
问:
比如我执行以下命令:
# myisamchk /var/lib/mysql/mysql/*.*
我想把该命令的屏幕输出保存为文件/lyw/error.txt,
因此我用以下命令:
# myisamchk /var/lib/mysql/mysql/*.* > /lyw/error.txt
结果是只能保存一部分屏幕输出内容,程序运行后的结果提示并不能
保存到/lyw/error.txt文件中,请问有何办法能让该命令执行的
结果全部保存到一个文件中?
# myisamchk /var/lib/mysql/mysql/*.*
我想把该命令的屏幕输出保存为文件/lyw/error.txt,
因此我用以下命令:
# myisamchk /var/lib/mysql/mysql/*.* > /lyw/error.txt
结果是只能保存一部分屏幕输出内容,程序运行后的结果提示并不能
保存到/lyw/error.txt文件中,请问有何办法能让该命令执行的
结果全部保存到一个文件中?
答:
# myisamchk
/var/lib/mysql/mysql/*.* > /lyw/error.txt 2>&1
问:
谢谢! 不过请问
"2>&1"是什么意思?为什么加上它就可以了?
答:
标准输入是文件描述符0
标准输出是文件描述符1
标准错误是文件描述符2
command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把标准错误重定向到一个文件中
标准输出是文件描述符1
标准错误是文件描述符2
command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把标准错误重定向到一个文件中