Lẹnh whereis trong linux

Trong bài này chúng ta sẽ tìm hiểu công dụng của lệnh whereis trong Linux, đây là lệnh giúp bạn kiểm tra được nguồn gốc lưu trữ của một lệnh nào đó trên Linux.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm kiếm vị trí lưu trữ của các file nhị phân, nguồn gốc và công dụng của một lệnh khác bất kì trên Linux. Và sau đây chúng ta hãy xem một chút về cú pháp của nó đã nhé.

1. Cú pháp lệnh whereis trong Linux

Nếu bạn muốn sử dụng lệnh này thì phải tuân theo cú pháp như sau:

whereis [OPTIONS] COMMAND...

Trong đó OPTION là những tùy chọn mà chúng ta sẽ tìm hiểu ở phần 2, còn COMMAND chính là lệnh cần kiểm tra.

Bài viết này được đăng tại [free tuts .net]

Ví dụ dưới đây mình xem thông tin của lệnh bash.

Kết quả trả về như sau:

bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

Trong kết quả này thì:

  • bash là tên lệnh.
  • /bin/bash là đường dẫn đến file thực thi.
  • /etc/bash.bashrc là file nguồn.
  • /usr/share/man/man1/bash.1.gz là file man.

Nếu lệnh mà bạn muốn tìm không có trên hệ thống Linux thì nó chỉ trả về tên lệnh mà thôi.

2. Tìm nhiều lệnh với lệnh whereis trong linux

Bạn cũng có thể chạy lệnh whereis nhiều lần để kiểm tra cho nhiều lệnh khác nhau. Tuy nhiên, giải pháp tốt nhất là hãy đặt tất cả các lệnh đó bên trong một lệnh whereis duy nhất, sau đó ngăn cách chúng bằng khoảng trắng.

Ví dụ dưới đây mình kiểm tra cho hai lệnh netcatuptime.

Kết quả:

netcat: /bin/netcat /usr/share/man/man1/netcat.1.gz
uptime: /usr/bin/uptime /usr/share/man/man1/uptime.1.gz

3. Các tùy chọn khác của lệnh whereis trong Linux

Để hiển thị mỗi đường dẫn đến file thực thi thì ta sử dụng tùy chọn -p.

Kết quả:

Tuy nhiên, nếu bạn chỉ muốn xem vị trí lưu trữ của file thực thi thì nên sử dụng lệnh which sẽ tốt hơn.

Nếu chỉ muốn xem đường dẫn đến file nguồn thì sử dụng tùy chọn -s.

Nếu chỉ muốn lấy file man thì sử dụng tùy chọn -m.

Trên là cách sử dụng cơ bản của lệnh whereis trong linux. Đây là lệnh khá hữu ích, được các nhà quản trị server sử dụng để tham khảo các dòng lệnh trong Linux.

Lệnh whereis được sử dụng để xác định vị trí lưu trữ các binary file, source code, manual page của 1 chương trình [program] trên máy tính.

Cắt nghĩa một số thuật ngữ:

+ program: là chuỗi các chỉ lệnh nhằm chỉ ra những thao tác nào máy tính cần thực hiện trên 1 tập dữ liệu.

+ Source Code: là dạng nguyên thủy của program được viết bởi con người sử dụng 1 ngôn ngữ lập trình dưới hình thức plain-text [bao gồm ký tự số, chữ cái… mà con người có thể đọc và hiểu được].

+ binary file [hay excutable file]: là dạng có thể thực thi [ready to run] của program. Tức là khi bạn chạy các binary file nằm trên thiết bị lưu trữ [HDD, USB…] thì chúng được copy vào bộ nhớ [RAM…] để nội dung mà chúng mang [là các mã máy [machine code] chỉ gồm 1 và 0] có thể sử dụng ngay bởi CPU.

Program ở dạng Source Code muốn chạy được trên máy tính trước tiên phải được chuyển sang dạng binary, công việc này do trình biên dịch [compiler] thực hiện.

+ online manual page [hay manpage]: là tài liệu hướng dẫn sử dụng của program. Thường được xem bằng cách sử dụng lệnh man

1- Cú pháp cơ bản

whereis [option[s]] program_name[s]

Khi không có tùy chọn [option], whereis trả về đường dẫn tuyệt đối của binary file, source code, man page [nếu chúng tồn tại] cho program_name [hay tên lệnh].

whereis chấp nhận nhiều program_name cách nhau bởi khoảng trắng làm đối số, kết quả cho mỗi program_name nằm trên 1 dòng tách biệt.

whereis ls

2- Các tùy chọn

-b : tìm kiếm binary file

-m: tìm kiếm man page

-s: tìm kiếm source code

Bạn có thể kết hợp nhiều tùy chọn để giới hạn kết quả trả về. VD lệnh sau

whereis -bs whoami

Sẽ trả về vị trí binary file, source code của chương trình whoami [lệnh này cho biết user nào đang login]

3- Lưu ý

– Một số lệnh sẽ không có binary file nào được trả về bởi whereis, ví dự như alias, umask.
Lý do là vì không tồn tại binary file nào tương ứng với những lệnh này và chúng là các lệnh được tích hợp sẵn trong shell.

– Nếu binary file, source code hoặc man page tồn tại trên máy nhưng không được cài đặt vào các vị trí, thư mục chuẩn như

+ /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin cho các binary file

+ /usr/share/doc cho man page file

thì không có kết quả nào được trả về và whereis cũng không đưa ra bất kỳ thông báo lỗi nào!
Điều này là do whereis mặc định chỉ tìm kiếm các vị trí chuẩn tương ứng với mỗi program nhưng trong quá trình cài đặt bạn lại chọn cài program ở vị trí khác.

–manthang.

Bài Viết Liên Quan

Chủ Đề