Khi bạn chạy lệnh terminal, nó thường sẽ in kết quả đầu ra trong terminal để bạn có thể đọc nó ngay lập tức. Tuy nhiên, đôi khi bạn sẽ muốn lưu kết quả đầu ra để phân tích sau hoặc kết hợp với một công cụ khác.
Bạn có thể thực hiện việc này bằng cách sử dụng chuyển hướng đầu ra trên dòng lệnh. Tìm hiểu cách gửi đầu ra của lệnh tới file văn bản trên Windows, Mac và Linux.
Chuyển hướng đầu ra dòng lệnh sang một file
Có hai toán tử bạn có thể sử dụng để chuyển hướng đầu ra của lệnh sang file: >> và >. Điều quan trọng là bạn hiểu được sự khác biệt giữa hai toán tử này để tránh mất dữ liệu ngoài ý muốn.
Biểu tượng > tạo một file mới hoặc ghi đè lên file cũ nếu nó đã tồn tại. Toán tử >> cũng tạo một file mới nếu nó không tồn tại nhưng nó sẽ không ghi đè lên file hiện có. Nếu file đã tồn tại, nó sẽ thêm văn bản vào cuối file.
Để chuyển hướng đầu ra của lệnh tới một file, hãy nhập lệnh, sau đó chỉ định toán tử > hoặc >> và cuối cùng cung cấp đường dẫn đến file bạn muốn chuyển hướng đầu ra tới. Ví dụ, đây là cách bạn có thể lưu đầu ra từ lệnh ls, lệnh này liệt kê nội dung của một thư mục:
ls > /path/to/file
Thay thế /path/to/file bằng đường dẫn đầy đủ đến file bạn muốn sử dụng. Lệnh sẽ chạy âm thầm, lưu trữ kết quả đầu ra trong file bạn chỉ định.
Để xem nội dung của file trong terminal, bạn có thể sử dụng lệnh cat. Một lần nữa, thay thế /path/to/file bằng đường dẫn đầy đủ đến file bạn muốn xem.
cat /path/to/file
Bạn sẽ thấy đầu ra từ lệnh trong file mới của mình:
Toán tử > thay thế nội dung của file hiện có. Nếu bạn muốn lưu kết quả từ nhiều lệnh vào một file duy nhất, hãy sử dụng toán tử >> thay thế. Phần này sẽ thêm vào file, do đó bạn sẽ không mất bất kỳ kết quả đầu ra nào trước đó mà bạn đã lưu.
Ví dụ, hãy thử thêm thông tin hệ thống vào cuối file bạn vừa tạo. Chỉ cần chạy uname -a trên Linux/Mac - hoặc lệnh ver nếu bạn đang dùng Windows - và thêm toán tử >> cùng với đường dẫn đến file:
uname -a >> /path/to/file
Lặp lại quá trình này nhiều lần nếu bạn cần để tiếp tục thêm đầu ra lệnh vào cuối file.
Xuất đầu ra tới màn hình và chuyển hướng nó tới một file
Toán tử > và >> không hiển thị đầu ra của lệnh trên màn hình, chúng chỉ gửi nó đến một file. Nếu bạn muốn gửi đầu ra tới một file và xem nó trên màn hình, hãy sử dụng lệnh tee.
Để sử dụng lệnh tee, hãy gửi đầu ra từ một lệnh khác tới lệnh đó bằng cách sử dụng toán tử pipe, một thanh dọc (|). Ví dụ, đây là cách bạn có thể gửi đầu ra của lệnh ls tới tee bằng pipe:
ls | tee /path/to/output.txt
Lệnh tee sau đó gửi đầu ra đó tới cả màn hình và file bạn chỉ định. Thao tác này sẽ ghi đè lên file hoặc tạo một file mới nếu nó không tồn tại, giống như toán tử >.
Để sử dụng lệnh tee để in kết quả ra màn hình và nối nó vào cuối file, hãy thêm flag -a trước đường dẫn file, ví dụ:
uname -a | tee -a /path/to/output.txt
Bạn sẽ thấy lệnh xuất ra trên màn hình và bạn có thể sử dụng cat để xác minh rằng tee cũng đã thêm nó vào file: