NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
17/09/2024
Lượt xem

Lệnh which trong Linux là gì? Hướng dẫn sử dụng lệnh với 3 ví dụ chi tiết

17/09/2024
7 phút đọc
Lượt xem

Đánh giá

Nếu bạn thường xuyên làm việc với dòng lệnh Linux và gặp khó khăn trong việc tìm kiếm vị trí chính xác của lệnh mình muốn trong hệ thống, lệnh which sẽ giúp bạn giải quyết vấn đề này một cách nhanh chóng và hiệu quả. Trong bài viết này, Vietnix sẽ giúp bạn hiểu rõ hơn về chức năng và cách sử dụng của lệnh which trong Linux.

Lệnh which trong Linux là gì?

Lệnh which trong Linux là một công cụ giúp bạn tìm kiếm nhanh chóng vị trí của một lệnh bất kỳ trong hệ thống. Lệnh này hoạt động bằng cách tìm kiếm trong các thư mục được xác định bởi biến môi trường $PATH và trả về pathname đầy đủ của file thực hiện lệnh đó.

Lệnh which trong Linux
Lệnh which trong Linux

Lệnh which được xem là một dòng lệnh hữu ích và quan trọng khi sử dụng các tiến trình thực hiện lệnh trên hệ điều hành Linux. Bạn có thể bắt đầu ứng dụng thực hiện lệnh từ cú pháp cơ bản nhất trên các hệ điều hành dựa trên Linux với giao diện thân thiện như Ubuntu.

Ngoài ra, nếu như bạn là một người mới sử dụng hệ điều hành thì đừng quên tham khảo các câu lệnh trong Linux cơ bản để hiểu thêm chi tiết về cách chạy lệnh.

Cú pháp cơ bản của lệnh which

Lệnh which có cú pháp cơ bản như sau:

which [OPTION] filename ...

Lưu ý: Trong cú pháp trên, OPTION được đặt trong dấu ngoặc vuông có nghĩa nó là giá trị  không bắt buộc và ba dấu chấm sau tên file có nghĩa là nhiều tên file có thể được sử dụng cùng một lúc.

