Lệnh lsof trên Linux là một lệnh đơn giản nhưng rất hữu ích, giúp bạn hiển thị danh sách các file đang được mở trên hệ thống. Hãy cùng mình tìm hiểu chi tiết về cách sử dụng lsof thông qua các ví dụ cụ thể dưới đây để khai thác hiệu quả các tính năng của lệnh này.
Những điểm chính
- Giải thích rõ ràng về lệnh lsof: Bạn sẽ được định nghĩa lệnh lsof một cách dễ hiểu, biết được mục đích sử dụng của lệnh này.
- Nắm được cú pháp và các tùy chọn phổ biến của lệnh lsof: Bạn sẽ biết cách sử dụng lệnh chính xác, linh hoạt.
- Khám phá 8 ví dụ thực tế về cách sử dụng lệnh lsof: Bạn sẽ hình dung và áp dụng lệnh lsof cho nhiều mục đích khác nhau.
- Vietnix – Cùng doanh nghiệp Việt chinh phục thành công
Lệnh lsof trong Linux là gì?
Lệnh lsof
(viết tắt của list open files) dùng để hiển thị danh sách các file đang mở, cho phép lọc theo người dùng, tiến trình hoặc thư mục cụ thể. Mỗi dòng trong kết quả đầu ra đại diện cho một file đang mở, và các cột hiển thị thông tin về file đó. Điều này giúp bạn dễ dàng quản lý tài nguyên, kiểm tra hoạt động của hệ thống và giải quyết các vấn đề liên quan đến file.
Cú pháp
Lệnh lsof
trong Linux có cú pháp khá đơn giản như sau:
lsof [OPTION]
Lưu ý
[OPTION]: Các tùy chọn bổ sung, cho phép bạn điều khiển cách thức hiển thị kết quả. OPTION được đặt trong dấu ngoặc vuông, nghĩa là bạn có thể sử dụng một hoặc nhiều tùy chọn cùng lúc.
Các tùy chọn của lệnh lsof trong Linux
Lệnh lsof
có khá nhiều tùy chọn. Dưới đây là một số tùy chọn hữu ích nhất. Ngoài ra, bạn có thể tham khảo thêm trong trang hướng dẫn (man page) của lệnh lsof
để khám phá đầy đủ hơn.
Tùy chọn | Mô tả |
---|---|
-u | Hiển thị danh sách các file đang mở bởi một người dùng cụ thể. |
-p | Hiển thị danh sách các file đang mở bởi một tiến trình cụ thể. |
-i | Hiển thị danh sách các file đang mở bởi các kết nối mạng. |
-R | Hiển thị danh sách các file đang mở bởi ID của tiến trình cha. |
Lưu ý
Các tùy chọn trong giao diện dòng lệnh (CLI) của Linux phân biệt chữ hoa chữ thường, vì vậy hãy cẩn thận khi sử dụng.
8 ví dụ thực tế về cách sử dụng lệnh lsof trên Linux
- Ví dụ 1: Liệt kê tất cả các file đang mở
- Ví dụ 2: Liệt kê các file đang mở của một người dùng cụ thể
- Ví dụ 3: Liệt kê các file đang mở của tất cả người dùng trừ một người cụ thể
- Ví dụ 4: Liệt kê các file đang mở bởi một ID tiến trình cụ thể
- Ví dụ 5: Liệt kê các file đang mở của tất cả tiến trình trừ một ID tiến trình cụ thể
- Ví dụ 6: Liệt kê danh sách các file đang mở bởi kết nối mạng
- Ví dụ 7: Liệt kê danh sách các file mở trong một thư mục cụ thể
- Ví dụ 8: Liệt kê danh sách các file mở bởi một ID tiến trình cha
Ví dụ 1: Liệt kê tất cả các file đang mở
Để xem danh sách tất cả các file đang mở, bạn chỉ cần sử dụng lệnh lsof
như sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Gõ lệnh sau và nhấn Enter.
lsof
Kết quả: Bạn sẽ thấy danh sách các file đang mở hiển thị trên màn hình.
Ví dụ 2: Liệt kê các file đang mở của một người dùng cụ thể
Để xem danh sách các file đang mở của một người dùng cụ thể, bạn sử dụng lệnh lsof
với tùy chọn -u
. Ví dụ, để xem file đang mở của người dùng có tên là nam, bạn làm theo các bước sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Gõ lệnh sau và nhấn Enter.
lsof -u nam
Kết quả: Trong hình bên dưới, bạn có thể thấy tất cả các file đang mở bởi người dùng nam sẽ được hiển thị.
Ví dụ 3: Liệt kê các file đang mở của tất cả người dùng trừ một người cụ thể
Để xem danh sách các file đang mở của tất cả người dùng, trừ một người dùng cụ thể, bạn sử dụng lệnh lsof
với tùy chọn -u
và dấu ^
. Ví dụ, để xem các file đang mở của tất cả người dùng trừ người dùng nam, bạn làm như sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Gõ lệnh sau và nhấn Enter.
lsof -u ^nam
Kết quả: Terminal sẽ hiển thị tất cả các file đang mở trừ các file của người dùng nam.
Ví dụ 4: Liệt kê các file đang mở bởi một ID tiến trình cụ thể
Để xem danh sách các file đang mở của một tiến trình (process) cụ thể, bạn sử dụng lsof với tùy chọn -p
cùng với ID của tiến trình. Ví dụ, để xem file đang mở của tiến trình có ID là 30, bạn làm như sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Gõ lệnh sau và nhấn Enter.
lsof -p 30
Kết quả: Trong hình bên dưới, bạn có thể thấy terminal sẽ liệt kê tất cả các file đang mở bởi tiến trình có ID là 30.
Ví dụ 5: Liệt kê các file đang mở của tất cả tiến trình trừ một ID tiến trình cụ thể
Để xem danh sách các file đang mở của tất cả các tiến trình, trừ một process ID (PID) cụ thể, ta có thể dùng lệnh lsof
như sau. Ở đây, chúng ta sẽ loại trừ PID 27:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Gõ lệnh sau và nhấn Enter.
lsof -p ^27
Kết quả: Trong hình bên dưới, bạn có thể thấy terminal hiển thị tất cả các file đang mở trừ các file của tiến trình có ID là 27.
Ví dụ 6: Liệt kê danh sách các file đang mở bởi kết nối mạng
Để hiển thị danh sách các file đang được mở bởi kết nối mạng, đặc biệt là giao thức TCP, bạn có thể sử dụng lệnh lsof
:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Gõ lệnh sau và nhấn Enter.
sudo lsof -i tcp
Kết quả: Danh sách các file đang được mở bởi kết nối mạng, cụ thể là các kết nối sử dụng giao thức TCP, sẽ được hiển thị.
Ví dụ 7: Liệt kê danh sách các file mở trong một thư mục cụ thể
Để hiển thị danh sách tất cả các file đang được mở trong một thư mục nào đó, chẳng hạn như thư mục nam, bạn có thể dùng lệnh lsof
:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Gõ lệnh sau và nhấn Enter.
lsof /home/nam
Kết quả: Lệnh sẽ hiển thị danh sách tất cả các file đang mở trong thư mục /home/nam.
Ví dụ 8: Liệt kê danh sách các file mở bởi một ID tiến trình cha
Để xem danh sách các file đang mở bởi các parent process (tiến trình cha), bạn dùng lệnh lsof
như sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Gõ lệnh sau và nhấn Enter.
lsof -R
Kết quả: Bạn sẽ thấy danh sách các file được mở bởi các parent process.
Vietnix – Cùng doanh nghiệp Việt chinh phục thành công
Thành lập từ năm 2012, Vietnix tự hào là một trong những đơn vị uy tín hàng đầu trong ngành công nghệ tại Việt Nam. Với cốt lõi lấy thành công của khách hàng làm mục tiêu phục vụ, Vietnix không ngừng cung cấp các giải pháp sáng tạo và tối ưu, hỗ trợ doanh nghiệp phát triển bền vững và đạt được những mục tiêu quan trọng.
Dịch vụ VPS AMD Vietnix được thiết kế để đáp ứng nhu cầu vận hành ổn định và phát triển bền vững của doanh nghiệp. VPS của Vietnix mang đến hiệu suất vượt trội cho các ứng dụng đòi hỏi tài nguyên mạnh mẽ nhờ tùy chọn đa dạng hệ điều hành và hiệu năng xử lý mạnh mẽ với CPU AMD EPYC, cùng tốc độ truy xuất dữ liệu nhanh gấp 10 lần bằng ổ cứng NVMe hiện đại. Đội ngũ kỹ thuật viên của Vietnix luôn sẵn sàng hỗ trợ 24/7, đảm bảo cung cấp dịch vụ đáng tin cậy và hiệu quả cho khách hàng.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Qua bài viết này, bạn đã được tìm hiểu về lệnh lsof trong Linux và cách sử dụng để quản lý các file đang mở trong hệ thống. Hy vọng bài viết sẽ giúp bạn tận dụng lệnh lsof để nâng cao kỹ năng quản trị hệ thống và giải quyết hiệu quả các vấn đề phát sinh trong quá trình sử dụng Linux.