Bạn là một người dùng Ubuntu Linux và bash shell mới. Bạin cũng biết làm thế nào để chuyển hướng đầu ra từ màn hình vào một tập tin bằng cách sử dụng cú pháp sau:
cmd> file
ls> file
Tuy nhiên, một số lỗi thời gian được hiển thị trên màn hình. Làm thế nào để lưu trữ và chuyển hướng đầu ra từ màn hình máy tính cho một tập tin trên hệ thống Linux hoặc Unix?
Bash/ksh và shell hiện đại khác trên Linux có ba mô tả file:
stdin (0)
stdout (1)
stderr (2)
i) Cú pháp Để chuyển hướng tất cả các đầu ra vào file
Cú pháp như sau để chuyển hướng đầu ra (stdout) như sau:
command-name > output.txt
command-name > stdout.txt
ii) Cú pháp để chuyển hướng tất cả lỗi vào file
Cú pháp chuyển hướng lỗi (stderr) như sau:
command-name 2> errors.txt
command-name 2> stderr.txt
iii) Cú pháp để chuyển hướng cả hai đầu ra (stdout) và lỗi (stderr) vào các file khác nhau
The syntax:
command1 > out.txt 2> err.txt
command2 -f -z -y > out.txt 2> err.txt
The syntax is:
command1 > everything.txt 2>&1
command1 -arg > everything.txt 2>&1
v) Cú pháp chuyển hướng lỗi (stderr) vào null hoặc zero devices
Dữ liệu ghi vào một tập tin null hoặc zero special file được loại bỏ bởi hệ thống của bạn. Điều này rất hữu ích để bịt lỗi output (cũng được biết như là 'lỗi spam'):
command1 2> /dev/null
command1 2> /dev/zero
command2 -arg 2> /dev/null
command2 -arg 2> /dev/zero
The syntax is:
command1 |& tee log.txt
## or ##
command1 -arg |& tee log.txt
## or ##
command1 2>&1 | tee log.txt
Another usage:
#!/bin/bash
# My script to do blah ...
foo(){
:
} 2>&1 | tee foo.log
OR
#!/bin/bash
# My script to do blah ...
{
command1
command2
} 2>&1 | tee script.log
Nguồn: http://www.cyberciti.biz/faq/linux-redirect-error-output-to-file/
» Tin mới nhất:
» Các tin khác: