Lệnh tee trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh tee trong Linux, cho phép bạn chuyển hướng đầu ra của một lệnh đồng thời đến cả một file và terminal. Lab này bao gồm mục đích và cú pháp của lệnh tee, cũng như các ví dụ thực tế về chuyển hướng đầu ra của lệnh và ghi thêm vào các file hiện có. Lệnh tee là một công cụ linh hoạt, đặc biệt hữu ích khi bạn muốn xem đầu ra của một lệnh đồng thời lưu nó vào một file để tham khảo trong tương lai.

Lab này cũng minh họa cách sử dụng tùy chọn -a để ghi thêm đầu ra vào một file hiện có thay vì ghi đè lên nó. Điều này có thể hữu ích khi bạn muốn xây dựng dần một log hoặc bản ghi các đầu ra lệnh theo thời gian.

Tìm hiểu Mục đích và Cú pháp của Lệnh tee

Trong bước này, bạn sẽ tìm hiểu về mục đích và cú pháp của lệnh tee trong Linux. Lệnh tee là một công cụ mạnh mẽ cho phép bạn chuyển hướng đầu ra của một lệnh đến cả một file và terminal cùng một lúc.

Cú pháp cơ bản của lệnh tee là:

tee [options] [file]

Ở đây, [options] có thể bao gồm:

  • -a: Ghi thêm đầu ra vào file được chỉ định thay vì ghi đè nó.
  • -i: Bỏ qua các tín hiệu ngắt.

Để hiểu mục đích của lệnh tee, hãy xem xét một ví dụ. Giả sử bạn muốn chạy một lệnh và lưu đầu ra của nó vào một file, đồng thời hiển thị đầu ra trong terminal. Bạn có thể sử dụng lệnh tee để đạt được điều này:

$ ls -l | tee output.txt
total 0
-rw-r--r-- 1 labex labex 0 Apr 12 12:34 output.txt

Trong ví dụ trên, đầu ra của lệnh ls -l được chuyển hướng đến cả file output.txt và terminal.

Ví dụ đầu ra:

total 0
-rw-r--r-- 1 labex labex 0 Apr 12 12:34 output.txt

Lệnh tee đặc biệt hữu ích khi bạn muốn xem đầu ra của một lệnh đồng thời lưu nó vào một file để tham khảo trong tương lai.

Chuyển hướng Đầu ra Lệnh đến File và Terminal

Trong bước này, bạn sẽ học cách sử dụng lệnh tee để chuyển hướng đầu ra của một lệnh đến cả file và terminal.

Hãy bắt đầu bằng cách tạo một file văn bản mẫu:

$ echo "This is a sample text file." > sample.txt

Bây giờ, hãy sử dụng lệnh tee để chuyển hướng đầu ra của lệnh cat đến cả terminal và một file mới:

$ cat sample.txt | tee output.txt
This is a sample text file.

Trong ví dụ trên, đầu ra của lệnh cat sample.txt được chuyển hướng đến cả file output.txt và terminal.

Ví dụ đầu ra:

This is a sample text file.

Bạn cũng có thể sử dụng tùy chọn -a để ghi thêm đầu ra vào một file hiện có thay vì ghi đè lên nó:

$ echo "Adding more content." | tee -a output.txt
Adding more content.

Bây giờ, hãy xác minh nội dung của file output.txt:

$ cat output.txt
This is a sample text file.
Adding more content.

Như bạn có thể thấy, đầu ra đã được ghi thêm vào file output.txt.

Ghi thêm Đầu ra vào một File Hiện có với tee

Trong bước này, bạn sẽ học cách sử dụng lệnh tee để ghi thêm đầu ra của một lệnh vào một file hiện có.

Hãy bắt đầu bằng cách tạo một file văn bản mẫu:

$ echo "This is the initial content." > sample.txt

Bây giờ, hãy sử dụng lệnh tee -a để ghi thêm đầu ra của lệnh echo vào file sample.txt:

$ echo "Appending more content." | tee -a sample.txt
Appending more content.

Tùy chọn -a cho lệnh tee biết để ghi thêm đầu ra vào file thay vì ghi đè nó.

Hãy xác minh nội dung của file sample.txt:

$ cat sample.txt
This is the initial content.
Appending more content.

Như bạn có thể thấy, nội dung mới đã được ghi thêm vào file hiện có.

Bạn cũng có thể sử dụng lệnh tee -a để ghi thêm đầu ra của một lệnh nhiều dòng vào một file:

$ cat <<EOF | tee -a sample.txt
> This is the first line.
> This is the second line.
> This is the third line.
> EOF
This is the first line.
This is the second line.
This is the third line.

Đầu ra của lệnh cat với here-document được ghi thêm vào file sample.txt.

Hãy xác minh lại nội dung của file sample.txt:

$ cat sample.txt
This is the initial content.
Appending more content.
This is the first line.
This is the second line.
This is the third line.

Nội dung mới đã được ghi thêm thành công vào file hiện có.

Tóm tắt

Trong lab này, bạn đã tìm hiểu về mục đích và cú pháp của lệnh tee trong Linux, cho phép bạn chuyển hướng đầu ra của một lệnh đến cả file và terminal đồng thời. Bạn cũng đã học cách sử dụng lệnh tee để chuyển hướng đầu ra đến một file và terminal, cũng như cách ghi thêm đầu ra vào một file hiện có thay vì ghi đè nó. Lệnh tee là một công cụ linh hoạt có thể đặc biệt hữu ích khi bạn cần xem đầu ra của một lệnh đồng thời lưu nó vào một file để tham khảo trong tương lai.

400+ câu lệnh phổ biến trong Linux