Thông thường, trong khi làm việc trên terminal Linux, bạn có thể muốn lưu đầu ra của lệnh vào một file. File này có thể được sử dụng làm thông tin cho một hoạt động khác hoặc để ghi nhật ký hoạt động của terminal. Dưới đây là 4 cách khác nhau trong đó để lưu nội dung terminal trong một file.
Các phương pháp sau đây có thể áp dụng trên tất cả những bản phân phối Linux và thậm chí có thể được sử dụng trên máy Mac và BSD. Điều duy nhất bạn phải cân nhắc là phương pháp nào tốt nhất để hoàn thành công việc.
1. Sử dụng toán tử chuyển hướng
Cách cơ bản và phổ biến nhất để chuyển hướng đầu ra từ terminal vào một file là sử dụng các toán tử > và >>. Chúng chuyển hướng đầu ra vào một file văn bản được chỉ định.
Toán tử > chuyển hướng đầu ra thành một file và ghi đè lên nội dung của file đó trong khi toán tử >> nối đầu ra vào cuối file. Đây là một ví dụ minh họa:
Đầu tiên tạo một file bằng cách sử dụng lệnh touch.
Bây giờ, một dòng được đưa vào “file1.txt” bằng cách sử dụng toán tử >. Có thể coi đây như việc bỏ kết quả đầu ra của lệnh echo vào “file1.txt”.
echo "first statement" > file1.txtMột dòng khác được đưa vào “file1.txt”.
echo "second statement" > file1.txtKhi xem nội dung của “file1.txt”, ta thấy rằng chỉ có dòng thứ hai được lưu trữ trong file. Điều này là do toán tử > ghi đè lên nội dung file hiện có.
Nếu muốn gắn thêm nội dung vào file, thì toán tử >> cần được chỉ định.
Nếu bạn chỉ muốn lưu lỗi, thay vào đó hãy sử dụng toán tử 2> và 2>>.
Nếu bạn quan tâm đến việc ghi nhật ký mọi thứ, hãy sử dụng &> và &>> để chuyển hướng tất cả đầu ra (bao gồm cả lỗi) vào file mà không hiển thị bất cứ điều gì trong terminal.
2. Sử dụng lệnh tee
Với các toán tử chuyển hướng được hiển thị ở trên, đầu ra của lệnh không được hiển thị trên màn hình. Nếu bạn muốn nó hiển thị đầu ra trên terminal và ghi vào một file, bạn có thể sử dụng lệnh tee.
<command> | tee -a <file_name>Biểu tượng | chuyển đầu ra của lệnh làm đầu vào cho tee, từ đó hiển thị đầu ra trên màn hình. Nếu switch -a được chỉ định, thì tee sẽ nối đầu ra đó vào file được chỉ định, nếu không, nó sẽ ghi đè lên nội dung của file đó.
Bạn cũng có thể sử dụng toán tử |& và lệnh tee để hiển thị mọi thứ và ghi nhật ký.
<command> |& tee -a <file_name>3. Sử dụng lệnh script
Với lệnh script, đầu ra của các lệnh được nhập sau nó sẽ tự động được ghi vào một file cho đến khi được nhắc dừng. Điều này có thể được ví như một phiên ghi lại hoạt động của terminal.
Đầu tiên, lệnh script được gọi với tên của file để lưu trữ hoạt động của terminal.
script <file_name>Một thông báo nhắc rằng script đã bắt đầu, sau đó các lệnh được gõ lần lượt - date, pwd, ls và cal.

Để chấm dứt, lệnh exit được gọi. Có một thông báo rằng hoạt động “script” đã hoàn thành. Xem nội dung của “script_log.txt” bằng cách sử dụng cat. Có thể thấy rằng nội dung của file giống như một bản sao chính xác của terminal.

