Khi bạn chạy một lệnh hoặc tập lệnh trong terminal Linux, nó sẽ in output trên màn hình để bạn xem ngay lập tức.

Sẽ có lúc bạn cần lưu kết quả output vào một file để tham khảo trong tương lai. Bây giờ, bạn chắc chắn có thể sao chép và dán trong terminal Linux nhưng có nhiều cách tốt hơn để lưu output của một tập lệnh hoặc lệnh shell trong dòng lệnh Linux. Để tôi cho bạn xem.

Phương pháp 1: Sử dụng chuyển hướng để lưu đầu ra lệnh vào tệp trong Linux

Bạn có thể sử dụng chuyển hướng trong Linux cho mục đích này . Với toán tử chuyển hướng, thay vì hiển thị đầu ra trên màn hình, nó sẽ chuyển đến file được cung cấp.

  • Dấu > chuyển hướng đầu ra lệnh đến một tệp thay thế bất kỳ nội dung hiện có nào trên tệp.
  • >> redirects thêm đầu ra lệnh vào cuối nội dung hiện có (nếu có) của file.

Sử dụng toán tử chuyển hướng STDOUT> để chuyển hướng đầu ra tới file như sau:

command > file.txt

Nếu file.txt không tồn tại, file sẽ được tạo tự động. Nếu bạn sử dụng lại > chuyển hướng với cùng một file, nội dung tệp sẽ được thay thế bằng output mới.

Nếu bạn không muốn mất nội dung của tệp hiện có trong khi lưu output của tập lệnh hoặc lệnh, hãy sử dụng thao tác chuyển hướng trong chế độ nối thêm với >>.

command >> file.txt

Ngay cả ở đây nếu tệp không tồn tại, nó sẽ được tạo tự động.

Nếu lệnh Linux của bạn trả về lỗi, nó sẽ không được lưu trong file. Bạn có thể lưu cả đầu ra lệnh và lỗi lệnh trong cùng một file bằng cách sử dụng 2> & 1 như sau:

command> file.txt 2> & 1


Về cơ bản, 0 là viết tắt của đầu vào tiêu chuẩn(standard input), 1 cho đầu ra tiêu chuẩn (standard output) và 2 cho lỗi tiêu chuẩn(standard error). Ở đây, bạn đang chuyển hướng (>) lỗi tiêu chuẩn (2) đến cùng một địa chỉ (&) như output tiêu chuẩn (1).

Phương pháp 2: Sử dụng lệnh tee để hiển thị output và lưu nó vào một file

Nhân tiện, bạn có nhận thấy rằng khi bạn gửi đầu ra lệnh đến một tệp, bạn không thể nhìn thấy nó nữa trên màn hình không? Lệnh tee trong Linux giải quyết vấn đề này cho bạn.

Giống như một tee pipeline gửi dòng nước thành hai hướng, lệnh tee gửi đầu ra đến màn hình cũng như đến một file (hoặc đầu vào cho một lệnh khác). Bạn có thể sử dụng nó như thế này:

command | tee file.txt

Một lần nữa, file sẽ được tạo tự động, nếu nó chưa tồn tại.

Bạn cũng có thể sử dụng lệnh tee trong chế độ append thêm với tùy chọn -a theo cách sau:

command | tee -a file.txt

Tôi đã sử dụng các lệnh Linux đơn giản trong các ví dụ của mình. Nhưng hãy yên tâm, bạn cũng có thể sử dụng các phương pháp này để lưu output của các tập lệnh bash.

Như mọi khi, các câu hỏi và góp ý từ bạn luôn được chào đón.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments