• About
  • Advertise
  • Privacy & Policy
  • Contact
NQ NEWS
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
NQ NEWS
No Result
View All Result
Home Quản trị hệ thống Linux OS

Cách sử dụng lệnh Tee trong Linux

@admiz by @admiz
08/05/2021
in Linux OS, Quản trị hệ thống
0
Cách Sử Dụng Lệnh Tee Trong Linux 6094eecf88fd0.jpeg

Nếu đã từng sử dụng pipe và redirection trong Linux shell, đôi khi bạn cũng sẽ cần phải sử dụng tiện ích tee.

Tee giữ nhiệm vụ gì?

Một lệnh như ls sẽ hiển thị nội dung của thư mục hiện hành. Nói cách khác, nó hiển thị các nội dung này thành một stdout (standard output – đầu ra tiêu chuẩn), thường là màn hình của bạn, hoặc chính xác hơn là màn hình terminal ảo.

Một lệnh như ls > file123 sẽ không hiển thị gì trên màn hình. Đó là vì dấu > chuyển hướng tất cả đầu ra thành một file thay vì hiển thị nó thành stdout. Bây giờ file123 sẽ được lấp đầy bằng các nội dung được hiển thị trước đó trên màn hình.

Để hiển thị nội dung của thư mục trên màn hình và ghi nó vào một file, bạn phải sử dụng hai lệnh. Nhưng với tee, bạn có thể làm cả hai điều này cùng một lúc.

ls | tee file123

Tại sao nên sử dụng Tee khi bạn có thể chạy một lệnh tương tự hai lần?

Trong ví dụ trên, rõ ràng là bạn không cần tee nếu bạn có thể thực thi ls bình thường, sau đó thực hiện lại và chuyển hướng đầu ra thành một file. Tuy nhiên, bạn sẽ gặp các tình huống trong đó đầu ra là duy nhất. Hãy tưởng tượng tình huống bạn đang cố gắng chẩn đoán một vấn đề. Bạn chạy:

diagnose | tee error.log

Các lỗi bạn nhận được có thể là duy nhất. Bạn muốn chúng được hiển thị trên màn hình để bạn có thể thấy những gì đang diễn ra khi kiểm tra mọi thứ. Nhưng bạn cũng muốn những lỗi đó được lưu vào một file, để xem lại sau đó hoặc dán đầu ra vào một diễn đàn thảo luận và tham khảo ý kiến mọi người về nó.

Một tình huống khác thường gặp phải mà bạn có thể cần đến tee, đó là khi bạn muốn đưa đầu ra của lệnh đến một vị trí mà chỉ người dùng root mới có thể đọc hoặc ghi. Lệnh sau không hoạt động:

/sbin/blkid > /root/somefile

Sau đó, bạn có thể nghĩ, chỉ cần sử dụng sudo! Nhưng bạn sẽ ngạc nhiên khi lệnh này cũng không hoạt động:

sudo blkid > /root/somefile

Đó là vì sau khi sudo blkid thực thi, bạn vẫn đăng nhập với tư cách không phải là người dùng root. Và shell (thường là bash) cố gắng ghi vào /root/somefile với thông tin người dùng thông thường của bạn. Để giải quyết điều này, bạn có thể sử dụng tee:

/sbin/blkid | sudo tee /root/somefile

Nối văn bản và chuyển hướng lỗi

Tee là một lệnh hữu ích nhưng đơn giản. Một lệnh command | tee somefile cơ bản thường đủ dùng trong hầu hết mọi tình huống. Tuy nhiên, có 2 trường hợp mà bạn sẽ cần đến những lời khuyên này.

Điều đầu tiên cần biết là tee, theo mặc định, luôn ghi đè lên một file. Nếu bạn chạy:

ls | tee somefile

Rồi sau đó chạy:

ls /tmp | tee somefile

Lệnh thứ hai sẽ ghi đè lên nội dung của somefile và bạn sẽ chỉ thấy nội dung của lệnh cuối cùng được thực thi. Để thay đổi hành vi này, bạn có thể tạo văn bản nối thêm tee thay vì ghi đè. Để làm như vậy, chỉ cần sử dụng switch lệnh -a.

ls | tee -a somefile

Điều thứ hai cần biết là không phải tất cả đầu ra đều giống nhau. Các thông báo lỗi được xử lý khác nhau và mặc dù xuất hiện trên màn hình, nhưng chúng không được coi là stdout, mà được coi là stderr và không được tee xử lý. Sau đây là một ví dụ về grep.

grep -r L2TP /etc | tee somefile

Kết quả được hiển thị sẽ giống như hình ảnh sau đây:

Ví dụ về grep

Thông báo Permission denied được viết thành stderr. Điều duy nhất được viết thành stdout là phần văn bản được highlight. Đó là lý do tại sao bạn nhận thấy rằng nội dung của “somefile” là những gì được hiển thị trong hình ảnh dưới đây:

Nội dung của “somefile”

Trong trường hợp này, grep được sử dụng để tìm kiếm văn bản và rất hữu ích khi các thông báo lỗi không được chuyển hướng đến file. Các thông báo lỗi chỉ lấp đầy file với những thông tin không cần thiết. Bạn chỉ muốn xem kết quả tìm được. Nhưng khi bạn cần thông báo lỗi, hãy sử dụng 2>&1, để chuyển hướng stderr thành stdout.

grep -r L2TP /etc 2>&1 | tee somefile

Với lệnh này, bạn sẽ nhận thấy rằng somefile bây giờ cũng chứa các thông báo lỗi.

Hy vọng rằng, hướng dẫn này bao gồm mọi thứ bạn cần để tận dụng tối đa lệnh tee. Nhưng nếu bạn gặp phải tình huống khó xử lý nào đó với tee, hãy để lại ý kiến trong phần bình luận bên dưới để mọi người cùng chia sẻ.

Chúc bạn sử dụng lệnh tee thành công!

  • Tìm hiểu về môi trường desktop LXQt
  • Cách sử dụng lệnh “echo” trong Linux
  • Cách sử dụng lệnh Isof trên Linux
  • 11 lệnh df trong Linux (kèm ví dụ)
  • Cách sử dụng lệnh which trong Linux
  • Cách sử dụng lệnh vmstat trên Linux
Post Views: 134
Previous Post

Cách tạo GPG key trong Linux

Next Post

3 cách để nghe radio qua Ubuntu Terminal

Related Posts

Quicktime Player Logo650 1
macOS

Cách ghép video trên macOS bằng QuickTime Player

26/12/2021
Kali Linux 2021 4 700 1
Linux

Kali Linux 2021.4: Thêm 9 công cụ mới và hỗ trợ tốt hơn cho Apple M1

26/12/2021
Openbsd La Gi 1
Linux

OpenBSD là gì? Đây là mọi thứ bạn cần biết về hệ điều hành này!

26/12/2021
Mac Os Xoa Ung Dung Cai Dat Logo640 1
macOS

Cách gỡ, xóa ứng dụng trên Mac OS

26/12/2021
Tim Thu Vien Anh Photos Library Tren May Mac700 1
macOS

Hướng dẫn tìm thư viện ảnh Photos Library trên máy Mac

26/12/2021
So Sanh Macbook Pro Macbook Air Va Ipad Pro 1
macOS

So sánh MacBook Pro 13 inch với MacBook Air và iPad Pro

26/12/2021
Next Post
3 Cách để Nghe Radio Qua Ubuntu Terminal 6094eec8e4f41.jpeg

3 cách để nghe radio qua Ubuntu Terminal

Bài mới nhất

Dns Là Gì? Chức Năng, Cách Thức Hoạt động Và Nguyên Tắc Sử Dụng Hiệu Quả 612d236260cb2.jpeg

DNS là gì? Chức năng, cách thức hoạt động và nguyên tắc sử dụng hiệu quả

13/05/2025
Cpanel Là Gì Và Hướng Dẫn Sử Dụng Cpanel Hiệu Quả Cho Người Mới 612d235c02794.png

Cpanel là gì và hướng dẫn sử dụng Cpanel hiệu quả cho người mới

13/05/2025
Website Defacement Là Gì Và Cách Khắc Phục Hiệu Quả Cho Website 612d235622440.png

Website Defacement là gì và cách khắc phục hiệu quả cho website

12/05/2025
8 Cách Quản Lý Data Khách Hàng Hiệu Quả Cho Doanh Nghiệp 612d234c2b5ad.jpeg

8 cách quản lý data khách hàng hiệu quả cho doanh nghiệp

12/05/2025
Địa Chỉ Email Là Gì Và Cách để Tạo Lập địa Chỉ Mail Chuyên Nghiệp 612d23693d14c.jpeg

Địa chỉ email là gì và cách để tạo lập địa chỉ mail chuyên nghiệp

11/05/2025

Danh mục

  • Android
  • Bảo mật máy tính
  • Bảo mật, Antivirus
  • Chuyện công nghệ
  • Deep Learning
  • Development
  • Dịch vụ công trực tuyến
  • Dịch vụ nhà mạng
  • Giải pháp bảo mật
  • Hệ thống
  • Hệ thống
  • iPhone
  • Kiến thức bảo mật
  • Kiến thức cơ bản phổ thông
  • Kiến thức Marketing căn bản
  • Kiến thức tổng hợp
  • Lập trình
  • Linux
  • Linux OS
  • macOS
  • Mail Server
  • Mạng LAN – WAN
  • Máy ảo
  • Máy chủ
  • ms excel
  • ms-powerpoint
  • Nền tảng điện toán đám mây
  • Phần cứng
  • Phần Mềm
  • Quản trị hệ thống
  • Raspberry Pi
  • Sửa lỗi máy tính
  • Tăng tốc máy tính
  • Thủ thuật
  • Thủ thuật SEO
  • Thủ thuật Wifi
  • Tiện ích hệ thống
  • Tin học văn phòng
  • Tin tức
  • Uncategorized
  • Ứng dụng
  • Website
  • Windows Server 2012

Thẻ

#app #chatbot #chatbot tự động #CRM #Kiến thức cơ bản #Techblog #Thiết kế website Android apple CPU Email Marketing Google Google Drive hacker HTML hàm python hàm python có sẵn hình nền hình nền máy tính học css học python học SQL ios iphone iphone 12 iPhone X macos Microsoft mssql MS SQL Server ngôn ngữ lập trình python Raspberry Pi Samsung smartphone SQL SQL Server tham số trong C thủ thuật windows 10 tài liệu python windows windows 10 YouTube điện thoại thông minh ứng dụng
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2022 Pha Le Solution

No Result
View All Result
  • Home

© 2022 Pha Le Solution