我們知道在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 把標准錯誤重定向到一個文件中