Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh which
trong Linux để định vị đường dẫn của các file thực thi trên hệ thống của bạn. Lệnh which
là một công cụ hữu ích để nhanh chóng xác định vị trí của các lệnh, script và các file thực thi khác. Bạn sẽ khám phá cách sử dụng cơ bản của lệnh which
, cũng như một số kỹ thuật nâng cao để tìm các file thực thi, ngay cả khi chúng không nằm trong các thư mục hệ thống tiêu chuẩn.
Tìm hiểu Mục đích của Lệnh which
Trong bước này, bạn sẽ tìm hiểu về mục đích và cách sử dụng của lệnh which
trong Linux. Lệnh which
được sử dụng để định vị đường dẫn của các file thực thi trong hệ thống.
Đầu tiên, hãy thử chạy lệnh which
để tìm vị trí của lệnh ls
:
which ls
Ví dụ đầu ra:
/usr/bin/ls
Đầu ra cho thấy rằng lệnh ls
nằm ở đường dẫn /usr/bin/ls
. Lệnh which
tìm kiếm trong các thư mục được chỉ định trong biến môi trường PATH
để tìm file thực thi.
Bạn cũng có thể sử dụng lệnh which
để tìm vị trí của các lệnh khác, chẳng hạn như python
, git
hoặc nano
:
which python
which git
which nano
Ví dụ đầu ra:
/usr/bin/python3
/usr/bin/git
/usr/bin/nano
Lệnh which
rất hữu ích khi bạn cần biết vị trí chính xác của một file thực thi, đặc biệt khi bạn có nhiều phiên bản của cùng một lệnh được cài đặt trên hệ thống của bạn.
Định vị Đường dẫn của File Thực thi Sử dụng Lệnh which
Trong bước này, bạn sẽ học cách sử dụng lệnh which
để định vị đường dẫn của các file thực thi trên hệ thống của bạn.
Đầu tiên, hãy tạo một script đơn giản có tên là hello.sh
trong thư mục ~/project
:
cd ~/project
echo "#!/bin/bash" > hello.sh
echo "echo 'Hello, World!'" >> hello.sh
chmod +x hello.sh
Bây giờ, hãy sử dụng lệnh which
để tìm đường dẫn của script hello.sh
:
which hello.sh
Ví dụ đầu ra:
/home/labex/project/hello.sh
Đầu ra cho thấy rằng script hello.sh
nằm ở đường dẫn /home/labex/project/hello.sh
.
Bạn cũng có thể sử dụng lệnh which
để tìm đường dẫn của các file thực thi khác, chẳng hạn như các lệnh hệ thống hoặc các ứng dụng đã cài đặt. Ví dụ:
which python
which git
which nano
Ví dụ đầu ra:
/usr/bin/python3
/usr/bin/git
/usr/bin/nano
Lệnh which
là một công cụ hữu ích để nhanh chóng xác định vị trí của các file thực thi trên hệ thống của bạn.
Khám phá Cách sử dụng Nâng cao của Lệnh which
Trong bước cuối cùng này, bạn sẽ khám phá một số kịch bản sử dụng nâng cao của lệnh which
.
Một trường hợp sử dụng nâng cao là sử dụng lệnh which
để tìm sự xuất hiện đầu tiên của một file thực thi trong PATH
của bạn. Ví dụ: giả sử bạn có nhiều phiên bản của Python được cài đặt trên hệ thống của bạn và bạn muốn tìm phiên bản đầu tiên trong PATH
của bạn:
which python
Ví dụ đầu ra:
/usr/bin/python3
Lệnh which
sẽ trả về phiên bản đầu tiên của file thực thi python
mà nó tìm thấy trong PATH
của bạn.
Bạn cũng có thể sử dụng lệnh which
với tùy chọn -a
để liệt kê tất cả các lần xuất hiện của một file thực thi trong PATH
của bạn:
which -a python
Ví dụ đầu ra:
/usr/bin/python3
/usr/bin/python3.10
/usr/bin/python
Điều này có thể hữu ích khi bạn có nhiều phiên bản của cùng một lệnh được cài đặt và muốn xem tất cả các tùy chọn có sẵn.
Một cách sử dụng nâng cao khác là sử dụng lệnh which
để kiểm tra xem một lệnh có tồn tại trong PATH
của bạn hay không. Bạn có thể làm điều này bằng cách kiểm tra mã thoát của lệnh which
:
which non_existent_command
echo $?
Ví dụ đầu ra:
echo $?
1
Nếu lệnh không được tìm thấy trong PATH
của bạn, lệnh which
sẽ trả về mã thoát khác không, cho biết rằng lệnh không tồn tại.
Các kỹ thuật nâng cao này có thể hữu ích khi làm việc với các môi trường hệ thống phức tạp hoặc khi bạn cần khắc phục các sự cố liên quan đến vị trí file thực thi.
Tóm tắt
Trong lab này, bạn đã tìm hiểu về mục đích và cách sử dụng của lệnh which
trong Linux. Lệnh which
được sử dụng để định vị đường dẫn của các file thực thi trong hệ thống bằng cách tìm kiếm trong các thư mục được chỉ định trong biến môi trường PATH
. Bạn đã khám phá cách sử dụng lệnh which
để tìm vị trí của các lệnh khác nhau, chẳng hạn như ls
, python
, git
và nano
. Ngoài ra, bạn đã học cách sử dụng lệnh which
để định vị đường dẫn của một script tùy chỉnh mà bạn đã tạo, chứng minh tính hữu ích của nó trong việc xác định vị trí của các file thực thi trên hệ thống của bạn.