Sự khác nhau của lệnh which với lệnh whatis và lệnh whereis

  • Lệnh which: Được sử dụng để tìm kiếm và hiển thị đường dẫn của tệp thực thi nhị phân của lệnh trong các thư mục được liệt kê trong biến môi trường PATH. Người dùng sẽ được trả về đường dẫn đầu tiên được tìm thấy.

    • Lệnh whereis: Không chỉ tìm kiếm tệp nhị phân mà còn hiển thị cả tệp nguồn và tệp trang hướng dẫn (manual page). Dòng lệnh còn tìm kiếm trong các thư mục của PATH, MANPATH, và các thư mục hệ thống khác đã được định cấu hình.

    • Lệnh whatis: Chỉ hiển thị một dòng mô tả ngắn gọn về mục đích của lệnh hoặc chương trình, lấy thông tin từ các trang hướng dẫn của lệnh (manual page).

    Tùy chọn của lệnh which

    Lệnh which chỉ có một tùy chọn duy nhất là -a, dùng để in ra tất cả vị trí của mỗi lệnh. Bạn có thể tìm hiểu thêm về lệnh which bằng cách kiểm tra trang hướng dẫn (man page) bằng lệnh man theo cú pháp sau:

    man which

    Lưu ý: Các lệnh trong Linux và tùy chọn của chúng phân biệt chữ hoa và chữ thường, vì vậy bạn cần chú ý sử dụng chính xác.

    Có nhiều cách sử dụng lệnh which để tìm pathname của một lệnh cụ thể, sau đây là 3 ví dụ về cách sử dụng lệnh which:

    Ví dụ 1: Xác định vị trí của một dòng lệnh ngẫu nhiên trên hệ thống

    Giả sử, bạn muốn tìm vị trí của lệnh touch trên hệ thống Linux, hãy thực hiện theo các bước dưới đây:

    Bước 1: Bạn mở Ubuntu Terminal.

    Bước 2: Nhập lệnh sau vào command prompt và nhấn Enter:

    which touch
    Vị trí của lệnh touch đã được hiển thị
    Vị trí của lệnh touch đã được hiển thị

    Lưu ý: Lệnh which không hoạt động trên các lệnh Shell Built-in. Do đó, lệnh này sẽ không hiển thị bất kỳ output nào cho các lệnh Shell Built-in.

    Ví dụ 2: Xác định vị trí của nhiều dòng lệnh

    Bạn có thể dễ dàng tìm vị trí của nhiều lệnh đồng thời, chỉ cần cung cấp danh sách các lệnh đó sau lệnh which. Trong ví dụ này, bạn sẽ cần tìm vị trí của các lệnh date, touch và lệnh wget với lệnh như sau:

    which date touch wget
    Vị trí của các lệnh mong muốn đã được hiển thị
    Vị trí của các lệnh mong muốn đã được hiển thị

    Ví dụ 3: Liệt kê tất cả các vị trí có sẵn của một lệnh trên Linux

    Sử dụng lệnh which với tùy chọn -a, bạn có thể hiển thị tất cả các pathname của một lệnh. Giả sử, bạn muốn thấy tất cả các vị trí của lệnh touch, hãy thực hiện như sau:

    which -a touch
    Tất cả vị trí của lệnh touch đã được hiển thị
    Tất cả vị trí của lệnh touch đã được hiển thị

    Câu hỏi thường gặp

    Có thể sử dụng lệnh which để tìm kiếm thông tin về các lệnh được cài đặt trong các thư mục không chuẩn không?

    Câu trả lời là không. Việc tìm kiếm các thông tin trong các thư mục bằng lệnh which thông thường sẽ bị hạn chế. Thay vào đó bạn có thể sử dụng lệnh find chio quá trình thực hiện tìm kiếm của mình.

    Có thể sử dụng lệnh which để tìm kiếm thông tin về các lệnh được cài đặt từ các gói phần mềm khác không?

    Có thể. Bạn có thể tìm kiếm thông tin từ các gói cài đặt chứa lệnh bằng lệnh which với những hữu ích như tìm kiếm các lệnh liệt kê trong môi trường Bash, gói cài đặt phần mềm tiện lợi.

    Lời kết

    Bài viết trên đã hướng dẫn chi tiết 3 cách sử dụng phổ biến của lệnh which trong Linux. Việc ứng dụng tốt lệnh này sẽ giúp bạn tiết kiệm thời gian đáng kể, đồng thời tăng hiệu quả làm việc khi sử dụng hệ điều hành Linux. Nếu có bất kỳ thắc mắc nào, bạn hãy để lại bình luận ngay bên dưới, Vietnix sẽ hỗ trợ giải đáp nhanh nhất đến bạn. Cảm ơn bạn đã theo dõi bài viết!

    THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

    Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

    Chọn chủ đề :

    Hưng Nguyễn

    Co-Founder
    tại

    Kết nối với mình qua

    Kết nối với mình qua

    Theo dõi
    Thông báo của
    guest
    0 Comments
    Phản hồi nội tuyến
    Xem tất cả bình luận

    Tăng tốc độ website - Nâng tầm giá trị thương hiệu

    Tăng tốc tải trang

    95 điểm

    Nâng cao trải nghiệm người dùng

    Tăng 8% tỷ lệ chuyển đổi

    Thúc đẩy SEO, Google Ads hiệu quả

    Tăng tốc ngay

    SẢN PHẨM NỔI BẬT

    7 NGÀY DÙNG THỬ HOSTING

    NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

    Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

    ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
    Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
    ĐÓNG

    ĐĂNG KÝ DÙNG THỬ HOSTING

    7 NGÀY MIỄN PHÍ

    ĐĂNG KÝ DÙNG THỬ HOSTING

    7 NGÀY MIỄN PHÍ

    XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
    Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
    ĐÓNG