Nhưng chỉ khi file này được xem trong shell bằng lệnh cat, ta mới có được thông tin hoàn toàn dễ hiểu. Vì vậy, hãy thử một phương án khác, lưu đầu ra của terminal trong “2-script_log.txt”.
Commandspwd và ls được nhập.
Không gõ exit, cửa sổ terminal được đóng lại. Khi xem nội dung của “2-script_log.txt”, thì bạn sẽ thấy nó trống.
Khi một phiên script được bắt đầu, nội dung của phiên đó được giữ lại trong bộ nhớ và chỉ được ghi vào file khi lệnh exit được gọi. Ở đây, vì exit không được gọi, nên nội dung của phiên đó không được lưu vào “2-script_log.txt”.
Hành vi ghi đè và nối thêm của script tương tự như các toán tử chuyển hướng và lệnh tee. Switch -a nối thêm nội dung của phiên vào file hiện có trước đó. Ở đây, đầu ra của lệnh echo được gắn vào “script_log.txt”.
Bạn có thể thấy đầu ra được lưu trước đó của các lệnh date, pwd, ls, cal, theo sau là timestamp (dấu thời gian); rồi đến thông tin về phiên tiếp theo (kết thúc với dấu thời gian).
4. Sử dụng lệnh logave
logave hoạt động tương tự như tee - nó hiển thị đầu ra trên màn hình và cũng lưu vào một file. Nó được sử dụng như dưới đây:
logsave <file_name> <command>logave ghi đầu ra của lệnh <command> vào file được chỉ định bởi <file_name>. Hãy xem kết quả đầu ra của “mylog_file.txt”.
Có rất nhiều thông tin được lưu trữ cùng với kết quả của một lệnh. Hai dấu thời gian được lưu trữ ở đây: Đầu tiên là thời điểm lệnh được bắt đầu và thứ hai là thời gian mà lệnh hoàn thành việc thực thi.
Đầu ra của nhiều lệnh có thể được thêm vào cùng một file khi switch -a được sử dụng với logave.
logsave -a <file_name> <command>Khi xem nội dung của mylog_file.txt, thì bạn sẽ thấy rằng đầu ra của hai lệnh đã nhập trước đó được phân định bởi một dòng.
 Học IT
 Học IT  
  
  
  
  
  
  
  
  
  
 
 Linux
 Linux 









 Công nghệ
 Công nghệ  Nền tảng Web
 Nền tảng Web  Microsoft Word 2013
 Microsoft Word 2013  Microsoft Word 2007
 Microsoft Word 2007  Microsoft Excel 2019
 Microsoft Excel 2019  Microsoft Excel 2016
 Microsoft Excel 2016  Microsoft PowerPoint 2019
 Microsoft PowerPoint 2019  Microsoft PowerPoint 2016
 Microsoft PowerPoint 2016  Google Sheets
 Google Sheets  Học Python
 Học Python  HTML
 HTML  Lập trình Scratch
 Lập trình Scratch  CSS và CSS3
 CSS và CSS3  Lập trình C
 Lập trình C  Lập trình C++
 Lập trình C++  Lập trình C#
 Lập trình C#  Học PHP
 Học PHP  Bootstrap
 Bootstrap  SQL Server
 SQL Server  JavaScript
 JavaScript  Unix/Linux
 Unix/Linux  Khoa học vui
 Khoa học vui  Khám phá khoa học
 Khám phá khoa học  Bí ẩn - Chuyện lạ
 Bí ẩn - Chuyện lạ  Sức khỏe
 Sức khỏe  Vũ trụ
 Vũ trụ  Khám phá thiên nhiên
 Khám phá thiên nhiên  Bảo vệ Môi trường
 Bảo vệ Môi trường  Phát minh Khoa học
 Phát minh Khoa học  Tết 2025
 Tết 2025  Video
 Video  Hướng dẫn
 Hướng dẫn  Công nghệ
 Công nghệ  Khoa học
 Khoa học  Ô tô, Xe máy
 Ô tô, Xe máy  Tổng hợp
 Tổng hợp